Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Kuinka Amazon Search saavuttaa alhaisen latenssin ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonilla AWS:ssä

Amazon Searchin visiona on antaa asiakkaille mahdollisuus tehdä hakuja vaivattomasti. Oikeinkirjoituksen korjaus auttaa sinua löytämään haluamasi, vaikka et tietäisi tarkoitettujen sanojen tarkkaa kirjoitusasua. Aiemmin käytimme oikeinkirjoituksen korjaamiseen klassisia koneoppimisalgoritmeja (ML), joissa oli manuaalinen ominaisuussuunnittelu. Voidaksemme tehdä seuraavan sukupolven harppauksen oikeinkirjoituksen korjaussuorituskyvyssä omaksumme useita syvälle oppivia lähestymistapoja, mukaan lukien sekvenssistä sekvenssiin -mallit. Deep learning (DL) -mallit ovat laskentaintensiivisiä sekä koulutuksessa että päättelyssä, ja nämä kustannukset ovat historiallisesti tehneet DL-malleista epäkäytännöllisiä Amazonin mittakaavassa. Tässä viestissä esittelemme päätelmien optimointikokeilun tulokset, joissa ylitämme nämä esteet ja saavutamme 534 %:n päättelynopeuden suositulle Hugging Face T5 Transformerille.

Haaste

Tekstistä tekstiksi -siirtomuuntaja (T5, Siirtymisen oppimisen rajojen tutkiminen yhtenäisellä teksti-teksti-muuntajalla, Reffel et al) on huippuluokan luonnollisen kielen käsittelyn (NLP) malliarkkitehtuuri. T5 on lupaava oikeinkirjoituksen korjausarkkitehtuuri, jonka havaitsimme toimivan hyvin kokeissamme. T5-malleja on helppo tutkia, kehittää ja kouluttaa avoimen lähdekoodin syväoppimiskehysten sekä jatkuvan akateemisen ja yritystutkimuksen ansiosta.

T5:llä on kuitenkin vaikea tehdä tuotantotason, matalan latenssin päätelmiä. Esimerkiksi yksi johtopäätös PyTorch T5:llä kestää 45 millisekuntia yhdellä neljästä NVIDIA V100 Tensor Core -grafiikkasuorittimesta, jotka varustavat Amazon Elastic Compute Cloud (EC2) p3.8xlarge -esiintymän. (Kaikki raportoidut päättelynumerot koskevat 9 merkin syötettä ja 11 merkin lähtöä. T5-arkkitehtuurien latenssi on herkkä sekä tulo- että lähtöpituuksille.)

Matalaviiveinen, kustannustehokas T5-päätelmä laajassa mittakaavassa on tunnettu vaikeus, jonka useat Amazon Searchin ulkopuoliset AWS-asiakkaat ovat raportoineet, mikä lisää motivaatiotamme osallistua tähän viestiin. Amazon Searchilla on seuraavat haasteet siirtyäkseen offline-tieteellisestä saavutuksesta asiakaslähtöiseksi tuotantopalveluksi:

  • Viive – Kuinka toteuttaa T5-johtopäätös alle 50 millisekunnin P99-latenssissa
  • suoritusteho – Kuinka käsitellä suuria samanaikaisia ​​päättelypyyntöjä
  • Kustannustehokkuus – Kuinka pitää kustannukset kurissa

Tämän viestin loppuosassa selitämme, kuinka NVIDIA-päätelmien optimointipino - nimittäin NVIDIA TensorRT kääntäjä ja avoin lähdekoodi NVIDIA Triton Inference Server– ratkaisee nämä haasteet. Lukea NVIDIA:n lehdistötiedote saadaksesi tietoa päivityksistä.

NVIDIA TensorRT: Vähennä kustannuksia ja viivettä päätelmien optimoinnilla

Syväoppimiskehyksiä on helppo toistaa nopeasti tieteessä, ja niissä on lukuisia toimintoja tieteellistä mallintamista, tietojen lataamista ja koulutuksen optimointia varten. Useimmat näistä työkaluista eivät kuitenkaan ole optimaalisia päättelyyn, mikä vaatii vain minimaalisen joukon operaattoreita matriisin kertolasku- ja aktivointifunktioille. Siksi merkittäviä hyötyjä voidaan saavuttaa käyttämällä erikoistunutta, vain ennustesovellusta sen sijaan, että suoritettaisiin päätelmiä syvän oppimisen kehityskehyksessä.

