Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS

Vizija storitve Amazon Search je strankam omogočiti iskanje brez truda. Naš popravek črkovanja vam pomaga najti, kar želite, tudi če ne poznate natančnega črkovanja želenih besed. V preteklosti smo za popravljanje črkovanja uporabljali algoritme klasičnega strojnega učenja (ML) z ročnim inženiringom funkcij. Da bi naredili naslednji generacijski preskok pri uspešnosti popravljanja črkovanja, sprejemamo številne pristope globokega učenja, vključno z modeli od zaporedja do zaporedja. Modeli globokega učenja (DL) so računalniško intenzivni tako pri usposabljanju kot pri sklepanju, zaradi teh stroškov pa so modeli DL v zgodovini postali nepraktični v produkcijskem okolju v Amazonovem obsegu. V tej objavi predstavljamo rezultate poskusov optimizacije sklepanja, kjer premagamo te ovire in dosežemo 534-odstotno pospešitev sklepanja za priljubljen transformator Hugging Face T5.

Izziv

Pretvornik za prenos besedila v besedilo (T5, Raziskovanje meja prenosnega učenja z enotnim transformatorjem od besedila do besedila, Reffel et al) je najsodobnejša arhitektura modela obdelave naravnega jezika (NLP). T5 je obetavna arhitektura za popravljanje črkovanja, za katero smo v naših poskusih ugotovili, da se dobro obnese. Modele T5 je enostavno raziskovati, razvijati in učiti, zahvaljujoč odprtokodnim okvirom globokega učenja ter stalnim akademskim in podjetniškim raziskavam.

Vendar pa je s T5 težko doseči sklepanje proizvodnega razreda z nizko zakasnitvijo. En sam sklep s PyTorch T5 na primer traja 45 milisekund na enem od štirih grafičnih procesorjev NVIDIA V100 Tensor Core, ki opremljajo instanco Amazon Elastic Compute Cloud (EC2) p3.8xlarge. (Vse sporočene sklepne številke so za vnos 9 žetonov in izhod 11 žetonov. Zakasnitev arhitektur T5 je občutljiva na dolžino vhoda in izhoda.)

Stroškovno učinkovito sklepanje T5 z nizko zakasnitvijo v velikem obsegu je znana težava, o kateri je poročalo več strank AWS zunaj iskanja Amazon, kar povečuje našo motivacijo, da prispevamo to objavo. Pri prehodu iz nespletnega znanstvenega dosežka v proizvodno storitev, usmerjeno v stranke, se Amazon Search sooča z naslednjimi izzivi:

  • Latenca – Kako realizirati sklepanje T5 v manj kot 50-milisekundni zakasnitvi P99
  • Pretočnost – Kako obravnavati obsežne sočasne zahteve po sklepanju
  • Stroškovna učinkovitost – Kako obdržati stroške pod nadzorom

V nadaljevanju te objave pojasnjujemo, kako se skladi optimizacija sklepanja NVIDIA – in sicer NVIDIA TensorRT prevajalnik in odprta koda NVIDIA Triton Inference Server– rešuje te izzive. Preberi Sporočilo za javnost NVIDIA če želite izvedeti več o posodobitvah.

NVIDIA TensorRT: Zmanjšanje stroškov in zakasnitve z optimizacijo sklepanja

Ogrodja globokega učenja so priročna za hitro ponavljanje znanosti in imajo številne funkcije za znanstveno modeliranje, nalaganje podatkov in optimizacijo usposabljanja. Vendar je večina teh orodij neoptimalnih za sklepanje, ki zahteva le minimalen nabor operatorjev za matrično množenje in aktivacijske funkcije. Zato je mogoče doseči znatne dobičke z uporabo specializirane aplikacije samo za napovedovanje namesto izvajanja sklepanja v razvojnem okviru globokega učenja.

NVIDIA TensorRT je SDK za visoko zmogljivo sklepanje o globokem učenju. TensorRT zagotavlja tako optimiziran čas izvajanja z uporabo nizkonivojskih optimiziranih jeder, ki so na voljo na grafičnih procesorjih NVIDIA, kot graf modela samo za sklepanje, ki preureja izračun sklepanja v optimiziranem vrstnem redu.

V naslednjem razdelku bomo govorili o podrobnostih, ki se dogajajo za TensorRT, in o tem, kako pospešuje delovanje.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

  1. Zmanjšana natančnost poveča prepustnost s FP16 ali INT8 s kvantiziranjem modelov ob ohranjanju pravilnosti.
  2. Fuzija plasti in tenzorjev optimizira uporabo pomnilnika GPU in pasovne širine s spajanjem vozlišč v jedru, da se izogne ​​zakasnitvi zagona jedra.
  3. Samodejna nastavitev jedra izbere najboljše podatkovne plasti in algoritme na podlagi ciljne platforme GPE in oblik podatkovnega jedra.
  4. Dinamični tenzorski pomnilnik zmanjša pomnilniški odtis tako, da sprosti nepotrebno porabo pomnilnika vmesnih rezultatov in učinkovito ponovno uporabi pomnilnik za tenzorje.
  5. Večtokovna izvedba uporablja razširljivo zasnovo za obdelavo več vhodnih tokov vzporedno z namenskimi tokovi CUDA.
  6. Time Fusion optimizira ponavljajoče se nevronske mreže v časovnih korakih z dinamično generiranimi jedri.

T5 uporablja transformatorske plasti kot gradnike za svoje arhitekture. Najnovejša izdaja NVIDIA TensorRT 8.2 uvaja nove optimizacije za modela T5 in GPT-2 za sklepanje v realnem času. V naslednji tabeli lahko vidimo pospešitev s TensorRT na nekaterih javnih modelih T5, ki se izvajajo na instancah Amazon EC2G4dn, ki jih poganjajo grafični procesorji NVIDIA T4, in primerki EC2 G5, ki jih poganjajo grafični procesorji NVIDIA A10G.

 

Model Primerek Osnovna zakasnitev Pytorch (ms) Zakasnitev TensorRT 8.2 (ms) Pospešitev v primerjavi z osnovno linijo HF
FP32 FP32 FP16 FP32 FP16
kodirnik Dekoder Konec koncev kodirnik Dekoder Konec koncev kodirnik Dekoder Konec koncev Konec koncev Konec koncev
t5-majhen g4dn.xgege 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-osnova g4dn.xgege 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%

Za več informacij o optimizacijah in replikaciji priložene zmogljivosti glejte Optimizacija T5 in GPT-2 za sklepanje v realnem času z NVIDIA TensorRT.

Pomembno je omeniti, da kompilacija ohranja natančnost modela, saj deluje na okolju sklepanja in razporejanju računanja, tako da znanost o modelu ostane nespremenjena – za razliko od stiskanja za odstranjevanje teže, kot je destilacija ali obrezovanje. NVIDIA TensorRT omogoča kombiniranje prevajanja s kvantizacijo za nadaljnje pridobitve. Kvantizacija ima pri nedavni strojni opremi NVIDIA dvojne prednosti: zmanjša porabo pomnilnika in omogoča uporabo tenzorskih jeder NVIDIA, celic, specifičnih za DL, ki poganjajo združeno matriko-množenje-dodajanje z mešano natančnostjo.

V primeru poskusov Amazon Search z modelom Hugging Face T5 zamenjava PyTorcha s TensorRT za sklepanje modela poveča hitrost za 534 %.

NVIDIA Triton: strežba sklepanja z nizko zakasnitvijo in visoko zmogljivostjo

Sodobne rešitve za strežbo modelov lahko preoblikujejo modele, usposobljene brez povezave, v izdelke, usmerjene v stranke, ki jih poganja ML. Da bi ohranili razumne stroške v takšnem obsegu, je pomembno ohraniti nizke stroške strežbe (ravnanje s HTTP, predprocesiranje in naknadno procesiranje, komunikacija CPE-GPE) in v celoti izkoristiti zmožnost vzporednega procesiranja GPE-jev.

NVIDIA Triton je programska oprema za sklepanje, ki ponuja široko podporo izvajalnim časom modela (med drugim NVIDIA TensorRT, ONNX, PyTorch, XGBoost) in infrastrukturnim zaledjem, vključno z grafičnimi procesorji, CPU in AWS Inferentia.

Strokovnjaki ML obožujejo Triton iz več razlogov. Njegova zmožnost dinamičnega pakiranja omogoča kopičenje zahtev za sklepanje med uporabniško določeno zakasnitvijo in znotraj največje uporabniško definirane velikosti paketa, tako da je sklepanje GPE paketno, kar amortizira stroške komunikacije CPU-GPU. Upoštevajte, da se dinamično pakiranje zgodi na strani strežnika in v zelo kratkih časovnih okvirih, tako da ima odjemalec, ki zahteva, še vedno sinhrono izkušnjo klicanja v skoraj realnem času. Uporabniki Tritona prav tako uživajo v zmogljivosti sočasnega izvajanja modelov. GPE-ji so zmogljive večopravilne naprave, ki se odlikujejo pri vzporednem izvajanju računalniško intenzivnih delovnih obremenitev. Triton poveča izkoriščenost GPU in prepustnost z uporabo tokov CUDA za hkratno izvajanje več primerkov modela. Ti primerki modela so lahko različni modeli iz različnih ogrodij za različne primere uporabe ali neposredna kopija istega modela. To pomeni neposredno izboljšanje prepustnosti, ko imate dovolj nedejavnega pomnilnika GPE. Poleg tega, ker Triton ni vezan na določen razvojni okvir DL, omogoča znanstvenikom, da se v celoti izrazijo v orodju po lastni izbiri.

