Vaikeuksia tekoälyn tai full-stack-kehityksen kanssa? Asiantuntijamme opastavat sinua: räätälöityjä neuvoja, teknistä integrointia ja paljon muuta. Ota yhteyttä osoitteessa [email protected].

GenAI:n päättelymoottorit: TensorRT-LLM vs vLLM vs Hugging Face TGI vs LMDeploy

Generatiivisen tekoälyn (GenAI) yleistyminen on muuttanut toimialoja luonnollisen kielen käsittelystä luovan sisällön tuottamiseen. Näiden tehokkaiden mallien tehokas käyttöönotto mittakaavassa on kuitenkin edelleen haasteellista.

TensorRT-LLM, vLLM, Hugging Face TGI ja LMDeploy.

Päättelymoottoreilla on ratkaiseva rooli suorituskyvyn optimoinnissa, viiveen vähentämisessä ja resurssien käytön maksimoinnissa. Tässä artikkelissa perehdymme neljään johtavaan ratkaisuun: TensorRT-LLM, vLLM, Hugging Face TGI ja LMDeploy.

Kukin tarjoaa ainutlaatuisia vahvuuksia, olipa kyse NVIDIAn laitteiston nopeuttamasta tarkkuudesta, vLLM:n innovatiivisesta muistinhallinnasta, TGI:n tuotantokelpoisesta ekosysteemistä tai LMDeployn keskittymisestä nopeuteen ja yksinkertaisuuteen. Liity seuraamme, kun vertailemme näitä moottoreita ja autamme sinua löytämään täydellisen ratkaisun GenAI-työkuormaasi.

TensorRT-LLM: NVIDIAn voimanpesä optimoituun päättelyyn

TensorRT-LLM on NVIDIAn vastaus suurten kielimallien nopeaan ja sujuvaan suorittamiseen. Se perustuu TensorRT-kehykseen, ja se on suunniteltu ottamaan NVIDIAn näytönohjaimista irti jokainen pisara suorituskykyä. Se tekee tämän tempuilla, kuten kerrosten fuusioinnilla, tarkkuuden säätämisellä (FP16, INT8, FP8...) ja ytimen optimoinnilla, joka lyhentää laskenta-aikaa rikkomatta mallin tarkkuutta.

TensorRT-LLM

Kyse ei ole vain nopeudesta. TensorRT-LLM käsittelee suuria malleja tehokkaasti hallinnoimalla muistia älykkäästi, jotta et kaadu kesken suorituksen. Se tukee myös dynaamista panostamista, jolloin voit käsitellä useita pyyntöjä kerralla ilman, että muisti loppuu kesken. Jos käytät jo NVIDIA-laitteistoa, se on helppo valinta, sillä se on tiiviisti kiinni NVIDIAn ekosysteemissä, kuten CUDA:ssa ja cuDNN:ssä, ja se integroituu jopa NVIDIAn Triton Inference Serverin ja NVIDIA Dynamon kanssa.

Se ei kuitenkaan sovi kaikille. Asennus voi olla hankalaa, jos et tunne NVIDIAn työkaluja, ja se on vähemmän joustava, jos käytät muuta kuin NVIDIAn laitteistoa. Silti NVIDIAn näytönohjaimilla käytettävän tehon ja optimoinnin kannalta sitä on vaikea voittaa.

vLLM: Suuren läpimenon päättely PagedAttentionin avulla

vLLM on erittäin hyvä käsittelemään suuria määriä päättelytehtäviä nopeasti. Se on avoimen lähdekoodin projekti, joka loistaa silloin, kun tarvitaan suurta läpimenoa ilman hidastumista. Sen salainen kastike on PagedAttention, temppu, joka hallitsee muistia paljon paremmin kuin useimmat muut. Sen sijaan, että kaikki ladattaisiin kerralla ja RAM-muistia kulutettaisiin, se jakaa avain-arvovälimuistit palasiksi ja ottaa vain sen, mitä tarvitaan. Vähemmän tuhlausta, enemmän nopeutta.

vLLM

Se on myös hyvin joustava. Se toimii suosittujen mallien, kuten LLaMA:n tai Mistralin, kanssa suoraan laatikosta, ja se tukee monia laitteistoja, kuten NVIDIAn tai AMD:n näytönohjaimia. Saat myös dynaamisen panostuksen, jolla voit ryhmitellä pyyntöjä tehokkaasti ja pitää putken sujuvana. Asennus on melko suoraviivaista, jos olet tottunut Pythoniin ja PyTorchiin.

vLLM:n ensisijainen rajoitus on sen suhteellinen kypsymättömyys markkinoilla, mikä tarkoittaa, että se ei ehkä vielä tarjoa yhtä kattavia ominaisuuksia kuin vakiintuneemmat ratkaisut. Organisaatioille, jotka etsivät tehokasta ratkaisua, joka tarjoaa suorituskykyistä päättelyä, vLLM on kuitenkin erinomainen valinta.

Halailevat kasvot TGI: Tuotantokelpoinen ratkaisu tekstin tuottamiseen

Hugging Face TGI (Text Generation Inference) on tehty ihmisille, jotka haluavat saada mallit käyttöön ilman päänsärkyä. Se on Hugging Face -tiimin rakentama työkalu, joten se toimii hyvin heidän valtavan kirjastonsa kanssa, joka sisältää valmiiksi koulutettuja malleja - kuten BERT, GPT ja muut. Se on suunniteltu reaalimaailman käyttöön, kuten chat-robottien tai sellaisten sovellusten käyttämiseen, joissa tekstin tuottamisen on toimittava nopeasti eikä kaatua.

Halailevat kasvot TGI

TGI huolehtii raskaasta työnteosta esimerkiksi jatkuvalla panostuksella, joka pitää järjestelmän kiireisenä vaihtamalla uusia pyyntöjä vanhojen päättyessä. Se tukee GPU-kiihdytystä ja voi skaalautua, jos sinulla on laitteisto. Lisäksi siinä on sisäänrakennettu turvallisuus, kuten huonojen tulosten suodatus, mikä on kätevää tuotantoa varten. Voit ottaa sen käyttöön Dockerilla muutamassa vaiheessa, joten se on suhteellisen helppo ottaa käyttöön.

Saalis? Se on sidottu Hugging Facen ekosysteemiin, joten jos et jo ole siinä maailmassa, se voi tuntua rajoittavalta. TGI on kuitenkin loistava valinta, jos haluat plug-and-play-vaihtoehdon, joka on valmis käytettäväksi.

LMDeploy: Tehokas käyttöönotto ylivoimaisella dekoodausnopeudella

LMDeploy on MMRazor- ja MMDeploy-työryhmien työkalupakki, joka on rakennettu pakkaamaan, ottamaan käyttöön ja ajamaan suuria kielimalleja vaivattomasti. Mikä tekee siitä erityisen? Sillä on erinomainen dekoodausnopeus - jopa 1,8 kertaa enemmän pyyntöjä sekunnissa kuin vLLM:llä A100-näytönohjaimella. Tämä johtuu sellaisista tempuista kuin pysyvistä panostuksista, estetystä KV-välimuistituksesta ja näppäristä CUDA-ytimistä, jotka pitävät GPU:n kiireisenä.

LMDeploy

Siinä on kaksi moottoria: TurboMind maksimisuorituskykyä varten ja PyTorch-moottori helpompaa puuhastelua varten. TurboMind on tässä pääosassa - se tekee 4-bittisen päättelyn 2,4x nopeammin kuin FP16, ja se käsittelee suuria malleja, kuten Llama-2 70B:tä, helposti. Voit myös kvantifioida painot ja KV-välimuistit muistin säästämiseksi tarkkuuden kärsimättä. Käyttöönotto on myös helppoa - yksi komento asettaa palvelimen useille koneille, jos tarvitset sitä. Lisäksi se muistaa keskusteluhistorian monikierroksisissa keskusteluissa, joten se ei tuhlaa aikaa vanhan työn uudelleen tekemiseen.

Huono puoli? TurboMind on nirso - se ei toimi vielä Mistralin kaltaisten liukuikkunamallien kanssa. Jos et käytä NVIDIAn näytönohjaimia, joudut käyttämään hitaampaa PyTorch-moottoria. Oikeilla laitteistoilla LMDeploy on kuitenkin loistava valinta, jos haluat nopeutta ja yksinkertaisuutta.

Suorituskyvyn vertailu: Viive, läpäisy ja skaalautuvuus

Tarkastellaan, miten nämä moottorit pärjäävät viiveen (kuinka nopeasti yksi pyyntö päättyy), läpäisykyvyn (kuinka monta pyyntöä ne voivat vastaanottaa) ja skaalautuvuuden (kuinka hyvin ne käsittelevät suurempia kuormia tai enemmän laitteistoja) suhteen.

