Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS

Amazon Searchs vision er at gøre det muligt for kunderne at søge ubesværet. Vores stavekorrektion hjælper dig med at finde det, du vil have, selvom du ikke kender den nøjagtige stavning af de tilsigtede ord. Tidligere brugte vi klassiske maskinlæringsalgoritmer (ML) med manuel funktionsteknik til stavningskorrektion. For at tage det næste generationsspring med hensyn til stavningskorrektion, omfavner vi en række dyb-læringstilgange, herunder sekvens-til-sekvens-modeller. Deep learning (DL)-modeller er computerintensive både med hensyn til træning og inferens, og disse omkostninger har historisk gjort DL-modeller upraktiske i et produktionsmiljø på Amazons skala. I dette indlæg præsenterer vi resultaterne af et inferensoptimeringseksperiment, hvor vi overvinder disse forhindringer og opnår 534 % inferenshastighed for den populære Hugging Face T5 Transformer.

Udfordring

Tekst-til-tekst-overførselstransformeren (T5, Udforsk grænserne for overførselslæring med en samlet tekst-til-tekst-transformer, Reffel et al) er den avancerede NLP-modelarkitektur (natural language processing). T5 er en lovende arkitektur til stavekorrektion, som vi fandt ud af at fungere godt i vores eksperimenter. T5-modeller er nemme at forske i, udvikle og træne, takket være open source-deep learning-rammer og løbende akademisk og virksomhedsforskning.

Det er dog vanskeligt at opnå produktionskvalitet, lav latens-slutning med en T5. For eksempel tager en enkelt slutning med en PyTorch T5 45 millisekunder på en af ​​de fire NVIDIA V100 Tensor Core GPU'er, der udstyrer en Amazon Elastic Compute Cloud (EC2) p3.8xlarge-instans. (Alle slutningstal, der rapporteres, er for et input på 9 tokens og output på 11 tokens. Latensen af ​​T5-arkitekturer er følsom over for både input- og outputlængder.)

Lav latens, omkostningseffektiv T5-slutning i stor skala er en kendt vanskelighed, der er blevet rapporteret af adskillige AWS-kunder ud over Amazon Search, hvilket øger vores motivation til at bidrage med dette indlæg. For at gå fra en offline, videnskabelig præstation til en kundevendt produktionstjeneste, står Amazon Search over for følgende udfordringer:

  • Latency – Sådan realiseres T5-inferens på mindre end 50 millisekunders P99-latens
  • gennemløb – Hvordan man håndterer store, samtidige slutningsanmodninger
  • Omkostningseffektivitet – Sådan holder du omkostningerne under kontrol

I resten af ​​dette indlæg forklarer vi, hvordan NVIDIA-inferensoptimeringen stables – nemlig NVIDIA TensorRT compiler og open source NVIDIA Triton Inference Server- løser disse udfordringer. Læs NVIDIAs pressemeddelelse for at lære om opdateringerne.

NVIDIA TensorRT: Reducerer omkostninger og latens med inferensoptimering

Deep learning-rammer er praktiske at gentage hurtigt på videnskaben og kommer med adskillige funktioner til videnskabelig modellering, dataindlæsning og træningsoptimering. Imidlertid er de fleste af disse værktøjer suboptimale til inferens, hvilket kun kræver et minimalt sæt af operatorer til matrixmultiplikation og aktiveringsfunktioner. Derfor kan der opnås betydelige gevinster ved at bruge en specialiseret, forudsigelig applikation i stedet for at køre slutninger i deep learning-udviklingsrammen.

NVIDIA TensorRT er et SDK til højtydende deep learning-inferens. TensorRT leverer både en optimeret runtime ved hjælp af optimerede kerner på lavt niveau, der er tilgængelige på NVIDIA GPU'er, og en inferens-kun modelgraf, som omarrangerer inferensberegning i en optimeret rækkefølge.

I det følgende afsnit vil vi tale om detaljerne bag TensorRT, og hvordan det fremskynder ydeevnen.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

  1. Reduceret præcision maksimerer gennemløbet med FP16 eller INT8 ved at kvantisere modeller og samtidig bevare korrektheden.
  2. Layer og Tensor Fusion optimerer brugen af ​​GPU-hukommelse og båndbredde ved at fusionere noder i en kerne for at undgå kernelanceringsforsinkelse.
  3. Kernel Auto-tuning vælger de bedste datalag og algoritmer baseret på mål-GPU-platformen og datakernens former.
  4. Dynamisk tensorhukommelse minimerer hukommelsesfodaftryk ved at frigøre unødvendigt hukommelsesforbrug for mellemresultater og genbruger hukommelse til tensorer effektivt.
  5. Multi-Stream udførelse bruger et skalerbart design til at behandle flere inputstrømme parallelt med dedikerede CUDA-strømme.
  6. Tidsfusion optimerer tilbagevendende neurale netværk over tidstrin med dynamisk genererede kerner.