NVIDIA TensorRT on SDK korkean suorituskyvyn syväoppimisen päättelyyn. TensorRT tarjoaa sekä optimoidun ajonajan käyttämällä matalan tason optimoituja ytimiä, jotka ovat saatavilla NVIDIA-grafiikkasuorittimissa, että vain päättelyyn perustuvan mallikaavion, joka järjestää päätelmien laskennan uudelleen optimoituun järjestykseen.

Seuraavassa osiossa puhumme TensorRT:n takana tapahtuvista yksityiskohdista ja kuinka se nopeuttaa suorituskykyä.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

  1. Alennettu tarkkuus maksimoi suorituskyvyn FP16:lla tai INT8:lla kvantisoimalla malleja ja säilyttäen samalla oikeellisuuden.
  2. Layer ja Tensor Fusion optimoi GPU-muistin ja kaistanleveyden käytön yhdistämällä solmut ytimessä välttääkseen ytimen käynnistysviiveen.
  3. Ytimen automaattinen viritys valitsee parhaat tietokerrokset ja algoritmit kohde-GPU-alustan ja dataytimen muotojen perusteella.
  4. Dynaaminen tensorimuisti minimoi muistin jalanjäljen vapauttamalla välitulosten tarpeettoman muistinkulutuksen ja käyttää tensoreiden muistia tehokkaasti uudelleen.
  5. Multi-Stream-suoritus käyttää skaalautuvaa suunnittelua useiden syöttövirtojen käsittelemiseen rinnakkain omistettujen CUDA-virtojen kanssa.
  6. Time Fusion optimoi toistuvia hermoverkkoja ajan mittaan dynaamisesti luoduilla ytimillä.

T5 käyttää muuntajakerroksia arkkitehtuurinsa rakennuspalikoina. NVIDIA TensorRT 8.2:n uusin julkaisu esittelee uusia optimointeja T5- ja GPT-2-malleille reaaliaikaisten päätelmien tekemiseen. Seuraavassa taulukossa voimme nähdä TensorRT:n nopeuden joissakin julkisissa T5-malleissa, jotka toimivat Amazon EC2G4dn -esiintymissä ja jotka toimivat NVIDIA T4 GPU:illa ja EC2 G5 -esiintymillä, jotka toimivat NVIDIA A10G GPU:illa.

 

Malli Ilmentymä Pytorchin perusviive (ms) TensorRT 8.2 Latenssi (ms) Nopeus vs. HF-perusviiva
FP32 FP32 FP16 FP32 FP16
Encoder Decoder Päittäin Encoder Decoder Päittäin Encoder Decoder Päittäin Päittäin Päittäin
t5-pieni 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-pohja 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%

Lisätietoja optimoinnista ja liitetyn suorituskyvyn replikaatiosta on kohdassa T5:n ja GPT-2:n optimointi reaaliaikaista päättelyä varten NVIDIA TensorRT:n avulla.

On tärkeää huomata, että käännös säilyttää mallin tarkkuuden, koska se toimii päättelyympäristössä ja laskennan ajoituksessa jättäen mallitieteen ennalleen – toisin kuin painonpoistopakkaus, kuten tislaus tai karsiminen. NVIDIA TensorRT mahdollistaa kääntämisen yhdistämisen kvantisoimiseen lisähyötyjen saavuttamiseksi. Kvantisoinnilla on kaksinkertainen etu viimeaikaisiin NVIDIA-laitteistoihin verrattuna: se vähentää muistin käyttöä ja mahdollistaa NVIDIA Tensor Cores -spesifisten solujen käytön, jotka suorittavat sulatetun matriisikerto-lisäyksen sekaisella tarkkuudella.

Amazon Search -kokeilussa Hugging Face T5 -mallilla PyTorchin korvaaminen TensorRT:llä mallipäätelmän tekemiseksi lisää nopeutta 534%.

NVIDIA Triton: Matala latenssi, korkean suorituskyvyn johtopäätöspalvelu