TensorRT-LLM loistaa latenssin suhteen, jos käytössäsi on NVIDIAn näytönohjaimet. Se on pitkälle optimoitu NVIDIA-laitteistolle, joten yksittäiset pyynnöt valmistuvat nopeasti: useimmissa malleissa alle 50 ms A100:lla. Myös läpäisykyky on erinomainen, erityisesti dynaamisen panostuksen ansiosta. BentoML:n tekemät vertailuarvot osoittavat, että tämä moottori saavuttaa 700 merkkiä sekunnissa 100 samanaikaisella käyttäjällä Llama 3 70B Q4:lle A100:n 80 Gt:n näytönohjaimella. TensorRT-LLM toimii hyvin skenaarioissa, joissa syötteet ovat pitkiä ja pyyntöjen määrä suuri, ja tarjoaa hyvän läpäisykyvyn. Skaalautuvuus useilla näytönohjaimilla on tuettu alusta alkaen erinomaisella suorituskyvyllä.

Myös vLLM:n läpäisykyky on hyvä, erityisesti dekoodausta vaativissa työtaakoissa, ja viimeisimpien päivitysten jälkeen läpäisykyky on korkea ja viive on alhainen. BentoML:n tekemät vertailuarvot osoittavat, että tämä moottori saavuttaa 600-650 merkkiä sekunnissa 100 samanaikaisella käyttäjällä Llama 3 70B Q4:llä A100 80GB GPU:lla. Latenssi on hyvä, mutta ei yhtä hyvä kuin TensorRT-LLM:llä: noin 60-80 ms yksin ajettaessa. Se skaalautuu hyvin eri näytönohjaimille, jopa eri merkkien sekoittamiselle, mutta se ei ole yhtä hiottu valtaville kokoonpanoille.

Hugging Face TGI toimii samalla tavalla kuin vLLM ja tarjoaa tasapainoisen tasapainon suorituskyvyn ja helppokäyttöisyyden välillä. Viive on kohtuullinen: 50-70 ms hyvällä näytönohjaimella. BentoML:n tekemät vertailuarvot osoittavat, että tämä moottori saavuttaa 600-650 merkkiä sekunnissa 100 samanaikaisella käyttäjällä Llama 3 70B Q4:llä A100 80GB GPU:lla. Se on rakennettu skaalautuvaksi tuotantoa varten, joten se selviytyy sujuvasti useammista käyttäjistä tai koneista, erityisesti Dockerin kanssa.

LMDeploy voittaa dekoodausnopeudella. Se on ylivoimainen merkkien muodostusnopeudessa, erityisesti pienemmissä malleissa, ja sen aika ensimmäiseen merkkiin (Time to First Token, TTFT) on alhainen kvantisoiduissa suurissa malleissa. Viive on alhainen: 40-60 ms. Läpäisykyky on erinomainen. BentoML:n tekemät vertailuarvot osoittavat, että tämä moottori saavuttaa 700 merkkiä sekunnissa 100 samanaikaisella käyttäjällä Llama 3 70B Q4 -mallilla A100 80GB GPU:lla. Skaalautuminen on helppoa sen palvelinasetusten avulla, mutta parhaiden tulosten saamiseksi se nojaa vahvasti NVIDIAn näytönohjaimiin; PyTorch-tila jää jälkeen.

Lopputulos: TensorRT-LLM ja LMDeploy johtavat raa'alla nopeudella. Valintasi riippuu laitteistostasi ja käsittelemiesi pyyntöjen määrästä.

Kvantisointikyvyt

Kvantisointi vähentää mallin tarkkuutta muistin käytön vähentämiseksi ja päättelyn nopeuttamiseksi, mikä on tärkeää resurssirajoitteisissa ympäristöissä. Kunkin moottorin suorituskyky on seuraava:

TensorRT-LLM tukee FP8:a, FP4:ää, INT4:ää aktivointitietoisella painokvantisoinnilla (AWQ) ja INT8:aa SmoothQuantilla, mikä tarjoaa vankat vaihtoehdot NVIDIAn näytönohjaimen suorituskyvyn optimointiin.

vLLM tarjoaa joustavuutta GPTQ:n, AWQ:n, INT4:n, INT8:n ja FP8:n kanssa ja mukautuu erilaisiin laitteisto- ja tarkkuusvaatimuksiin.

Hugging Face TGI integroi bitsandbytesin 8- ja 4-bittiseen kvantisointiin ja GPT-Q:n pelkkään painoon perustuvaan kvantisointiin, joka soveltuu tuotantokäyttöön.