T5 bruger transformerlag som byggesten til sine arkitekturer. Den seneste udgivelse af NVIDIA TensorRT 8.2 introducerer nye optimeringer til T5- og GPT-2-modellerne til realtidsslutning. I den følgende tabel kan vi se hastigheden med TensorRT på nogle offentlige T5-modeller, der kører på Amazon EC2G4dn-instanser, drevet af NVIDIA T4 GPU'er og EC2 G5-instanser, drevet af NVIDIA A10G GPU'er.

 

Model Instans Baseline Pytorch Latency (ms) TensorRT 8.2 latens (ms) Speedup vs. HF-baseline
FP32 FP32 FP16 FP32 FP16
Encoder Dekoder Ende til ende Encoder Dekoder Ende til ende Encoder Dekoder Ende til ende Ende til ende Ende til ende
t5-lille 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-base 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 %

For mere information om optimeringer og replikering af den vedhæftede ydeevne henvises til Optimering af T5 og GPT-2 til realtidsinferens med NVIDIA TensorRT.

Det er vigtigt at bemærke, at kompilering bevarer modellens nøjagtighed, da den fungerer på inferensmiljøet og beregningsplanlægningen, hvilket efterlader modelvidenskaben uændret – i modsætning til vægtfjernelseskomprimering såsom destillation eller beskæring. NVIDIA TensorRT giver mulighed for at kombinere kompilering med kvantisering for yderligere gevinster. Kvantisering har dobbelte fordele i forhold til nyere NVIDIA-hardware: det reducerer hukommelsesforbruget og muliggør brugen af ​​NVIDIA Tensor Cores, DL-specifikke celler, der kører en fusioneret matrix-multiply-add i blandet præcision.

I tilfældet med Amazon Search-eksperimenteringen med Hugging Face T5-modellen øges hastigheden med 534 % ved at erstatte PyTorch med TensorRT til modelslutning.

NVIDIA Triton: Lav latens, high-throughput inferensservering

Moderne modelserveringsløsninger kan transformere offline trænede modeller til kundevendte ML-drevne produkter. For at opretholde rimelige omkostninger i en sådan skala er det vigtigt at holde betjeningen lav (HTTP-håndtering, forbehandling og efterbehandling, CPU-GPU-kommunikation) og fuldt ud at drage fordel af GPU'ernes parallelle behandlingsevne.

NVIDIA Triton er en inferensserveringssoftware, der foreslår bred understøttelse af modelkørselstider (NVIDIA TensorRT, ONNX, PyTorch, XGBoost blandt andre) og infrastruktur-backends, inklusive GPU'er, CPU og AWS Inferentia.

ML-udøvere elsker Triton af flere årsager. Dens dynamiske batching-evne gør det muligt at akkumulere slutningsanmodninger under en brugerdefineret forsinkelse og inden for en maksimal brugerdefineret batchstørrelse, således at GPU-inferensen er batchet, hvilket amortiserer CPU-GPU-kommunikationsomkostningerne. Bemærk, at dynamisk batching sker på serversiden og inden for meget korte tidsrammer, så den anmodende klient stadig har en synkron, næsten-real-tids invokationsoplevelse. Triton-brugere nyder også godt af dens samtidige modeludførelseskapacitet. GPU'er er kraftfulde multitaskere, der udmærker sig ved at udføre computerintensive arbejdsbelastninger parallelt. Triton maksimerer GPU-udnyttelsen og gennemløbet ved at bruge CUDA-streams til at køre flere modelforekomster samtidigt. Disse modelforekomster kan være forskellige modeller fra forskellige rammer til forskellige use cases, eller en direkte kopi af den samme model. Dette oversættes til direkte kapacitetsforbedring, når du har nok ledig GPU-hukommelse. Da Triton ikke er bundet til en specifik DL-udviklingsramme, giver den forskeren mulighed for fuldt ud at udtrykke sig selv i det værktøj, de selv vælger.

