Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømming med NVIDIA Triton på AWS

Amazon Searchs visjon er å gjøre det mulig for kunder å søke uten problemer. Staverettingen vår hjelper deg med å finne det du vil ha selv om du ikke vet nøyaktig stavemåten til de tiltenkte ordene. Tidligere brukte vi klassiske maskinlæringsalgoritmer (ML) med manuell funksjonsteknikk for stavekorrigering. For å ta det neste generasjonsspranget når det gjelder ytelse for stavekorrigering, omfavner vi en rekke dyplæringsmetoder, inkludert sekvens-til-sekvens-modeller. Deep learning (DL)-modeller er dataintensive både når det gjelder opplæring og inferens, og disse kostnadene har historisk gjort DL-modeller upraktiske i en produksjonssetting på Amazons skala. I dette innlegget presenterer vi resultatene av et slutningsoptimaliseringseksperiment der vi overvinner disse hindringene og oppnår 534 % slutningshastighet for den populære Hugging Face T5 Transformer.

Utfordring

Tekst-til-tekstoverføringstransformatoren (T5, Utforske grensene for overføringslæring med en enhetlig tekst-til-tekst-transformator, Reffel et al) er den toppmoderne modellarkitekturen for naturlig språkbehandling (NLP). T5 er en lovende arkitektur for stavekorrigering, som vi fant ut til å fungere godt i våre eksperimenter. T5-modeller er enkle å forske på, utvikle og trene, takket være åpen kildekode for dyp læring og pågående akademisk forskning og bedriftsforskning.

Imidlertid er det vanskelig å oppnå produksjonsgrad, lav latens-slutning med en T5. For eksempel tar en enkelt slutning med en PyTorch T5 45 millisekunder på en av de fire NVIDIA V100 Tensor Core GPUene som utstyrer en Amazon Elastic Compute Cloud (EC2) p3.8xlarge-forekomst. (Alle slutningstall som er rapportert er for en inngang på 9 tokens og utgang på 11 tokens. Latensen til T5-arkitekturer er følsom for både inngangs- og utdatalengder.)

Lav latens, kostnadseffektiv T5-slutning i stor skala er en kjent vanskelighet som har blitt rapportert av flere AWS-kunder utover Amazon Search, noe som øker motivasjonen vår til å bidra med dette innlegget. For å gå fra en offline, vitenskapelig prestasjon til en kundevendt produksjonstjeneste, står Amazon Search overfor følgende utfordringer:

  • Ventetid – Hvordan realisere T5-slutninger på mindre enn 50 millisekunders P99-latens
  • gjennomstrømming – Hvordan håndtere storskala samtidige slutningsforespørsler
  • Kostnadseffektivitet – Hvordan holde kostnadene under kontroll

I resten av dette innlegget forklarer vi hvordan NVIDIA-inferensoptimaliseringsstabelen – nemlig NVIDIA TensorRT kompilatoren og åpen kildekode NVIDIA Triton Inference Server– løser disse utfordringene. Lese NVIDIAs pressemelding for å lære om oppdateringene.

NVIDIA TensorRT: Reduserer kostnader og ventetid med inferensoptimalisering

Rammeverk for dyp læring er praktisk å gjenta raskt på vitenskapen, og kommer med en rekke funksjoner for vitenskapelig modellering, datainnlasting og treningsoptimalisering. Imidlertid er de fleste av disse verktøyene suboptimale for inferens, som bare krever et minimalt sett med operatorer for matrisemultiplikasjon og aktiveringsfunksjoner. Derfor kan betydelige gevinster realiseres ved å bruke en spesialisert, kun prediksjonsapplikasjon i stedet for å kjøre slutninger i utviklingsrammeverket for dyp læring.

NVIDIA TensorRT er en SDK for dyp læringsslutning med høy ytelse. TensorRT leverer både en optimalisert kjøretid, ved å bruke lavnivåoptimaliserte kjerner tilgjengelig på NVIDIA GPUer, og en modellgraf for kun inferens, som omorganiserer inferensberegning i en optimalisert rekkefølge.