LMDeploy tarjoaa 4-bittisen AWQ:n, 8-bittisen kvantisoinnin ja online INT8/INT4 KV-välimuistin kvantisoinnin, mikä parantaa tehokkuutta suurissa malleissa rajoitetulla laitteistolla.

Laitteiston yhteensopivuus

Laitteistotuki määrittää, missä näitä moottoreita voidaan käyttää, mikä vaikuttaa skaalautuvuuteen ja suorituskykyyn:

TensorRT-LLM on yksinoikeudella NVIDIA CUDA:n käytössä, ja se hyödyntää GPU-kiihdyttimiä korkean suorituskyvyn saavuttamiseksi.

vLLM tukee NVIDIA CUDAa, AMD ROCm:ää, AWS Neuronia ja CPU:ta, mikä tarjoaa laajan yhteensopivuuden erilaisiin kokoonpanoihin.

Hugging Face TGI toimii NVIDIA CUDAn, AMD ROCm:n, Intel Gaudin ja AWS Inferentian kanssa, mikä tarjoaa joustavuutta eri laitteistoympäristöihin.

LMDeploy on optimoitu NVIDIA CUDA:lle, mikä takaa huippusuorituskyvyn NVIDIAn näytönohjaimilla, mutta tuki muille alustoille on rajallinen.

Helppokäyttöisyys

Käyttöönotto- ja integrointiprosessi voi vaikuttaa kehitysaikatauluihin. Seuraavassa kerrotaan, miten kukin moottori pärjää:

TensorRT-LLM edellyttää tarkistuspisteiden muuntamista, TensorRT-moottorin rakentamista ja parametrien määrittämistä, mikä tekee siitä haastavan ja aikaa vievän insinööreille.

vLLM on käyttäjäystävällinen kattavan dokumentaation, helpon asennuksen ja saumattoman Python-kirjaston integroinnin ansiosta.

Hugging Face TGI hyötyy Hugging Facen ekosysteemistä, joka tarjoaa valmiita Docker-kuvia ja perusteellista dokumentaatiota nopeaa käyttöönottoa varten.

LMDeploy on helppo asentaa yhdellä komennolla palvelimen käynnistämiseen ja Python API:n avulla mukauttamiseen, mikä tasapainottaa helppoutta ja joustavuutta.

Päätelmä

Oikean moottorin valinta riippuu käyttötarkoituksesta, laitteistosta ja taidoista.

TensorRT-LLM on oikea päättelymoottori, jos käytät isoja malleja NVIDIAn näytönohjaimilla ja tarvitset nopeutta (ajattele matalan viiveen sovelluksia, kuten reaaliaikaisia chat-robotteja tai tekoälyavustajia, joissa vastaukset on tuotettava millisekunneissa). Se sopii erinomaisesti yrityksille, jotka ovat jo syvällä NVIDIAn maailmassa, mutta se saattaa olla liikaa, jos etsit yksinkertaisuutta.

vLLM on loistava kompromissi nopeuden ja yksinkertaisuuden välillä. Se soveltuu erittäin hyvin aloittaville yrityksille tai tutkijoille, jotka haluavat jotain joustavaa ja nopeasti käyttöönotettavaa.

Hugging Face TGI vastaa vLLM:ää nopeudeltaan ja yksinkertaisuudeltaan. Se on helppo ottaa käyttöön, skaalautuu sujuvasti ja liittyy Hugging Facen mallihubiin, joten se sopii erinomaisesti tiimeille, jotka haluavat vaivattoman ratkaisun.

LMDeploy loistaa suorituskyvyllä, kuten TensorRT-LLM. Se sopii NVIDIAn näytönohjaimilla varustetuille käyttäjille, jotka haluavat yksinkertaisen asennuksen ja huippusuorituskyvyn, mutta se ei ole yhtä kätevä, jos mallisi eivät pelaa yhteen TurboMindin kanssa.

Jos et voi tai halua ottaa omaa GenAI-mallia käyttöön itse, voit käyttää NLP Cloudia ja hyödyntää nopeita generatiivisia tekoälymalleja tuotannossa. Kokeile nopeaa päättelyä NLP Cloudissa nyt!

Jos sinulla on kysyttävää päättelymoottoreista yleensä, älä epäröi kysyä meiltä, on aina ilo neuvoa!

Julien
teknologiajohtaja, NLP Cloud