Med Triton på AWS forventer Amazon Search at tjene bedre Amazon.com kunder og opfylde forsinkelseskrav til lave omkostninger. Den tætte integration mellem TensorRT runtime og Triton-serveren letter udviklingsoplevelsen. Brug af AWS cloud-infrastruktur gør det muligt at skalere op eller ned på få minutter baseret på gennemløbskrav, samtidig med at barren opretholdes højt eller pålidelighed og sikkerhed.

Hvordan AWS sænker adgangsbarrieren

Mens Amazon Search udførte dette eksperiment på Amazon EC2-infrastruktur, findes der andre AWS-tjenester for at lette udvikling, træning og hosting af avancerede deep learning-løsninger.

For eksempel har AWS og NVIDIA samarbejdet om at frigive en administreret implementering af Triton Inference Server i Amazon SageMaker ; for mere information, se Implementer hurtig og skalerbar AI med NVIDIA Triton Inference Server i Amazon SageMaker. AWS samarbejdede også med Hugging Face for at udvikle en administreret, optimeret integration mellem Amazon SageMaker og Hugging Face Transformers, den open source-ramme, som Amazon Search T5-modellen er afledt af; læs mere på https://aws.amazon.com/machine-learning/hugging-face/.

Vi opfordrer kunder med latensfølsomme CPU- og GPU-deep learning-serverapplikationer til at overveje NVIDIA TensorRT og Triton på AWS. Fortæl os, hvad du bygger!

Er du passioneret omkring deep learning og opbygning af deep learning-baserede løsninger til Amazon Search? Tjek vores karriere side.


Om forfatterne

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.RJ er en ingeniør i Search M5-teamet, der leder bestræbelserne på at bygge storskala deep learning-systemer til træning og inferens. Uden for arbejdet udforsker han forskellige madkøkkener og dyrker ketsjersport.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Hemant Pugaliya er en Applied Scientist hos Search M5. Han arbejder på at anvende den nyeste naturlige sprogbehandling og deep learning-forskning for at forbedre kundeoplevelsen på Amazon-shopping over hele verden. Hans forskningsinteresser omfatter naturlig sprogbehandling og maskinlæringssystemer i stor skala. Uden for arbejdet nyder han at vandre, lave mad og læse.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Andy Sun er en softwareingeniør og teknisk leder til rettelse af stavesøgning. Hans forskningsinteresser omfatter optimering af deep learning inferens latency og opbygning af hurtige eksperimenteringsplatforme. Uden for arbejdet nyder han at lave film og akrobatik.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Le Cai er softwareingeniør hos Amazon Search. Han arbejder på at forbedre søgestavekorrektionens ydeevne for at hjælpe kunderne med deres indkøbsoplevelse. Han fokuserer på højtydende online inferens og distribueret træningsoptimering til dyb læringsmodel. Uden for arbejdet holder han af at stå på ski, vandre og cykle.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Anthony Ko arbejder i øjeblikket som softwareingeniør hos Search M5 Palo Alto, CA. Han arbejder på at bygge værktøjer og produkter til modelimplementering og inferensoptimering. Uden for arbejdet nyder han at lave mad og dyrke ketsjersport.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Olivier Cruchant er en Machine Learning Specialist Solutions Architect hos AWS, baseret i Frankrig. Olivier hjælper AWS-kunder – fra små startups til store virksomheder – med at udvikle og implementere maskinlæringsapplikationer i produktionskvalitet. I sin fritid nyder han at læse forskningsartikler og udforske vildmarken med venner og familie.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Anish Mohan er en Machine Learning Architect hos NVIDIA og den tekniske leder for ML- og DL-engagementer med sine kunder i Seattle-regionen.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Jiahong Liu er løsningsarkitekt på Cloud Service Provider-teamet hos NVIDIA. Han hjælper kunder med at anvende machine learning og AI-løsninger, der udnytter NVIDIA accelereret computing til at løse deres trænings- og inferensudfordringer. I sin fritid nyder han origami, gør-det-selv-projekter og at spille basketball.

Hvordan Amazon Search opnår lav-latens, high-throughput T5-inferens med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Eliuth Triana er en Developer Relations Manager hos NVIDIA. Han forbinder Amazon- og AWS-produktledere, udviklere og videnskabsmænd med NVIDIA-teknologer og produktledere for at accelerere Amazon ML/DL-arbejdsbelastninger, EC2-produkter og AWS AI-tjenester. Derudover er Eliuth en passioneret mountainbiker, skiløber og pokerspiller.

Tidsstempel:

Mere fra AWS maskinindlæring