AI-mallit ja alustat
TensorRT-LLM: Kattava opas suurten kielen mallien inference-optimoimiseen maksimaalisen suorituskyvyn saavuttamiseksi
Suurten kielen mallien (LLM) kysynnÃĪn jatkuessa kasvaa, varmistamaan nopea, tehokas ja skaalautuva inference on tullut entistÃĪ tÃĪrkeÃĪmmÃĪksi. NVIDIAN TensorRT-LLM vastaa tÃĪhÃĪn haasteeseen tarjoamalla joukon voimakkaita tyÃķkaluja ja optimoimisia, jotka on suunniteltu erityisesti LLM-inferenssiin. TensorRT-LLM tarjoaa vaikuttavan valikoiman suorituskyvyn parannuksia, kuten kvantisaatio, ytimen yhdistÃĪminen, lennossa oleva erÃĪily ja moni-GPU-tuki. NÃĪmÃĪ edistysaskeleet mahdollistavat jopa 8 kertaa nopeamman inferenssin verrattuna perinteisiin CPU-pohjaisiin menetelmiin, muuttaen tapaa, jolla otamme LLM-malleja kÃĪyttÃķÃķn tuotannossa.
TÃĪmÃĪ kattava opas kÃĪy lÃĪpi kaikki TensorRT-LLM:n puolet, sen arkkitehtuurista ja avainominaisuuksista kÃĪytÃĪnnÃķn esimerkkeihin mallien kÃĪyttÃķÃķnotosta. Olit sitten AI-insinÃķÃķri, ohjelmistokehittÃĪjÃĪ tai tutkija, tÃĪmÃĪ opas antaa sinulle tiedon hyÃķdyntÃĪÃĪksesi TensorRT-LLM:ÃĪÃĪ LLM-inferenssin optimoimiseen NVIDIAN GPU:illa.
Nopeuta LLM-inferenssiÃĪ TensorRT-LLM:llÃĪ
TensorRT-LLM tarjoaa dramaattisia parannuksia LLM-inferenssin suorituskyvyssÃĪ. NVIDIAN testien mukaan TensorRT-pohjaiset sovellukset nÃĪyttÃĪvÃĪt jopa 8 kertaa nopeamman inferenssin nopeuden verrattuna pelkÃĪstÃĪÃĪn CPU-pohjaisiin alustoihin. TÃĪmÃĪ on ratkaiseva edistysaskel reaaliaikaisissa sovelluksissa, kuten chatboteissa, suositussysteemeissÃĪ ja autonomisissa jÃĪrjestelmissÃĪ, joissa nopeat vastaukset ovat kriittisiÃĪ.
Toimintaperiaate
TensorRT-LLM nopeuttaa inferenssiÃĪ optimoimalla neuroverkkoja kÃĪyttÃķÃķnoton aikana tekniikoilla kuten:
- Kvantisaatio: VÃĪhentÃĪÃĪ painojen ja aktivaatioiden tarkkuutta, pienentÃĪÃĪ mallin kokoa ja parantaa inferenssin nopeutta.
- Kerrosten ja tensorien yhdistÃĪminen: YhdistÃĪÃĪ toimintoja, kuten aktivaatiofunktioita ja matriisien kertolaskuja, yhteen toimintoon.
- Ytimen sÃĪÃĪtÃķ: Valitsee optimaaliset CUDA-ytimet GPU-laskentaan, vÃĪhentÃĪÃĪ suoritusaikaa.
NÃĪmÃĪ optimoinnit varmistavat, ettÃĪ LLM-mallisi toimivat tehokkaasti laajalla skaalalla kÃĪyttÃķÃķnottoalustoja â hyperskaalautuvista tietokeskuksista upotettuihin jÃĪrjestelmiin.
Optimoi inferenssin suorituskyky TensorRT:llÃĪ
NVIDIAN CUDA-rinnakkaisohjelmointimallin pohjalta TensorRT tarjoaa erittÃĪin erikoistuneita optimoimisia inferenssiin NVIDIAN GPU:illa. Suorittamalla prosesseja kuten kvantisaatiota, ytimen sÃĪÃĪtÃķÃĪ ja tensorioperaatioiden yhdistÃĪmistÃĪ, TensorRT varmistaa, ettÃĪ LLM:t voivat suorittaa vÃĪhÃĪisellÃĪ viiveellÃĪ.
Jotkut tehokkaimmista tekniikoista ovat:
- Kvantisaatio: TÃĪmÃĪ vÃĪhentÃĪÃĪ numeerisen tarkkuuden malliparametreissa sÃĪilyttÃĪen korkean tarkin, tehokkaasti nopeuttaen inferenssiÃĪ.
- Tensorien yhdistÃĪminen: YhdistÃĪmÃĪllÃĪ useita toimintoja yhteen CUDA-ytimeen, TensorRT minimoi muistin ylikuormituksen ja lisÃĪÃĪ lÃĪpi-vientiÃĪ.
- Ytimen automaattinen sÃĪÃĪtÃķ: TensorRT valitsee automaattisesti parhaan ytimen kullekin toiminnolle, optimoiden inferenssin tietyn GPU:n osalta.
NÃĪmÃĪ tekniikat mahdollistavat TensorRT-LLM:lle optimoida inferenssin suorituskykyÃĪ syvÃĪn oppimisen tehtÃĪvissÃĪ, kuten luonnollisen kielen prosessoinnissa, suositussysteemeissÃĪ ja reaaliaikaisessa videon analytiikassa.
KiihdytÃĪ AI-tyÃķkuormia TensorRT:llÃĪ
TensorRT kiihdyttÃĪÃĪ syvÃĪn oppimisen tyÃķkuormia sisÃĪllyttÃĪmÃĪllÃĪ tarkkuusoptimoimisia kuten INT8 ja FP16. NÃĪmÃĪ vÃĪhennetyt tarkkuusmuodot sallivat merkittÃĪvÃĪsti nopeamman inferenssin sÃĪilyttÃĪen tarkin. TÃĪmÃĪ on erityisen arvokasta reaaliaikaisissa sovelluksissa, joissa matala viive on kriittinen vaatimus.
INT8 ja FP16 optimoinnit ovat erityisen tehokkaita seuraavissa:
- Videovirran kÃĪsittely: AI-pohjaiset videon kÃĪsittelytehtÃĪvÃĪt, kuten esineen havaitseminen, hyÃķtyvÃĪt nÃĪistÃĪ optimoinneista vÃĪhentÃĪmÃĪllÃĪ kestoja kehysien prosessoinnissa.
- Suositussysteemit: KiihdyttÃĪmÃĪllÃĪ inferenssiÃĪ malleille, jotka prosessoi suuria mÃĪÃĪriÃĪ kÃĪyttÃĪjÃĪtietoja, TensorRT mahdollistaa reaaliaikaisen henkilÃķkohtaisen suosittelun suuressa mittakaavassa.
- Luonnollisen kielen prosessointi (NLP): TensorRT parantaa NLP-tehtÃĪvien, kuten tekstin luomisen, kÃĪÃĪntÃĪmisen ja yhteenvetokuvan, nopeutta, tehden niistÃĪ soveltuvia reaaliaikaisiin sovelluksiin.
KÃĪyttÃķÃķnotto, suoritus ja skaalautuminen NVIDIAN Tritonilla
Kun mallisi on optimoitu TensorRT-LLM:llÃĪ, voit helposti kÃĪyttÃĪÃĪ, suorittaa ja skaalata sitÃĪ NVIDIAN Triton Inferenssipalvelimen avulla. Triton on avoimen lÃĪhdekoodin ohjelmisto, joka tukee dynaamista erÃĪilyÃĪ, mallien yhdistelyÃĪ ja korkeaa lÃĪpi-vientiÃĪ. Se tarjoaa joustavan ympÃĪristÃķn AI-mallien hallintaan suuressa mittakaavassa.
Jotkut avainominaisuudet ovat:
- Rinnakkainen mallin suoritus: Suorita useita malleja samanaikaisesti, maksimoimalla GPU:n kÃĪyttÃķ.
- Dynaaminen erÃĪily: YhdistÃĪ useita inferenssipyynnÃķksi yhteen erÃĪÃĪn, vÃĪhentÃĪen viivettÃĪ ja lisÃĪten lÃĪpi-vientiÃĪ.
- StriimausÃĪÃĪni- ja videolÃĪhdÃķt: Tukee lÃĪhtÃķstrÃķimejÃĪ reaaliaikaisissa sovelluksissa, kuten live-videon analytiikassa tai puhe-teksti -palveluissa.
TÃĪmÃĪ tekee Tritonista arvokkaan tyÃķkalun TensorRT-LLM-optimoitujen mallien kÃĪyttÃķÃķnotossa tuotantoympÃĪristÃķissÃĪ, varmistaen korkean skaalautuvuuden ja tehokkuuden.
TensorRT-LLM:n ydinominaisuudet LLM-inferenssiin
Avoimen lÃĪhdekoodin Python-rajapinta
TensorRT-LLM tarjoaa erittÃĪin modulaarisen ja avoimen lÃĪhdekoodin Python-rajapinnan, yksinkertaistaen LLM-mallien mÃĪÃĪrittely-, optimointi- ja suorittamisprosessia. Rajapinta mahdollistaa kehittÃĪjille luoda mukautettuja LLM-malleja tai muokata valmiita malleja ilman syvÃĪÃĪ CUDA- tai syvÃĪn oppimisen kehyksen tuntemusta.
Lennossa oleva erÃĪily ja sivutettu huomio
Yksi TensorRT-LLM:n erityisominaisuuksista on Lennossa oleva erÃĪily, joka optimoi tekstin luomista prosessoiden useita pyynnÃķksiÃĪ samanaikaisesti. TÃĪmÃĪ ominaisuus minimoi odotteluaikaa ja parantaa GPU:n kÃĪyttÃķÃĪ dynaamisesti erÃĪilemÃĪllÃĪ sekvenssejÃĪ.
LisÃĪksi Sivutettu huomio varmistaa, ettÃĪ muistin kÃĪyttÃķ pysyy alhaisena, vaikka kÃĪsiteltÃĪisiin pitkiÃĪ syÃķte-sekvenssejÃĪ. Sen sijaan, ettÃĪ varataan yhtenÃĪinen muisti kaikille tokenille sekvenssissÃĪ, sivutettu huomio jakaa muistin âsivuihinâ, jotka voidaan uudelleen kÃĪyttÃĪÃĪ dynaamisesti, estÃĪen muistin fragmentaation ja parantaen tehokkuutta.
Moni-GPU- ja monisolmu-inferenssi
Suuremmille malleille tai monimutkaisemmille tyÃķkuormille TensorRT-LLM tukee moni-GPU ja monisolmu-inferenssiÃĪ. TÃĪmÃĪ mahdollistaa mallilaskelmien jakamisen useiden GPU:iden tai solmujen kesken, parantaen lÃĪpi-vientiÃĪ ja vÃĪhentÃĪen koko inferenssiaikaa.
FP8-tuki
FP8:n (8-bittisen liukuluvun) myÃķtÃĪ TensorRT-LLM hyÃķdyntÃĪÃĪ NVIDIAN H100-grafiikkaprosessoreiden uusimpia innovaatioita. FP8 vÃĪhentÃĪÃĪ LLM-mallien muistijalanjÃĪlkeÃĪ tallentamalla painot ja aktivaatiot 8-bittisessÃĪ liukuluvussa, johtaen nopeampaan laskentaan ilman merkittÃĪvÃĪÃĪ tarkin alentumista. TensorRT-LLM kÃĪÃĪntÃĪÃĪ automaattisesti mallit hyÃķdyntÃĪmÃĪÃĪn optimoituja FP8-ytimiÃĪ, kiihdyttÃĪen edelleen inferenssiaikoja.
TensorRT-LLM:n arkkitehtuuri ja komponentit
YmmÃĪrtÃĪÃĪksesi TensorRT-LLM:n arkkitehtuuri parhaiten, on tÃĪrkeÃĪÃĪ tutustua sen avainkomponentteihin:
Mallin mÃĪÃĪrittely
TensorRT-LLM sallii LLM-mallien mÃĪÃĪrittelyn yksinkertaisella Python-rajapinnalla. Rajapinta rakentaa verkkoesitysmuodon mallista, helpottaen monimutkaisten kerrosten hallintaa LLM-arkkitehtuureissa kuten GPT ja BERT.
Painojen sitominen
Ennen mallin kÃĪÃĪntÃĪmistÃĪ, painot (tai parametri) on sitominen verkkoon. TÃĪmÃĪ vaihe varmistaa, ettÃĪ painot upotetaan TensorRT-moottoriin, mahdollistaen nopean ja tehokkaan inferenssin. TensorRT-LLM sallii myÃķs painojen pÃĪivittÃĪmisen kÃĪÃĪnnÃķksen jÃĪlkeen, lisÃĪten joustavuutta malleille, jotka vaativat usein pÃĪivityksiÃĪ.
Mallin havaitseminen ja yhdistÃĪminen
Operaatioiden yhdistÃĪminen on toinen voimakas ominaisuus TensorRT-LLM:ssÃĪ. YhdistÃĪmÃĪllÃĪ useita operaatioita (esim. matriisien kertolaskut aktivaatiorunktojen kanssa) yhteen CUDA-ytimeen, TensorRT minimoi useiden ydinten kÃĪynnistÃĪmiseen liittyvÃĪn viiveen. TÃĪmÃĪ vÃĪhentÃĪÃĪ muistin siirtoja ja nopeuttaa inferenssiÃĪ.
LisÃĪosat
Laajentaaksesi TensorRT:n ominaisuuksia, kehittÃĪjÃĪt voivat kirjoittaa lisÃĪosia â mukautettuja ytimiÃĪ, jotka suorittavat tiettyjÃĪ tehtÃĪviÃĪ, kuten monipÃĪisen huomion parantamista Transformer-pohjaisissa malleissa.
Esimerkiksi Flash-Attention-lisÃĪosa on tunnettu mukautettu ydin, joka optimoi monipÃĪistÃĪ huomiota Transformer-mallien huomiokerroksissa. KÃĪyttÃĪmÃĪllÃĪ tÃĪtÃĪ lisÃĪosaa, kehittÃĪjÃĪt voivat saavuttaa merkittÃĪviÃĪ nopeuksia huomion laskennassa â yhdessÃĪ LLM-mallien resursseja vaativimmista osista.
Suorituskykyvertailu: TensorRT-LLM:n suorituskyvyn parannukset
TensorRT-LLM osoittaa merkittÃĪviÃĪ suorituskyvyn parannuksia LLM-inferenssissÃĪ eri NVIDIAN GPU:illa. TÃĪssÃĪ on vertailu inferenssin nopeudesta (mitattuna tokenien mÃĪÃĪrÃĪssÃĪ sekunnissa) kÃĪyttÃĪen TensorRT-LLM:ÃĪÃĪ eri NVIDIAN GPU:illa:
| Malli | Tarkkuus | SyÃķte/Ulostulo-pituus | H100 (80GB) | A100 (80GB) | L40S FP8 |
|---|---|---|---|---|---|
| GPTJ 6B | FP8 | 128/128 | 34,955 | 11,206 | 6,998 |
| GPTJ 6B | FP8 | 2048/128 | 2,800 | 1,354 | 747 |
| LLaMA v2 7B | FP8 | 128/128 | 16,985 | 10,725 | 6,121 |
| LLaMA v3 8B | FP8 | 128/128 | 16,708 | 12,085 | 8,273 |
NÃĪmÃĪ suorituskykyvertailut osoittavat, ettÃĪ TensorRT-LLM tarjoaa merkittÃĪviÃĪ suorituskyvyn parannuksia, erityisesti pidemmissÃĪ sekvensseissÃĪ.
KÃĪytÃĪnnÃķn esimerkki: Asenna ja rakenna TensorRT-LLM
Vaihe 1: Luo konttialusta
TensorRT-LLM tarjoaa Docker-kuvia, joilla voit luoda hallitun ympÃĪristÃķn mallien rakentamiseen ja suorittamiseen.
[koodi kielenÃĪ=âPYTHONâ]
docker build âpull \
âtarget devel \
âfile docker/Dockerfile.multi \
âtag tensorrt_llm/devel:latest .
[/koodi]
[koodi kielenÃĪ=âPYTHONâ]
python3 ./scripts/build_wheel.py âtrt_root /usr/local/tensorrt
pip install ./build/tensorrt_llm*.whl
[/koodi]
Vaihe 2: Suorita kontti
Suorita kehityskontti, jossa on pÃĪÃĪsy NVIDIAN GPU:ihin:
[koodi kielenÃĪ=âPYTHONâ]
docker run ârm -it \
âipc=host âulimit memlock=-1 âulimit stack=67108864 âgpus=all \
âvolume ${PWD}:/code/tensorrt_llm \
âworkdir /code/tensorrt_llm \
tensorrt_llm/devel:latest
[/koodi]
Vaihe 3: Rakenna TensorRT-LLM lÃĪhdekoodista
Kontin sisÃĪllÃĪ, kÃĪÃĪnnÃĪ TensorRT-LLM seuraavalla komennolla:
[koodi kielenÃĪ=âPYTHONâ]
python3 ./scripts/build_wheel.py âtrt_root /usr/local/tensorrt
pip install ./build/tensorrt_llm*.whl
[/koodi]
TÃĪmÃĪ vaihtoehto on erityisen hyÃķdyllinen, kun haluat vÃĪlttÃĪÃĪ yhteensopivuusongelmia liittyen Python-riippuvuuksiin tai keskittyÃĪ C++-integrointiin tuotantojÃĪrjestelmissÃĪ. Kun kÃĪÃĪnnÃķs on valmis, lÃķydÃĪt kÃĪÃĪnnetyt kirjastot C++-ajonaikaisesta cpp/build/tensorrt_llm-hakemistosta, valmiina integroimiseen C++-sovelluksiisi.
Vaihe 4: LinkitÃĪ TensorRT-LLM C++-ajonaikainen
Integroidessasi TensorRT-LLM:ÃĪÃĪ C++-projektiisi, varmista, ettÃĪ projektiisi osoittavat polut cpp/include-hakemistoon. TÃĪmÃĪ sisÃĪltÃĪÃĪ vakaat, tuetut API-otsikot. TensorRT-LLM-kirjastot linkitetÃĪÃĪn osana C++-kÃĪÃĪnnÃķsprosessia.
Esimerkiksi projektiisi CMake-konfiguraatio voi sisÃĪltÃĪÃĪ:
[koodi kielenÃĪ=âPYTHONâ]
include_directories(${TENSORRT_LLM_PATH}/cpp/include)
link_directories(${TENSORRT_LLM_PATH}/cpp/build/tensorrt_llm)
target_link_libraries(your_project tensorrt_llm)
[/koodi]
TÃĪmÃĪ integrointi mahdollistaa hyÃķdyntÃĪÃĪksesi TensorRT-LLM:n optimoinnit mukautetuissa C++-projekteissasi, varmistaen tehokkaan inferenssin myÃķs alhaisissa tai suorituskykyisissÃĪ ympÃĪristÃķissÃĪ.
Edistyneet TensorRT-LLM-ominaisuudet
TensorRT-LLM on enemmÃĪn kuin vain optimointikirjasto; se sisÃĪltÃĪÃĪ useita edistyneitÃĪ ominaisuuksia, jotka auttavat ottamaan suuret LLM-kÃĪyttÃķÃķnotot haltuun. TÃĪssÃĪ kÃĪymme lÃĪpi joitakin nÃĪistÃĪ ominaisuuksista tarkemmin:
1. Lennossa oleva erÃĪily
Perinteinen erÃĪily vaatii odottelua, kunnes erÃĪ on tÃĪysin kerÃĪtty ennen prosessointia, mikÃĪ voi aiheuttaa viiveitÃĪ. Lennossa oleva erÃĪily muuttaa tÃĪmÃĪn aloittamalla inferenssin valmiista pyynnÃķistÃĪ erÃĪssÃĪ, samalla kun kerÃĪtÃĪÃĪn muita pyynnÃķksiÃĪ. TÃĪmÃĪ parantaa kokonaisuorituskykyÃĪ minimoiden odotteluaikaa ja parantaen GPU:n kÃĪyttÃķÃĪ.
TÃĪmÃĪ ominaisuus on erityisen arvokas reaaliaikaisissa sovelluksissa, kuten chatboteissa tai ÃĪlykkÃĪissÃĪ avustajissa, joissa vastausaika on kriittinen.
2. Sivutettu huomio
Sivutettu huomio on muistin optimointitekniikka pitkien syÃķte-sekvenssien kÃĪsittelyyn. Sen sijaan, ettÃĪ vaadittaisiin yhtenÃĪistÃĪ muistia kaikille tokenille sekvenssissÃĪ (mikÃĪ voi johtaa muistin fragmentaatioon), sivutettu huomio sallii mallin jakaa avain-arvo-keskusdatan âsivuihinâ muistia, jotka voidaan dynaamisesti mÃĪÃĪrittÃĪÃĪ ja vapauttaa, optimoiden muistin kÃĪytÃķn.
Sivutettu huomio on kriittinen pitkien sekvenssien kÃĪsittelyssÃĪ ja muistin ylikuormituksen vÃĪhentÃĪmisessÃĪ, erityisesti generatiivisissa malleissa kuten GPT ja LLaMA.
3. Mukautettavat lisÃĪosat
TensorRT-LLM sallii laajentaa sen toiminnallisuutta mukautettavilla lisÃĪosilla. LisÃĪosat ovat kÃĪyttÃĪjÃĪn mÃĪÃĪrittÃĪmÃĪt ytimet, jotka mahdollistavat tiettyjÃĪ optimoimisia tai toimintoja, joita standardi TensorRT-kirjasto ei kata.
Esimerkiksi Flash-Attention-lisÃĪosa on tunnettu mukautettu ydin, joka optimoi monipÃĪistÃĪ huomiota Transformer-pohjaisissa malleissa. KÃĪyttÃĪmÃĪllÃĪ tÃĪtÃĪ lisÃĪosaa, kehittÃĪjÃĪt voivat saavuttaa merkittÃĪviÃĪ nopeuksia huomion laskennassa â yhdessÃĪ LLM-mallien resursseja vaativimmista osista.
Voit integroida mukautetun lisÃĪosan TensorRT-LLM-malliisi kirjoittamalla mukautetun CUDA-ytimen ja rekisterÃķimÃĪllÃĪ sen TensorRT:lle. LisÃĪosa kutsutaan mallin suorittamisen aikana, tarjoten rÃĪÃĪtÃĪlÃķityjÃĪ suorituskyvyn parannuksia.
4. FP8-tarkkuus NVIDIAN H100:lla
FP8-tarkkuuden myÃķtÃĪ TensorRT-LLM hyÃķdyntÃĪÃĪ NVIDIAN uusimpia innovaatioita H100 Hopper -arkkitehtuurissa. FP8 vÃĪhentÃĪÃĪ LLM-mallien muistijalanjÃĪlkeÃĪ tallentamalla painot ja aktivaatiot 8-bittisessÃĪ liukuluvussa, johtaen nopeampaan laskentaan ilman merkittÃĪvÃĪÃĪ tarkin alentumista. TensorRT-LLM kÃĪÃĪntÃĪÃĪ automaattisesti mallit hyÃķdyntÃĪmÃĪÃĪn optimoituja FP8-ytimiÃĪ, kiihdyttÃĪen edelleen inferenssiaikoja.
TÃĪmÃĪ tekee TensorRT-LLM:stÃĪ ihanteellisen valinnan suurten kÃĪyttÃķÃķnottojen tarpeisiin, joissa vaaditaan huipputasoinen suorituskyky ja energiatehokkuus.
Esimerkki: KÃĪyttÃķÃķnotto TensorRT-LLM:llÃĪ Triton Inferenssipalvelimella
TuotantokÃĪyttÃķÃķnotoissa NVIDIAN Triton Inferenssipalvelin tarjoaa vankkaan alustan mallien hallintaan suuressa mittakaavassa. TÃĪssÃĪ esimerkissÃĪ osoitamme, kuinka kÃĪyttÃĪÃĪ TensorRT-LLM-optimoitua mallia Tritonilla.
Vaihe 1: MÃĪÃĪritÃĪ mallin hakemisto
Luo mallin hakemisto Tritonille, joka tallentaa TensorRT-LLM-mallitiedostosi. Esimerkiksi, jos olet kÃĪÃĪntÃĪnyt GPT2-mallin, hakemistorakenteesi voisi nÃĪyttÃĪÃĪ tÃĪltÃĪ:
[koodi kielenÃĪ=âBASHâ]
mkdir -p model_repository/gpt2/1
cp ./trt_engine/gpt2_fp16.engine model_repository/gpt2/1/
[/koodi]
Vaihe 2: Luo Triton-konfiguraatiotiedosto
Samassa model_repository/gpt2/-hakemistossa luo konfiguraatiotiedosto nimeltÃĪ config.pbtxt, joka kertoo Tritonille, kuinka ladata ja suorittaa malli. TÃĪssÃĪ on peruskonfiguraatio TensorRT-LLM:lle:
[koodi kielenÃĪ=âPYTHONâ]
name: âgpt2â
platform: âtensorrt_llmâ
max_batch_size: 8
syÃķte [
{
name: âinput_idsâ
data_type: TYPE_INT32
dims: [-1]
}
]
ulos [
{
name: âlogitsâ
data_type: TYPE_FP32
dims: [-1, -1]
}
]
[/koodi]
Vaihe 3: KÃĪynnistÃĪ Triton-palvelin
KÃĪytÃĪ seuraavaa Docker-komentoa kÃĪynnistÃĪÃĪksesi Tritonin mallin hakemistolla:
[koodi kielenÃĪ=âPYTHONâ]
docker run ârm âgpus all \
-v $(pwd)/model_repository:/models \
nvcr.io/nvidia/tritonserver:23.05-py3 \
tritonserver âmodel-repository=/models
[/koodi]
Vaihe 4: LÃĪhetÃĪ inferenssipyynnÃķt Tritonille
Kun Triton-palvelin on kÃĪynnissÃĪ, voit lÃĪhettÃĪÃĪ sille inferenssipyynnÃķksiÃĪ HTTP:llÃĪ tai gRPC:llÃĪ. Esimerkiksi, kÃĪyttÃĪen curl lÃĪhettÃĪÃĪksesi pyynnÃķn:
[koodi kielenÃĪ=âPYTHONâ]
curl -X POST http://localhost:8000/v2/models/gpt2/infer -d â{
âinputsâ: [
{ânameâ: âinput_idsâ, âshapeâ: [1, 128], âdatatypeâ: âINT32â, âdataâ: [[101, 234, 1243]]}
]
}â
[/koodi]
Triton prosessoi pyynnÃķn kÃĪyttÃĪen TensorRT-LLM-moottoria ja palauttaa logiitit ulostulona.
Parhaat kÃĪytÃĪnnÃķt LLM-inferenssin optimoimiseksi TensorRT-LLM:llÃĪ
HyÃķdyntÃĪÃĪksesi tÃĪysin TensorRT-LLM:n voimaa, on tÃĪrkeÃĪÃĪ noudattaa parhaita kÃĪytÃĪntÃķjÃĪ sekÃĪ mallin optimoinnissa ettÃĪ kÃĪyttÃķÃķnotossa. TÃĪssÃĪ ovat joitakin avainvinkkejÃĪ:
1. Profiili mallisi ennen optimointia
Ennen kuin sovellet optimoimisia, kuten kvantisaatiota tai ytimen yhdistÃĪmistÃĪ, kÃĪytÃĪ NVIDIAN profilointityÃķkaluja (kuten Nsight Systems tai TensorRT Profiler) ymmÃĪrtÃĪÃĪksesi nykyiset pullonkaulat mallin suorituksessa. TÃĪmÃĪ mahdollistaa kohdennetun parantamisen, johtaen tehokkaampiin optimoimisiin.
2. KÃĪytÃĪ sekoitettua tarkkuutta optimaalisen suorituskyvyn saavuttamiseksi
Optimoidessasi malleja TensorRT-LLM:llÃĪ, sekoitettu tarkkuus (yhdistelmÃĪ FP16 ja FP32) tarjoaa merkittÃĪvÃĪn nopeutuksen ilman suurta tarkin alentumista. Saavuttaaksesi parhaimman tasapainon nopeuden ja tarkin vÃĪlillÃĪ, harkitse FP8:n kÃĪyttÃķÃĪ, erityisesti H100-grafiikkaprosessoreilla.
3. HyÃķdynnÃĪ sivutettua huomiota pitkien sekvenssien kÃĪsittelyssÃĪ
TehtÃĪvissÃĪ, jotka vaativat pitkiÃĪ syÃķte-sekvenssejÃĪ, kuten asiakirjan yhteenveto tai monivaiheinen keskustelu, kÃĪytÃĪ aina sivutettua huomiota muistin kÃĪytÃķn optimoimiseksi. TÃĪmÃĪ vÃĪhentÃĪÃĪ muistin ylikuormituksen ja estÃĪÃĪ muistivirheitÃĪ inferenssin aikana.
4. SÃĪÃĪdÃĪ rinnakkaisuutta moni-GPU-kokoonpanoissa
KÃĪyttÃĪessÃĪsi LLM-malleja useiden GPU:iden tai solmujen yli, on tÃĪrkeÃĪÃĪ sÃĪÃĪtÃĪÃĪ tensorin rinnakkaisuutta ja putken rinnakkaisuutta vastaamaan tyÃķkuormiasi. Oikean konfiguraation valitseminen voi johtaa merkittÃĪviin suorituskyvyn parannuksiin jakamalla laskentakuorman tasaisesti GPU:iden kesken.
JohtopÃĪÃĪtÃķs
TensorRT-LLM edustaa merkittÃĪvÃĪÃĪ askelta eteenpÃĪin LLM-mallien optimoimisessa ja kÃĪyttÃķÃķnotossa. Sen edistyneiden ominaisuuksien, kuten kvantisaation, operaatioiden yhdistÃĪmisen, FP8-tarkkuuden ja moni-GPU-tuen, ansiosta TensorRT-LLM mahdollistaa LLM-mallien suorittamisen nopeammin ja tehokkaammin NVIDIAN GPU:illa. Olit sitten tyÃķskentelemÃĪssÃĪ reaaliaikaisissa chat-sovelluksissa, suositussysteemeissÃĪ tai suurissa kielen malleissa, TensorRT-LLM tarjoaa tyÃķkalut, jotka tarvitaan suorituskyvyn rajojen venyttÃĪmiseen.
TÃĪmÃĪ opas on opastanut sinua TensorRT-LLM:n asennuksesta, mallien optimoimisesta Python-rajapinnalla, kÃĪyttÃķÃķnotosta Triton Inferenssipalvelimella ja parhaiden kÃĪytÃĪntÃķjen soveltamisesta tehokkaaseen inferenssiin. TensorRT-LLM:llÃĪ voit kiihdyttÃĪÃĪ AI-tyÃķkuormiasi, vÃĪhentÃĪÃĪ viivettÃĪ ja toimittaa skaalautuvia LLM-ratkaisuja tuotantoympÃĪristÃķihin.
LisÃĪtietoja varten, tutustu viralliseen TensorRT-LLM-dokumentaatioon ja Triton Inferenssipalvelimen dokumentaatioon.