I den følgende delen vil vi snakke om detaljene som skjer bak TensorRT og hvordan det øker ytelsen.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

  1. Redusert presisjon maksimerer gjennomstrømningen med FP16 eller INT8 ved å kvantisere modeller samtidig som korrektheten opprettholdes.
  2. Layer og Tensor Fusion optimerer bruken av GPU-minne og båndbredde ved å smelte sammen noder i en kjerne for å unngå ventetid for kjernestart.
  3. Kernel Auto-Tuning velger de beste datalagene og algoritmene basert på mål-GPU-plattformen og datakjerneformer.
  4. Dynamisk tensorminne minimerer minneavtrykket ved å frigjøre unødvendig minneforbruk for mellomresultater og gjenbruker minnet for tensorer effektivt.
  5. Multi-Stream-utførelse bruker en skalerbar design for å behandle flere inngangsstrømmer parallelt med dedikerte CUDA-strømmer.
  6. Time Fusion optimerer tilbakevendende nevrale nettverk over tidstrinn med dynamisk genererte kjerner.

T5 bruker transformatorlag som byggeklosser for sine arkitekturer. Den siste utgivelsen av NVIDIA TensorRT 8.2 introduserer nye optimaliseringer for T5- og GPT-2-modellene for sanntidsslutning. I tabellen nedenfor kan vi se hastigheten med TensorRT på noen offentlige T5-modeller som kjører på Amazon EC2G4dn-forekomster, drevet av NVIDIA T4 GPUer og EC2 G5-forekomster, drevet av NVIDIA A10G GPUer.

 

Modell Forekomst Grunnlinje Pytorch-forsinkelse (ms) TensorRT 8.2 latens (ms) Speedup vs. HF-grunnlinjen
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-liten 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 mer informasjon om optimaliseringer og replikering av den vedlagte ytelsen, se Optimaliserer T5 og GPT-2 for sanntidsslutning med NVIDIA TensorRT.

Det er viktig å merke seg at kompilering bevarer modellens nøyaktighet, ettersom den opererer på inferensmiljøet og beregningsplanleggingen, og lar modellvitenskapen være uendret – i motsetning til vektfjerningskompresjon som destillasjon eller beskjæring. NVIDIA TensorRT gjør det mulig å kombinere kompilering med kvantisering for ytterligere gevinster. Kvantisering har doble fordeler på nyere NVIDIA-maskinvare: den reduserer minnebruken og muliggjør bruk av NVIDIA Tensor Cores, DL-spesifikke celler som kjører en smeltet matrise-multiply-add i blandet presisjon.

Når det gjelder Amazon Search-eksperimentering med Hugging Face T5-modellen, øker hastigheten med 534 % å erstatte PyTorch med TensorRT for modellslutning.

NVIDIA Triton: Inferensvisning med lav latens og høy gjennomstrømming

Moderne modellserveringsløsninger kan transformere offline-trente modeller til kundevendte ML-drevne produkter. For å opprettholde rimelige kostnader i en slik skala, er det viktig å holde tjenestene lave (HTTP-håndtering, forbehandling og etterbehandling, CPU-GPU-kommunikasjon), og fullt ut dra nytte av parallellbehandlingsevnen til GPUer.

NVIDIA Triton er en inferensserverprogramvare som foreslår bred støtte for modellkjøringer (NVIDIA TensorRT, ONNX, PyTorch, XGBoost blant andre) og infrastruktur-backends, inkludert GPUer, CPU og AWS Inferentia.

ML-utøvere elsker Triton av flere grunner. Dens dynamiske batching-evne gjør det mulig å akkumulere slutningsforespørsler i løpet av en brukerdefinert forsinkelse og innenfor en maksimal brukerdefinert batchstørrelse, slik at GPU-slutningen samles, og amortiserer CPU-GPU-kommunikasjonsoverhead. Legg merke til at dynamisk batching skjer på serversiden og innen svært korte tidsrammer, slik at den forespørrende klienten fortsatt har en synkron, nesten sanntids påkallingsopplevelse. Triton-brukere har også glede av dens samtidige modellutførelseskapasitet. GPUer er kraftige multitaskere som utmerker seg ved å utføre datamaskinintensive arbeidsbelastninger parallelt. Triton maksimerer GPU-utnyttelsen og gjennomstrømningen ved å bruke CUDA-strømmer for å kjøre flere modellforekomster samtidig. Disse modellforekomstene kan være ulike modeller fra ulike rammeverk for ulike brukstilfeller, eller en direkte kopi av samme modell. Dette betyr direkte forbedring av gjennomstrømmingen når du har nok ledig GPU-minne. Siden Triton ikke er bundet til et spesifikt DL-utviklingsrammeverk, lar det forskerne uttrykke seg fullt ut i verktøyet de velger.

