Az Amazon termékkeresője több milliárd terméket indexel, vásárlók százmillióit szolgálja ki világszerte, és a világ egyik leggyakrabban használt szolgáltatása. Az Amazon Search csapata gépi tanulási (ML) technológiát fejleszt, amely a Amazon.com keresőmotor, és segít az ügyfeleknek könnyedén keresni. Nagyszerű vásárlói élmény biztosításához és az általa megkövetelt hatalmas léptékű működéshez Amazon.com keresőmotor, ez a csapat mindig keresi a módokat arra, hogy költséghatékonyabb rendszereket építsen fel valós idejű késleltetési és átviteli követelményekkel. A csapat folyamatosan vizsgálja a mély tanulásra optimalizált hardvert és fordítókat, hogy felgyorsítsa a modellképzést és a következtetést, miközben csökkenti a működési költségeket.
Ebben a bejegyzésben leírjuk, hogyan használja az Amazon Search AWS Inferentia, egy nagy teljesítményű gyorsító, amelyet az AWS épített fel, hogy felgyorsítsa a mély tanulási következtetések munkaterhelését. A csapat alacsony késleltetésű ML következtetést futtat a Transformer-alapú NLP-modellekkel AWS Inferentia alapú Amazon rugalmas számítási felhő (Amazon EC2) Inf1 példányok, és akár 85%-os infrastrukturális költségeket takarítanak meg, miközben megőrzik az erős átviteli és késleltetési teljesítményt.
Mély tanulás a duplikált és a lekérdezési szándék előrejelzéséhez
Az Amazon Marketplace keresése többfeladatos, multimodális probléma, amely számos bemenettel foglalkozik, például ASIN-ekkel (Amazon Standard Identification Number, egy 10 jegyű alfanumerikus szám, amely egyedileg azonosítja a termékeket), termékképekkel, szöveges leírásokkal és lekérdezésekkel. A személyre szabott felhasználói élmény megteremtése érdekében számos modellből származó előrejelzéseket használnak a keresés különböző aspektusaihoz. Ez kihívást jelent, mert a keresőrendszer több ezer modellt tartalmaz, amelyek csúcsterhelésnél több tízezer tranzakciót tesznek lehetővé másodpercenként (TPS). Ennek az élménynek két összetevőjére összpontosítunk:
- Az ügyfelek által észlelt ismétlődő előrejelzések – A felhasználó lekérdezésének megfelelő termékek legrelevánsabb listájának megjelenítéséhez fontos azonosítani azokat a termékeket, amelyeket a vásárlók nehezen tudnak megkülönböztetni
- Lekérdezési szándék előrejelzése – Ahhoz, hogy a keresőoldalt és a termékelrendezést jobban hozzáigazíthassuk ahhoz, amit az ügyfél keres, fontos előre jelezni a felhasználó lekérdezésének szándékát és típusát (például médiával kapcsolatos lekérdezés, súgólekérdezés és egyéb lekérdezéstípusok).
Mindkét előrejelzés Transformer modellarchitektúrák, nevezetesen BERT-alapú modellek felhasználásával készült. Valójában mindkettő ugyanazon a BERT-alapú modellen alapul, és mindegyik egy osztályozási/regressziós fejet halmozott fel ennek a gerincnek a tetejére.
A duplikált előrejelzés különböző szöveges jellemzőket vesz fel egy pár kiértékelt termékhez bemenetként (például terméktípus, cím, leírás stb.), és rendszeres időközönként számítódik ki nagy adatkészletek esetén. Ezt a modellt a végétől a végéig többfeladatos módon képezték ki. Amazon SageMaker feldolgozási munkák Ezeket a kötegelt munkaterheléseket rendszeresen futtatják, hogy automatizálják az indítást, és csak a felhasznált feldolgozási időért fizessenek. Ennél a kötegelt munkaterhelésnél a következtetési átviteli sebesség 8,800 teljes TPS volt.
A szándék előrejelzése a felhasználó szöveges lekérdezését veszi be, és valós időben szükséges a mindennapi forgalom dinamikus kiszolgálásához és a felhasználói élmény javításához az Amazon Marketplace-en. A modell egy többosztályos osztályozási célkitűzésre van kiképezve. Ezt a modellt ezután telepítik Amazon Elastic Container Service (Amazon ECS), amely lehetővé teszi a gyors automatikus méretezést és egyszerű telepítési meghatározás és kezelés. Mivel ez egy valós idejű használati eset, a P99 késleltetésének 10 ezredmásodperc alatt kellett lennie, hogy kellemes felhasználói élményt biztosítson.
Az AWS Inferentia és az AWS Neuron SDK
EC2 Inf1 példányok Az AWS Inferentia hajtja, az első ML-gyorsító, amelyet az AWS épített fel, hogy felgyorsítsa a mélytanulási következtetési munkaterheléseket. Az Inf1 példányok akár 2.3-szor nagyobb átviteli sebességet és akár 70%-kal alacsonyabb következtetésenkénti költséget biztosítanak, mint a hasonló GPU-alapú EC2 példányok. Folytathatja a modellek képzését a választott keretrendszerrel (PyTorch, TensorFlow, MXNet), majd egyszerűen telepítheti őket az AWS Inferentián, hogy kihasználhassa a beépített teljesítményoptimalizálás előnyeit. Az Inf1-példányok használatával modelltípusok széles skáláját telepítheti, a képfelismeréstől, az objektumészleléstől, a természetes nyelvi feldolgozástól (NLP) és a modern ajánlómodellektől kezdve.
AWS Neuron egy szoftverfejlesztő készlet (SDK), amely egy fordítóból, futásidejű és profilkészítő eszközökből áll, amelyek optimalizálják az EC2 Inf1 példányok ML következtetési teljesítményét. A Neuron natívan integrálva van olyan népszerű ML keretrendszerekkel, mint például a TensorFlow és a PyTorch. Ezért a mélytanulási modelleket telepítheti az AWS Inferentián ugyanazokkal az ismerős API-kkal, amelyeket a választott keretrendszer biztosít, és élvezheti a teljesítménynövekedést és a legalacsonyabb következtetésenkénti költséget a felhőben.
Bevezetése óta a Neuron SDK tovább növelte az általa támogatott modellek számát, miközben folyamatosan javítja a teljesítményt és csökkenti a következtetési költségeket. Ide tartoznak az NLP-modellek (BERT-ek), a képosztályozási modellek (ResNet, VGG) és az objektumészlelési modellek (OpenPose és SSD).
Telepítse az Inf1-példányokon az alacsony késleltetés, nagy átviteli sebesség és költségmegtakarítás érdekében
Az Amazon Search csapata költségeket akart megtakarítani, miközben teljesítette a duplikáció előrejelzésére vonatkozó magas átviteli követelményt és a lekérdezési szándék előrejelzésének alacsony késleltetési követelményét. Úgy döntöttek, hogy az AWS Inferentia alapú Inf1-példányokon telepítik, és nemcsak megfeleltek a magas teljesítménykövetelményeknek, hanem akár 85%-ot is megtakarítottak a következtetési költségeken.
Az ügyfelek által észlelt ismétlődő előrejelzések
Az Inf1 használata előtt egy dedikált Amazon EMR A fürt CPU-alapú példányok használatával futott. Anélkül, hogy a hardveres gyorsításra támaszkodtunk volna, nagyszámú példányra volt szükség ahhoz, hogy teljesítsük a magas, 8,800 tranzakció/másodperces átviteli sebességet. A csapat áttért az inf1.6xlarge példányokra, amelyek mindegyike 4 AWS Inferentia gyorsítóval és 16 NeuronCore-szal (4 mag AWS Inferentia chipenként) rendelkezik. Nyomon követték a Transformer-alapú modellt egyetlen NeuronCore számára, és NeuronCore-onként egy módot töltöttek be az átviteli sebesség maximalizálása érdekében. A 16 elérhető NeuronCore előnyeit kihasználva 85%-kal csökkentették a következtetési költségeket (a jelenlegi nyilvános Amazon EC2 on-demand árazás alapján).
Lekérdezési szándék előrejelzése
Tekintettel a 99 ezredmásodperces vagy annál rövidebb P10 késleltetési követelményre, a csapat minden elérhető NeuronCore-ba betöltötte a modellt az inf1.6xlarge példányokon. Ezt könnyedén megteheti a PyTorch Neuron segítségével a fáklya.neuron.DataParallel API. Az Inf1 telepítésével a modell késleltetése 3 ezredmásodperc volt, a végpontok közötti késleltetés körülbelül 10 ezredmásodperc volt, és a maximális átviteli sebesség csúcsterhelésnél elérte a 16,000 XNUMX TPS-t.
Kezdje el a minta-összeállítási és telepítési kóddal
Az alábbiakban néhány mintakód található, amelyek segítenek az Inf1-példányok használatának megkezdésében és a teljesítmény- és költségelőnyök felismerésében, mint például az Amazon Search csapata. Megmutatjuk, hogyan fordítsunk le és hajtsunk végre következtetést egy PyTorch-modell segítségével PyTorch Neuron.
Először a modellt állítják össze torch.neuron.trace()
:
A lehetséges érvek teljes listájáért a trace
módszer, lásd PyTorch-Neuron nyomkövetési Python API. Amint látod, fordítói argumentumok átadható a torch.neuron
API közvetlenül. Minden FP32 operátor átküldésre kerül BF16 with --fp32-cast=all
, amely a legnagyobb teljesítményt nyújtja a dinamikatartomány megőrzése mellett. További öntési lehetőségek állnak rendelkezésre, amelyek lehetővé teszik a teljesítmény szabályozását a precíziós kompromisszum modellezéséhez. A mindkét felhasználási esethez használt modelleket egyetlen NeuronCore-ra (1. sz csővezetékezés).
Ezután betöltjük a modellt az Inferentiára azzal torch.jit.load
, és használja azt előrejelzésre. A Neuron futási ideje automatikusan betölti a modellt a NeuronCores-ba.
Következtetés
Az Amazon Search csapata 85%-kal tudta csökkenteni következtetési költségeit az AWS Inferentia alapú Inf1 példányok használatával, nagy forgalom és szigorú teljesítménykövetelmények mellett. Az AWS Inferentia és a Neuron SDK rugalmasságot biztosított a csapatnak ahhoz, hogy a telepítési folyamatot a képzéstől elkülönítve optimalizálja, és egy sekély tanulási görbét hozzon létre a jól lekerekített eszközök és az ismerős keretrendszer API-k segítségével.
Feloldhatja a teljesítmény- és költségelőnyöket, ha elkezdi használni az ebben a bejegyzésben található mintakódot. Nézze meg a végétől a végéig oktatóanyagok ML modellek futtatásához az Inferentián azzal PyTorch és a TensorFlow.
A szerzőkről
João Moura AI/ML Specialist Solutions Architect az Amazon Web Servicesnél. Leginkább az NLP-használati esetekre összpontosít, és segít ügyfeleinek a mély tanulási modell képzésében és bevezetésében. Emellett aktív támogatója az ML-re specializált hardvereknek és az alacsony kódú ML-megoldásoknak.
Weiqi Zhang a Search M5 szoftvermérnöki menedzsere, ahol nagyméretű modellek gyártásával foglalkozik Amazon gépi tanulási alkalmazásaihoz. Érdeklődési köre az információkeresés és a gépi tanulási infrastruktúra.
Jason Carlson egy szoftvermérnök a gépi tanulási folyamatok fejlesztésével, hogy segítsen csökkenteni az ügyfelek által észlelt ismétlődések miatt ellopott keresési megjelenítések számát. Leginkább az Apache Spark-kal, az AWS-szel és a PyTorch-al dolgozik, hogy segítse az ML-modellek adatok üzembe helyezését és betáplálását/feldolgozását. Szabadidejében szeret olvasni és futni.
Shaohui Xi SDE a Search Query Understanding Infra csapatánál. Ő vezeti a nagyszabású mély tanulási online következtetési szolgáltatások kiépítését alacsony késleltetéssel és magas rendelkezésre állással. Munkán kívül szeret síelni és jó ételeket felfedezni.
Zhuoqi Zhang a Search Query Understanding Infra csapat szoftverfejlesztő mérnöke. Modellkiszolgáló keretrendszerek felépítésén dolgozik, hogy javítsa a késleltetést és az áteresztőképességet a mélytanulási online következtetési szolgáltatásokhoz. A munkán kívül szeret kosárlabdázni, snowboardozni és vezetni.
Haowei Sun a Search Query Understanding Infra csapat szoftvermérnöke. A mély tanulást támogató online következtetési szolgáltatásokat támogató API-k és infrastruktúra tervezésén dolgozik. Érdeklődési köre a szolgáltatási API tervezés, az infrastruktúra beállítása és a karbantartás. Munkán kívül szeret futni, túrázni és utazni.
Jaspreet Singh az M5 csapatának alkalmazott tudósa, ahol nagyszabású alapozási modelleken dolgozik, hogy javítsa az ügyfelek vásárlási élményét. Kutatási területe a többfeladatos tanulás, az információkeresés és a reprezentációs tanulás.
Shruti Koparkar az AWS vezető termékmarketing-menedzsere. Segít az ügyfeleknek az EC2 gyorsított számítási infrastruktúra felfedezésében, értékelésében és gépi tanulási igényeik kielégítésében.
- Haladó (300)
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon EC2
- Amazon gépi tanulás
- mesterséges intelligencia
- mesterséges intelligencia tanúsítás
- mesterséges intelligencia a bankszektorban
- mesterséges intelligencia robot
- mesterséges intelligencia robotok
- mesterséges intelligencia szoftver
- AWS Inferentia
- AWS gépi tanulás
- blockchain
- blokklánc konferencia ai
- coingenius
- Kiszámít
- társalgási mesterséges intelligencia
- kriptokonferencia ai
- dall's
- mély tanulás
- google azt
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet