Az Amazon Search víziója, hogy az ügyfelek könnyedén kereshessenek. Helyesírási javításunk segít megtalálni, amit keres, még akkor is, ha nem ismeri a kívánt szavak pontos helyesírását. Korábban klasszikus gépi tanulási (ML) algoritmusokat használtunk manuális funkciótervezéssel a helyesírás-javításhoz. A helyesírás-javítási teljesítményben a következő generációs ugrás megtétele érdekében számos mélytanulási megközelítést alkalmazunk, beleértve a sorozatról szekvenciára modelleket. A mélytanulási (DL) modellek számításigényesek mind a képzés, mind a következtetések tekintetében, és ezek a költségek a történelem során a DL-modelleket az Amazon méretű gyártási környezetében gyakorlatiassá tették. Ebben a bejegyzésben egy következtetésoptimalizálási kísérlet eredményeit mutatjuk be, ahol leküzdjük ezeket az akadályokat, és 534%-os következtetési sebességet érünk el a népszerű Hugging Face T5 Transformer esetében.
Kihívás
A szöveg-szöveg átviteli transzformátor (T5, Az átviteli tanulás korlátainak feltárása egységes szöveg-szöveg transzformátorral, Reffel et al) a legmodernebb természetes nyelvi feldolgozási (NLP) modellarchitektúra. A T5 ígéretes architektúra a helyesírás-javításhoz, amelyről azt találtuk, hogy kísérleteink során jól teljesít. A T5 modellek könnyen kutathatók, fejleszthetők és betaníthatók a nyílt forráskódú mélytanulási keretrendszereknek és a folyamatos tudományos és vállalati kutatásoknak köszönhetően.
A T5-tel azonban nehéz gyártási szintű, alacsony késleltetésű következtetést levonni. Például egy PyTorch T5-tel egyetlen következtetés 45 milliszekundumot vesz igénybe a négy NVIDIA V100 Tensor Core GPU egyikén, amelyek egy Amazon Elastic Compute Cloud (EC2) p3.8xlarge példányt tartalmaznak. (Az összes közölt következtetési szám 9 token bemenetére és 11 token kimenetére vonatkozik. A T5 architektúrák késleltetése érzékeny a bemeneti és a kimeneti hosszra egyaránt.)
Az alacsony késleltetésű, költséghatékony T5-következtetés egy ismert probléma, amelyről több AWS-ügyfél is beszámolt az Amazon Search-on kívül, ami növeli motivációnkat, hogy hozzájáruljunk ehhez a bejegyzéshez. Ahhoz, hogy az offline tudományos teljesítményből az ügyfelek felé irányuló termelési szolgáltatássá váljon, az Amazon Search a következő kihívásokkal néz szembe:
- Késleltetés – Hogyan valósíthatunk meg T5-következtetést 50 ezredmásodpercnél rövidebb P99-latencia alatt
- áteresztőképesség – Hogyan kell kezelni a nagyszabású egyidejű következtetési kéréseket
- Költséghatékonyság – Hogyan tartsuk ellenőrzés alatt a költségeket
A bejegyzés további részében elmagyarázzuk, hogyan működik az NVIDIA következtetésoptimalizáló verem – nevezetesen a NVIDIA TensorRT fordító és a nyílt forráskód NVIDIA Triton következtetés szerver– megoldja ezeket a kihívásokat. Olvas Az NVIDIA sajtóközleménye hogy tájékozódjon a frissítésekről.
NVIDIA TensorRT: Költségek és késleltetés csökkentése következtetésoptimalizálással
A mély tanulási keretrendszerek kényelmesek a tudományban való gyors iterációhoz, és számos funkcióval rendelkeznek a tudományos modellezéshez, az adatbetöltéshez és a képzés optimalizálásához. Azonban ezeknek az eszközöknek a többsége szuboptimális a következtetéshez, amihez csak minimális operátorkészletre van szükség a mátrixszorzáshoz és az aktiválási függvényekhez. Ezért jelentős előnyök érhetők el, ha egy speciális, csak előrejelzést biztosító alkalmazást használunk ahelyett, hogy következtetéseket futtatnánk a mély tanulási fejlesztési keretrendszerben.
Az NVIDIA TensorRT egy SDK a nagy teljesítményű mély tanulási következtetésekhez. A TensorRT optimalizált futási időt biztosít az NVIDIA GPU-kon elérhető alacsony szintű optimalizált kernelekkel, valamint egy csak következtetésre épülő modellgráfot, amely optimalizált sorrendbe rendezi át a következtetések számítását.
A következő részben a TensorRT mögött zajló részletekről és a teljesítmény gyorsításáról fogunk beszélni.
- Csökkentett pontosság maximalizálja az átviteli sebességet az FP16 vagy INT8 segítségével a modellek kvantálásával a helyesség megőrzése mellett.
- Réteg és tenzor fúzió optimalizálja a GPU-memória és a sávszélesség használatát azáltal, hogy a rendszermagban lévő csomópontokat egyesíti a kernelindítási késleltetés elkerülése érdekében.
- Kernel automatikus hangolása kiválasztja a legjobb adatrétegeket és algoritmusokat a cél GPU-platform és az adatmag-alakzatok alapján.
- Dinamikus tenzor memória minimalizálja a memóriaterületet azáltal, hogy felszabadítja a köztes eredmények felesleges memóriafelhasználását, és hatékonyan használja újra a memóriát a tenzorokhoz.
- Többfolyamos végrehajtás méretezhető kialakítást használ több bemeneti adatfolyam párhuzamos feldolgozásához a dedikált CUDA-folyamokkal.
- Time Fusion optimalizálja az ismétlődő neurális hálózatokat időbeli lépésekkel dinamikusan generált kernelekkel.
A T5 transzformátorrétegeket használ felépítései építőelemeiként. Az NVIDIA TensorRT 8.2 legújabb kiadása új optimalizálásokat vezet be a T5 és GPT-2 modellekhez a valós idejű következtetések érdekében. A következő táblázatban láthatjuk a TensorRT-vel végzett gyorsulást egyes nyilvános T5-modelleknél, amelyek Amazon EC2G4dn példányokon futnak, NVIDIA T4 GPU-kkal és EC2 G5 példányokkal, NVIDIA A10G GPU-kkal.
Modell | Példa | Kiindulási Pytorch késleltetés (ms) | TensorRT 8.2 késleltetés (ms) | Gyorsulás a HF alapvonalhoz képest | ||||||||
FP32 | FP32 | FP16 | FP32 | FP16 | ||||||||
Encoder | Decoder | Végtől végig | Encoder | Decoder | Végtől végig | Encoder | Decoder | Végtől végig | Végtől végig | Végtől végig | ||
t5-kicsi | g4dn.xlarge | 5.98 | 9.74 | 30.71 | 1.28 | 2.25 | 7.54 | 0.93 | 1.59 | 5.91 | 407.40% | 519.34% |
g5.xlarge | 4.63 | 7.56 | 24.22 | 0.61 | 1.05 | 3.99 | 0.47 | 0.80 | 3.19 | 606.66% | 760.01% | |
t5-alap | g4dn.xlarge | 11.61 | 19.05 | 78.44 | 3.18 | 5.45 | 19.59 | 3.15 | 2.96 | 13.76 | 400.48% | 569.97% |
g5.xlarge | 8.59 | 14.23 | 59.98 | 1.55 | 2.47 | 11.32 | 1.54 | 1.65 | 8.46 | 530.05% | 709.20% |
Az optimalizálással és a csatolt teljesítmény replikációjával kapcsolatos további információkért lásd: A T5 és GPT-2 optimalizálása valós idejű következtetésekhez az NVIDIA TensorRT segítségével.
Fontos megjegyezni, hogy az összeállítás megőrzi a modell pontosságát, mivel a következtetési környezeten és a számítási ütemezésen működik, így a modelltudomány változatlan marad – ellentétben a súlyeltávolítás tömörítésével, mint például a desztilláció vagy a metszés. Az NVIDIA TensorRT lehetővé teszi a fordítás és a kvantálás kombinálását a további előnyök érdekében. A kvantálásnak kettős előnye van a legújabb NVIDIA hardvereken: csökkenti a memóriahasználatot, és lehetővé teszi az NVIDIA Tensor Core-ok, a DL-specifikus cellák használatát, amelyek vegyes pontossággal futtatják az egyesített mátrix-szorzás-összeadást.
Az Amazon Search Hugging Face T5 modellel végzett kísérlete esetén a PyTorch lecserélése TensorRT-re a modellkövetkeztetés érdekében 534%-kal növeli a sebességet.
NVIDIA Triton: Alacsony késleltetésű, nagy áteresztőképességű következtetési szolgáltatás
A modern modellkiszolgáló megoldások az offline betanított modelleket vásárlói ML-alapú termékekké alakíthatják. Az ésszerű költségek ilyen mértékű fenntartása érdekében fontos, hogy alacsonyan tartsuk a kiszolgálási költségeket (HTTP-kezelés, elő- és utófeldolgozás, CPU-GPU kommunikáció), és teljes mértékben kihasználjuk a GPU-k párhuzamos feldolgozási képességét.
Az NVIDIA Triton egy következtetést kiszolgáló szoftver, amely széleskörű támogatást javasol a modellfutási környezetekhez (többek között NVIDIA TensorRT, ONNX, PyTorch, XGBoost) és infrastrukturális háttérrendszerekhez, beleértve a GPU-kat, CPU-kat és AWS Inferentia.
Az ML-gyakorlók több okból is szeretik a Tritont. Dinamikus kötegelési képessége lehetővé teszi a következtetési kérelmek felhalmozását egy felhasználó által meghatározott késleltetés alatt és a felhasználó által meghatározott maximális kötegméreten belül, így a GPU-következtetés kötegelt, a CPU-GPU kommunikációs többletterhelést amortizálva. Vegye figyelembe, hogy a dinamikus kötegelés szerveroldalon és nagyon rövid időkereteken belül történik, így a kérelmező ügyfél továbbra is szinkron, közel valós idejű hívási élményben van. A Triton felhasználók élvezhetik a párhuzamos modell-végrehajtási kapacitást is. A GPU-k nagy teljesítményű multitaskerek, amelyek kiválóan teljesítenek a számításigényes munkaterhelések párhuzamos végrehajtásában. A Triton maximalizálja a GPU kihasználtságát és átviteli sebességét a CUDA-folyamok használatával több modellpéldány egyidejű futtatásához. Ezek a modellpéldányok lehetnek különböző keretrendszerekből származó különböző modellek különböző használati esetekre, vagy ugyanazon modell közvetlen másolatai. Ez közvetlen átviteli sebességet jelent, ha elegendő tétlen GPU-memóriája van. Ezenkívül, mivel a Triton nincs egy konkrét DL-fejlesztési kerethez kötve, lehetővé teszi a tudósok számára, hogy teljes mértékben kifejezzék magukat, az általuk választott eszközzel.
Az AWS-en futó Tritonnal az Amazon Search jobb kiszolgálásra számít Amazon.com ügyfeleket, és alacsony költséggel teljesítik a késleltetési követelményeket. A TensorRT futtatókörnyezet és a Triton szerver közötti szoros integráció megkönnyíti a fejlesztési élményt. Az AWS felhőinfrastruktúra használatával percek alatt skálázható fel vagy csökkenhet az átviteli teljesítményigények alapján, miközben magasan tartja a lécet, illetve a megbízhatóságot és a biztonságot.
Hogyan csökkenti az AWS a belépési akadályt
Míg az Amazon Search ezt a kísérletet az Amazon EC2 infrastruktúrán végezte, más AWS-szolgáltatások is léteznek a legkorszerűbb mély tanulási megoldások fejlesztésének, képzésének és üzemeltetésének elősegítésére.
Például az AWS és az NVIDIA együttműködött a Triton Inference Server felügyelt megvalósításának kiadásában Amazon SageMaker ; további információkért lásd Telepítsen gyors és méretezhető mesterséges intelligenciát az NVIDIA Triton Inference Server segítségével az Amazon SageMakerben. Az AWS a Hugging Face-szel is együttműködött, hogy menedzselt, optimalizált integrációt dolgozzon ki az Amazon SageMaker és a Hugging Face Transformers között, amely nyílt forráskódú keretrendszer, amelyből az Amazon Search T5 modell származik. olvass tovább a címen https://aws.amazon.com/machine-learning/hugging-face/.
Arra biztatjuk az ügyfeleket, akik késleltetésre érzékeny CPU- és GPU-mély tanulást kiszolgáló alkalmazásokkal rendelkeznek, hogy fontolják meg az NVIDIA TensorRT és a Triton használatát az AWS-en. Tudassa velünk, mit épít!
Szenvedélyes a mély tanulás és a mély tanuláson alapuló megoldások készítése az Amazon Search számára? Nézze meg a mi karrier oldal.
A szerzőkről
RJ a Search M5 csapatának mérnöke, aki nagyszabású mély tanulási rendszerek kiépítésére irányuló erőfeszítéseket vezet a képzéshez és a következtetésekhez. A munkán kívül különféle ételeket fedez fel, és ütősportokat űz.
Hemant Pugaliya a Search M5 alkalmazott tudósa. A legújabb természetes nyelvi feldolgozási és mély tanulási kutatásokon dolgozik, hogy világszerte javítsa az Amazon-vásárlási élményt. Kutatási területe a természetes nyelvi feldolgozás és a nagyméretű gépi tanulási rendszerek. Munkán kívül szeret túrázni, főzni és olvasni.
Andy Sun szoftvermérnök és a keresési helyesírás-javítás műszaki vezetője. Kutatási területe a mély tanulási következtetési késleltetés optimalizálása és a gyors kísérleti platformok építése. A munkán kívül szeret filmezni és az akrobatikát.
Le Cai az Amazon Search szoftvermérnöke. A keresési helyesírás-javítási teljesítmény javításán dolgozik, hogy segítse az ügyfeleket a vásárlási élményben. A nagy teljesítményű online következtetésekre és a mély tanulási modell elosztott képzési optimalizálására összpontosít. Munkán kívül szeret síelni, túrázni és kerékpározni.
Anthony Ko jelenleg szoftvermérnökként dolgozik a Search M5-nél Palo Alto, CA. A modelltelepítéshez és a következtetések optimalizálásához szükséges eszközök és termékek létrehozásán dolgozik. A munkán kívül szeret főzni és ütősportolni.
Olivier Cruchant a franciaországi székhelyű AWS gépi tanulási specialista megoldások építésze. Az Olivier segít az AWS-ügyfeleknek – a kis startupoktól a nagyvállalatokig – éles szintű gépi tanulási alkalmazások fejlesztésében és üzembe helyezésében. Szabadidejében szívesen olvas kutatási cikkeket, és barátaival és családjával fedezi fel a vadonban.
Anish Mohan az NVIDIA gépi tanulási építészmérnöke, és a Seattle-i régióban az ML- és DL-kapcsolatok műszaki vezetője.
Jiahong Liu az NVIDIA Cloud Service Provider csapatának megoldástervezője. Segíti az ügyfeleket a gépi tanulási és mesterséges intelligencia-megoldások elfogadásában, amelyek az NVIDIA gyorsított számítástechnikáját használják ki a képzési és következtetési kihívások megoldására. Szabadidejében szereti az origamit, a barkácsprojekteket és a kosárlabdát.
Eliuth Triana az NVIDIA fejlesztői kapcsolatok menedzsere. Összeköti az Amazon és az AWS termékvezetőit, fejlesztőit és tudósait az NVIDIA technológusaival és termékvezetőivel, hogy felgyorsítsa az Amazon ML/DL munkaterhelését, az EC2-termékeket és az AWS AI-szolgáltatásokat. Emellett Eliuth szenvedélyes hegyikerékpáros, síelő és pókerjátékos.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/how-amazon-search-achieves-low-latency-high-throughput-t5-inference-with-nvidia-triton-on-aws/
- "
- 100
- 11
- 9
- Rólunk
- gyorsul
- felgyorsult
- mellett
- cím
- Előny
- AI
- AI szolgáltatások
- algoritmusok
- Minden termék
- amazon
- között
- Alkalmazás
- alkalmazások
- Alkalmazása
- építészet
- elérhető
- AWS
- Kosárlabda
- Előnyök
- BEST
- Épület
- Kapacitás
- esetek
- kihívások
- felhő
- felhő infrastruktúra
- közlés
- Kiszámít
- számítástechnika
- fogyasztás
- contribuer
- Kényelmes
- Mag
- kiadások
- Vásárlói élmény
- Ügyfelek
- dátum
- elszánt
- késleltetés
- szállít
- telepíteni
- bevetés
- Design
- Fejleszt
- Fejlesztő
- fejlesztők
- Fejlesztés
- különböző
- közvetlen
- megosztott
- diy
- kétszeresére
- le-
- dinamikus
- erőfeszítések
- ösztönzése
- mérnök
- Mérnöki
- Vállalkozás
- Környezet
- példa
- Excel
- végrehajtás
- elvárja
- tapasztalat
- kísérlet
- Arc
- arcok
- család
- GYORS
- Funkció
- következő
- élelmiszer
- Lábnyom
- talált
- Keretrendszer
- Franciaország
- GPU
- Kezelés
- hardver
- segít
- segít
- Magas
- Hogyan
- How To
- HTTPS
- végrehajtás
- fontos
- javul
- tartalmaz
- Beleértve
- információ
- Infrastruktúra
- integráció
- érdekek
- IT
- ismert
- nyelv
- nagy
- legutolsó
- indít
- vezet
- vezető
- TANUL
- tanulás
- Tőkeáttétel
- szerelem
- gép
- gépi tanulás
- fenntartása
- sikerült
- menedzser
- kézikönyv
- Mátrix
- Memory design
- vegyes
- ML
- modell
- modellek
- több
- a legtöbb
- MS
- Természetes
- hálózatok
- csomópontok
- szám
- számok
- számos
- online
- nyitva
- nyílt forráskódú
- optimalizálás
- érdekében
- Más
- teljesítmény
- emelvény
- Platformok
- játékos
- Népszerű
- erős
- be
- nyomja meg a
- folyamat
- Termékek
- Termelés
- Termékek
- projektek
- biztató
- nyilvános
- Olvasás
- real-time
- realizált
- ésszerű
- miatt
- csökkentő
- engedje
- követelmények
- kutatás
- REST
- Eredmények
- futás
- futás
- skálázható
- Skála
- Tudomány
- Tudós
- tudósok
- sdk
- Keresés
- biztonság
- szolgáltatás
- Szolgáltatások
- szolgáló
- készlet
- beállítás
- formák
- Bevásárlás
- rövid
- jelentős
- Méret
- kicsi
- So
- szoftver
- Software Engineer
- megoldások
- Megoldások
- specializált
- sebesség
- Sport
- Startups
- csúcs-
- támogatás
- Systems
- Beszél
- cél
- csapat
- Műszaki
- technológusok
- Bekötött
- idő
- tokenek
- szerszám
- szerszámok
- Képzések
- Átalakítás
- Frissítés
- us
- használ
- Felhasználók
- látomás
- Mit
- belül
- szavak
- Munka
- dolgozó
- művek
- világszerte