Nykyaikaiset mallinpalveluratkaisut voivat muuttaa offline-tilassa koulutetut mallit asiakkaille suunnatuiksi ML-käyttöisiksi tuotteiksi. Kohtuullisten kustannusten ylläpitämiseksi tällaisessa mittakaavassa on tärkeää pitää ylläpitokustannukset alhaisina (HTTP-käsittely, esi- ja jälkikäsittely, CPU-GPU-kommunikaatio) ja hyödyntää täysimääräisesti GPU:iden rinnakkaiskäsittelykykyä.

NVIDIA Triton on johtopäätöksiä palveleva ohjelmisto, joka tarjoaa laajan tuen mallien ajoajoille (mm. NVIDIA TensorRT, ONNX, PyTorch, XGBoost) ja infrastruktuurin taustajärjestelmille, mukaan lukien GPU:t, CPU ja AWS Inferentia.

ML-harjoittajat rakastavat Tritonia useista syistä. Sen dynaaminen eräajokyky mahdollistaa päättelypyyntöjen keräämisen käyttäjän määrittämän viiveen aikana ja käyttäjän määrittämän maksimaalisen eräkoon sisällä, jolloin GPU-päätelmät jaksotetaan, mikä kuluttaa suorittimen ja grafiikkasuorittimen välistä tiedonsiirtoa. Huomaa, että dynaaminen eräajo tapahtuu palvelinpuolella ja hyvin lyhyissä aikaväleissä, joten pyytävällä asiakkaalla on edelleen synkroninen, lähes reaaliaikainen kutsukokemus. Tritonin käyttäjät nauttivat myös sen samanaikaisesta mallin suorituskyvystä. GPU:t ovat tehokkaita moniajolaitteita, jotka ovat loistavia suorittaessaan laskentaintensiivisiä työkuormia rinnakkain. Triton maksimoi grafiikkasuorittimen käytön ja suorituskyvyn käyttämällä CUDA-virtoja useiden mallien esiintymien ajamiseen samanaikaisesti. Nämä malliesiintymät voivat olla eri malleja eri kehyksistä eri käyttötapauksiin tai saman mallin suora kopio. Tämä tarkoittaa suoraa suorituskyvyn paranemista, kun sinulla on tarpeeksi tyhjää GPU-muistia. Lisäksi, koska Triton ei ole sidottu tiettyyn DL-kehityskehykseen, se antaa tutkijalle mahdollisuuden ilmaista itseään täysin valitsemallaan työkalulla.

Kun Triton on AWS:ssä, Amazon Search odottaa palvelevansa paremmin Amazon.com asiakkaita ja täyttää latenssivaatimukset alhaisin kustannuksin. TensorRT-ajonajan ja Triton-palvelimen tiivis integraatio helpottaa kehityskokemusta. AWS-pilviinfrastruktuurin avulla voit skaalata ylös tai alas muutamassa minuutissa suorituskyvyn vaatimusten mukaan, samalla kun rima pysyy korkealla tai luotettavuus ja tietoturva.

Kuinka AWS alentaa markkinoille pääsyn esteitä

Vaikka Amazon Search suoritti tämän kokeilun Amazon EC2 -infrastruktuurilla, on olemassa muita AWS-palveluita, jotka helpottavat huippuluokan syväoppimisratkaisujen kehittämistä, koulutusta ja isännöintiä.

Esimerkiksi AWS ja NVIDIA ovat tehneet yhteistyötä julkaistakseen Triton Inference Serverin hallitun toteutuksen Amazon Sage Maker ; lisätietoja, katso Ota nopea ja skaalautuva tekoäly käyttöön Amazon SageMakerin NVIDIA Triton Inference Serverin avulla. AWS teki myös yhteistyötä Hugging Facen kanssa kehittääkseen hallitun, optimoidun integraation Amazon SageMakerin ja Hugging Face Transformersin välille. Tämä on avoimen lähdekoodin kehys, josta Amazon Search T5 -malli on johdettu. lue lisää osoitteessa https://aws.amazon.com/machine-learning/hugging-face/.

Kannustamme asiakkaita, joilla on viiveherkät suorittimen ja grafiikkasuorittimen syväoppimista palvelevat sovellukset, harkitsemaan NVIDIA TensorRT:tä ja Tritonia AWS:ssä. Kerro meille mitä rakennat!

Kiinnostaako syväoppiminen ja syvään oppimiseen perustuvien ratkaisujen rakentaminen Amazon Searchille? Tutustu meidän urasivu.


Tietoja Tekijät

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.RJ on Search M5 -tiimin insinööri, joka johtaa laajamittaisten syväoppimisjärjestelmien rakentamista koulutusta ja päätelmiä varten. Työn ulkopuolella hän tutkii erilaisia ​​ruokakulttuureja ja harrastaa mailaurheilua.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Hemant Pugaliya on Search M5:n ammattitutkija. Hän työskentelee uusimman luonnollisen kielen käsittelyn ja syväoppimisen tutkimuksen soveltamisessa parantaakseen asiakaskokemusta Amazon-ostoksilla maailmanlaajuisesti. Hänen tutkimusalueitaan ovat luonnollisen kielen käsittely ja laajamittaiset koneoppimisjärjestelmät. Työn ulkopuolella hän harrastaa patikointia, ruoanlaittoa ja lukemista.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Andy Sun on ohjelmistosuunnittelija ja tekninen johtaja haun oikeinkirjoituksen korjauksessa. Hänen tutkimusintresseihinsä kuuluvat syvän oppimisen päättelyviiveen optimointi ja nopeiden kokeilualustojen rakentaminen. Työn ulkopuolella hän nauttii elokuvanteosta ja akrobatiasta.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Le Cai on ohjelmistosuunnittelija Amazon Searchissa. Hän pyrkii parantamaan haun oikeinkirjoituksen korjauksen tehokkuutta auttaakseen asiakkaita heidän ostokokemuksessaan. Hän keskittyy tehokkaaseen verkkopäätelmään ja hajautettuun koulutusoptimointiin syväoppimismallia varten. Työn ulkopuolella hän harrastaa hiihtoa, patikointia ja pyöräilyä.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Anthony Ko työskentelee tällä hetkellä ohjelmistosuunnittelijana Search M5:ssä Palo Alto, CA. Hän rakentaa työkaluja ja tuotteita mallien käyttöönottoon ja päätelmien optimointiin. Työn ulkopuolella hän nauttii ruoanlaitosta ja mailaurheilusta.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Olivier Cruchant on Machine Learning Specialist Solutions -arkkitehti AWS:ssä Ranskassa. Olivier auttaa AWS-asiakkaita – pienistä startupeista suuriin yrityksiin – kehittämään ja ottamaan käyttöön tuotantotason koneoppimissovelluksia. Vapaa-ajallaan hän lukee mielellään tutkimuspapereita ja tutkii erämaata ystävien ja perheen kanssa.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Anish Mohan on koneoppimisarkkitehti NVIDIAssa ja tekninen johtaja ML- ja DL-sopimuksissa asiakkaidensa kanssa Seattlen alueella.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Jiahong Liu on ratkaisuarkkitehti NVIDIA:n Cloud Service Provider -tiimissä. Hän auttaa asiakkaita ottamaan käyttöön koneoppimis- ja tekoälyratkaisuja, jotka hyödyntävät NVIDIA:n nopeutettua tietojenkäsittelyä vastaamaan heidän koulutus- ja päättelyhaasteisiinsa. Vapaa-ajallaan hän nauttii origamista, tee-se-itse-projekteista ja koripallon pelaamisesta.

Kuinka Amazon Search saa aikaan matalan viiveen ja suuren suorituskyvyn T5-päätelmän NVIDIA Tritonin avulla AWS PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Eliuth Triana on NVIDIA:n kehittäjäsuhdepäällikkö. Hän yhdistää Amazon- ja AWS-tuotejohtajat, kehittäjät ja tutkijat NVIDIA-teknologioihin ja tuotejohtajiin nopeuttaakseen Amazonin ML/DL-työkuormia, EC2-tuotteita ja AWS AI -palveluita. Lisäksi Eliuth on intohimoinen maastopyöräilijä, hiihtäjä ja pokerinpelaaja.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen