AI-mallit ja alustat

TensorRT-LLM: Kattava opas suurten kielen mallien inference-optimoimiseen maksimaalisen suorituskyvyn saavuttamiseksi

mm
LisÃĪÃĪ Unite.AI suosikkilÃĪhteisiisi Google-palvelussa

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.

Olen viettÃĪnyt viimeiset viisi vuotta uppoutumalla kiinnostavaan koneoppimisen ja syvÃĪn oppimisen maailmaan. Minun intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut AI/ML. Minun jatkuva uteliaisuuteni on myÃķs ohjannut minun luontaisen kielen prosessoinnin pariin, jota haluan tutkia tarkemmin.