S Tritonom na AWS pričakuje, da bo Amazon Search bolje služil Amazon.com stranke in izpolnijo zahteve glede zakasnitve po nizki ceni. Tesna integracija med izvajalnim okoljem TensorRT in strežnikom Triton olajša razvojno izkušnjo. Uporaba infrastrukture v oblaku AWS omogoča povečanje ali zmanjšanje v nekaj minutah glede na zahteve glede prepustnosti, hkrati pa ohranja visoko lestvico zanesljivosti in varnosti.

Kako AWS znižuje oviro za vstop

Medtem ko je Amazon Search izvedel ta poskus na infrastrukturi Amazon EC2, obstajajo druge storitve AWS, ki omogočajo razvoj, usposabljanje in gostovanje najsodobnejših rešitev za globoko učenje.

AWS in NVIDIA sta na primer sodelovala pri izdaji upravljane implementacije Triton Inference Server v Amazon SageMaker ; za več informacij glejte Namestite hiter in razširljiv AI s strežnikom NVIDIA Triton Inference Server v Amazon SageMaker. AWS je sodeloval tudi s Hugging Face pri razvoju upravljane, optimizirane integracije med Amazon SageMaker in Hugging Face Transformers, odprtokodnim okvirom, iz katerega izhaja model Amazon Search T5; preberite več na https://aws.amazon.com/machine-learning/hugging-face/.

Stranke z aplikacijami za globoko učenje CPE in GPE, ki so občutljive na zakasnitev, spodbujamo, naj razmislijo o NVIDIA TensorRT in Triton na AWS. Sporočite nam, kaj gradite!

Ste navdušeni nad globokim učenjem in ustvarjanjem rešitev, ki temeljijo na globokem učenju, za Amazon Search? Oglejte si naše stran kariere.


O avtorjih

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.RJ je inženir v ekipi Search M5, ki vodi prizadevanja za izgradnjo obsežnih sistemov globokega učenja za usposabljanje in sklepanje. Zunaj službe raziskuje različne kulinarike hrane in igra športe z loparjem.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Hemant Pugalija je uporabni znanstvenik pri Search M5. Dela na uporabi najnovejše obdelave naravnega jezika in raziskav globokega učenja za izboljšanje uporabniške izkušnje pri nakupovanju v Amazonu po vsem svetu. Njegovi raziskovalni interesi vključujejo obdelavo naravnega jezika in obsežne sisteme strojnega učenja. Izven službe se rad pohodi, kuha in bere.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Andy Sun je programski inženir in tehnični vodja za popravljanje črkovanja pri iskanju. Njegovi raziskovalni interesi vključujejo optimizacijo zakasnitve sklepanja pri globokem učenju in gradnjo platform za hitro eksperimentiranje. Zunaj dela uživa v filmskem ustvarjanju in akrobacijah.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Le Cai je programski inženir pri Amazon Search. Dela na izboljšanju delovanja popravljanja črkovanja pri iskanju, da bi strankam pomagal pri nakupovalni izkušnji. Osredotoča se na visoko zmogljivo spletno sklepanje in optimizacijo porazdeljenega usposabljanja za model globokega učenja. Izven službe se ukvarja s smučanjem, pohodništvom in kolesarjenjem.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Anthony Ko trenutno dela kot programski inženir pri Search M5 Palo Alto, CA. Dela na gradnji orodij in izdelkov za uvajanje modela in optimizacijo sklepanja. Zunaj dela uživa v kuhanju in igranju športov z loparjem.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Olivier Cruchant je strokovnjak za rešitve za strojno učenje pri AWS s sedežem v Franciji. Olivier pomaga strankam AWS – od majhnih novoustanovljenih podjetij do velikih podjetij – pri razvoju in uvajanju aplikacij za strojno učenje proizvodnega razreda. V prostem času rad bere raziskovalne naloge in s prijatelji in družino raziskuje divjino.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Anish Mohan je arhitekt strojnega učenja pri NVIDIA in tehnični vodja za sodelovanje ML in DL s svojimi strankami v širši regiji Seattla.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Jiahong Liu je arhitekt rešitve v skupini ponudnikov storitev v oblaku pri NVIDIA. Strankam pomaga pri sprejemanju rešitev strojnega učenja in umetne inteligence, ki izkoriščajo pospešeno računalništvo NVIDIA za reševanje njihovih izzivov pri usposabljanju in sklepanju. V prostem času uživa v origamiju, DIY projektih in igra košarko.

Kako Amazon Search doseže sklepanje T5 z nizko zakasnitvijo in visoko zmogljivostjo z NVIDIA Triton na AWS PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Eliuth Triana je vodja odnosov z razvijalci pri NVIDIA. Povezuje vodje izdelkov Amazon in AWS, razvijalce in znanstvenike s tehnologi in vodji izdelkov NVIDIA za pospešitev delovnih obremenitev Amazon ML/DL, izdelkov EC2 in storitev AI AWS. Poleg tega je Eliuth strasten gorski kolesar, smučar in igralec pokra.

Časovni žig:

Več od Strojno učenje AWS