Med Triton på AWS forventer Amazon Search å tjene bedre Amazon.com kunder og møte ventetid til lave kostnader. Den tette integrasjonen mellom TensorRT runtime og Triton-serveren letter utviklingsopplevelsen. Å bruke AWS-skyinfrastruktur gjør det mulig å skalere opp eller ned på minutter basert på gjennomstrømningskrav, samtidig som man opprettholder baren høy eller pålitelighet og sikkerhet.

Hvordan AWS senker inngangsbarrieren

Mens Amazon Search utførte dette eksperimentet på Amazon EC2-infrastruktur, finnes det andre AWS-tjenester for å forenkle utvikling, opplæring og hosting av toppmoderne dyplæringsløsninger.

For eksempel har AWS og NVIDIA samarbeidet om å gi ut en administrert implementering av Triton Inference Server i Amazon SageMaker ; for mer informasjon, se Distribuer rask og skalerbar AI med NVIDIA Triton Inference Server i Amazon SageMaker. AWS samarbeidet også med Hugging Face for å utvikle en administrert, optimalisert integrasjon mellom Amazon SageMaker og Hugging Face Transformers, åpen kildekode-rammeverket som Amazon Search T5-modellen er avledet fra; les mer på https://aws.amazon.com/machine-learning/hugging-face/.

Vi oppfordrer kunder med forsinkelsessensitive CPU- og GPU-deep learning-serverapplikasjoner til å vurdere NVIDIA TensorRT og Triton på AWS. Fortell oss hva du bygger!

Lidenskapelig opptatt av dyp læring og å bygge dyplæringsbaserte løsninger for Amazon Search? Sjekk ut vår karriereside.


Om forfatterne

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.RJ er en ingeniør i Search M5-teamet som leder arbeidet med å bygge store dype læringssystemer for trening og slutninger. Utenom jobben utforsker han ulike matkjøkken og driver med racketsport.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Hemant Pugaliya er en Applied Scientist ved Search M5. Han jobber med å bruke siste naturlig språkbehandling og dyplæringsforskning for å forbedre kundeopplevelsen på Amazon-shopping over hele verden. Hans forskningsinteresser inkluderer naturlig språkbehandling og maskinlæringssystemer i stor skala. Utenom jobben liker han å gå tur, lage mat og lese.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Andy Sun er programvareingeniør og teknisk leder for retting av stavekontroll. Hans forskningsinteresser inkluderer optimalisering av dyp læringsslutningsforsinkelse og bygging av raske eksperimenteringsplattformer. Utenom jobben liker han filmskaping og akrobatikk.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Le Cai er programvareingeniør hos Amazon Search. Han jobber med å forbedre ytelsen for søkestavekorreksjon for å hjelpe kundene med handleopplevelsen. Han fokuserer på høyytelses online inferens og distribuert treningsoptimalisering for dyp læringsmodell. Utenom jobben liker han å gå på ski, gå tur og sykle.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Anthony Ko jobber for tiden som programvareingeniør ved Search M5 Palo Alto, CA. Han jobber med å bygge verktøy og produkter for modelldistribusjon og inferensoptimalisering. Utenom jobben liker han å lage mat og spille racketsport.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Olivier Cruchant er en maskinlæringsspesialist løsningsarkitekt ved AWS, basert i Frankrike. Olivier hjelper AWS-kunder – fra små startups til store bedrifter – med å utvikle og distribuere maskinlæringsapplikasjoner i produksjonsgrad. På fritiden liker han å lese forskningsartikler og utforske villmarken med venner og familie.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Anish Mohan er en maskinlæringsarkitekt hos NVIDIA og den tekniske lederen for ML- og DL-engasjementer med sine kunder i Seattle-regionen.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Jiahong Liu er løsningsarkitekt i Cloud Service Provider-teamet hos NVIDIA. Han hjelper klienter med å ta i bruk maskinlæring og AI-løsninger som utnytter NVIDIA-akselerert databehandling for å møte deres trenings- og slutningsutfordringer. På fritiden liker han origami, DIY-prosjekter og å spille basketball.

Hvordan Amazon Search oppnår T5-slutning med lav latens og høy gjennomstrømning med NVIDIA Triton på AWS PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Eliuth Triana er en Developer Relations Manager hos NVIDIA. Han kobler Amazon- og AWS-produktledere, utviklere og forskere med NVIDIA-teknologer og produktledere for å akselerere Amazon ML/DL-arbeidsmengder, EC2-produkter og AWS AI-tjenester. I tillegg er Eliuth en lidenskapelig terrengsyklist, skiløper og pokerspiller.

Tidstempel:

Mer fra AWS maskinlæring