Artificial Intelligence
TensorRT-LLM: Mwongozo Kamili wa Kuboresha Muundo wa Lugha Kubwa kwa Utendaji wa Juu

Kadiri mahitaji ya miundo mikubwa ya lugha (LLMs) yanavyoendelea kuongezeka, kuhakikisha uelekezaji wa haraka, ufaao, na wa kupanuka umekuwa muhimu zaidi kuliko hapo awali. NVIDIA TensorRT-LLM hatua za kushughulikia changamoto hii kwa kutoa seti ya zana zenye nguvu na uboreshaji iliyoundwa mahususi kwa uelekezaji wa LLM. TensorRT-LLM inatoa safu ya kuvutia ya maboresho ya utendakazi, kama vile quantization, kernel fusion, batching ndani ya ndege, na usaidizi wa GPU nyingi. Maendeleo haya yanawezesha kufikia kasi ya makisio hadi mara 8 kwa kasi zaidi kuliko mbinu za jadi za msingi wa CPU, kubadilisha jinsi tunavyotumia LLM katika uzalishaji.
Mwongozo huu wa kina utachunguza vipengele vyote vya TensorRT-LLM, kutoka kwa usanifu wake na vipengele muhimu hadi mifano ya vitendo ya kupeleka miundo. Iwe wewe ni mhandisi wa AI, msanidi programu, au mtafiti, mwongozo huu utakupa maarifa ya kutumia TensorRT-LLM kwa ajili ya kuboresha uelekezaji wa LLM kwenye NVIDIA GPU.
Kuharakisha Uingizaji wa LLM na TensorRT-LLM
TensorRT-LLM inatoa maboresho makubwa katika utendaji wa maelekezo wa LLM. Kulingana na majaribio ya NVIDIA, programu kulingana na TensorRT zinaonyesha hadi 8x haraka kasi ya makisio ikilinganishwa na majukwaa ya CPU pekee. Haya ni maendeleo muhimu katika programu za wakati halisi kama vile gumzo, mifumo ya mapendekezo na mifumo inayojiendesha inayohitaji majibu ya haraka.
Jinsi Ni Kazi
TensorRT-LLM huharakisha uelekezaji kwa kuboresha mitandao ya neural wakati wa kupeleka kwa kutumia mbinu kama vile:
- Upimaji: Hupunguza usahihi wa uzani na kuwezesha, kupungua saizi ya muundo na kuboresha kasi ya uelekezaji.
- Safu na Tensor Fusion: Huunganisha shughuli kama vile vitendakazi vya kuwezesha na kuzidisha matriki kuwa operesheni moja.
- Urekebishaji wa Kernel: Huchagua kokwa bora za CUDA kwa hesabu ya GPU, kupunguza muda wa utekelezaji.
Uboreshaji huu huhakikisha kwamba miundo yako ya LLM hufanya kazi kwa ufanisi katika anuwai ya majukwaa ya utumiaji—kutoka kwa vituo vya data vya kiwango kikubwa hadi mifumo iliyopachikwa.
Kuboresha Utendaji wa Maelekezo kwa TensorRT
Imeundwa juu ya muundo wa programu sambamba wa CUDA wa NVIDIA, TensorRT hutoa uboreshaji maalum kwa makisio kwenye NVIDIA GPU. Kwa kurahisisha michakato kama vile ujanibishaji, urekebishaji wa kernel, na muunganisho wa shughuli za tensor, TensorRT inahakikisha kuwa LLM zinaweza kufanya kazi kwa muda mdogo.
Baadhi ya mbinu zenye ufanisi zaidi ni pamoja na:
- Upimaji: Hii inapunguza usahihi wa nambari wa vigezo vya mfano huku ikidumisha usahihi wa juu, ikiharakisha uelekezaji kwa ufanisi.
- Fusion ya Tensor: Kwa kuunganisha shughuli nyingi kwenye kerneli moja ya CUDA, TensorRT inapunguza kichwa cha kumbukumbu na kuongeza upitishaji.
- Urekebishaji wa Kernel otomatiki: TensorRT huchagua kiotomatiki kokwa bora kwa kila operesheni, ikiboresha makisio kwa GPU fulani.
Mbinu hizi huruhusu TensorRT-LLM kuboresha utendaji wa makisio kwa ajili ya kazi za kina za kujifunza kama vile kuchakata lugha asilia, injini za mapendekezo na uchanganuzi wa video wa wakati halisi.
Kuongeza kasi ya Upakiaji wa Kazi wa AI na TensorRT
TensorRT huharakisha mzigo wa kujifunza kwa kina kwa kujumuisha uboreshaji wa usahihi kama vile INT8 na FP16. Miundo hii ya usahihi iliyopunguzwa huruhusu uelekezaji wa haraka zaidi huku ikidumisha usahihi. Hii ni muhimu sana katika programu za wakati halisi ambapo hali ya kusubiri ya chini ni hitaji muhimu.
INT8 na FP16 uboreshaji hufaa hasa katika:
- Utiririshaji wa Video: Kazi za usindikaji wa video kulingana na AI, kama vile utambuzi wa kitu, hunufaika kutokana na uboreshaji huu kwa kupunguza muda unaochukuliwa kuchakata fremu.
- Mifumo ya Mapendekezo: Kwa kuongeza kasi ya makisio kwa miundo inayochakata kiasi kikubwa cha data ya mtumiaji, TensorRT huwezesha ubinafsishaji wa wakati halisi kwa kiwango.
- Utunzaji wa lugha ya asili (NLP): TensorRT huboresha kasi ya kazi za NLP kama vile kuunda maandishi, tafsiri na muhtasari, na kuzifanya zifae kwa programu za wakati halisi.
Tumia, Endesha, na Upime ukitumia NVIDIA Triton
Pindi tu muundo wako utakapoboreshwa kwa TensorRT-LLM, unaweza kuutumia, kuuendesha na kuuweka kwa urahisi kwa kutumia Seva ya Maelekezo ya NVIDIA Triton. Triton ni programu huria inayoauni utengamano unaobadilika, mikusanyiko ya miundo, na matokeo ya juu. Inatoa mazingira rahisi ya kudhibiti mifano ya AI kwa kiwango.
Baadhi ya vipengele muhimu ni pamoja na:
- Utekelezaji wa Mfano wa Sanjari: Endesha miundo mingi kwa wakati mmoja, ukiongeza matumizi ya GPU.
- Kuunganisha kwa Nguvu: Inachanganya maombi mengi ya uelekezaji katika kundi moja, kupunguza muda wa kusubiri na kuongeza matokeo.
- Utiririshaji wa Ingizo za Sauti/Video: Inaauni mitiririko ya ingizo katika programu za wakati halisi, kama vile uchanganuzi wa video za moja kwa moja au huduma za hotuba hadi maandishi.
Hii inafanya Triton kuwa zana muhimu ya kupeleka miundo iliyoboreshwa ya TensorRT-LLM katika mazingira ya uzalishaji, kuhakikisha uboreshaji wa hali ya juu na ufanisi.
Vipengele vya Msingi vya TensorRT-LLM kwa Ufafanuzi wa LLM
Open Source Python API
TensorRT-LLM hutoa moduli ya hali ya juu na API ya chanzo-wazi cha Python, kurahisisha mchakato wa kufafanua, kuboresha, na kutekeleza LLM. API huwawezesha wasanidi programu kuunda LLM maalum au kurekebisha zilizoundwa awali ili kukidhi mahitaji yao, bila kuhitaji ujuzi wa kina wa CUDA au mifumo ya kujifunza kwa kina.
Kuunganisha Ndani ya Ndege na Umakini wa Ukurasa
Moja ya sifa kuu za TensorRT-LLM ni Batching Ndani ya Ndege, ambayo huboresha uzalishaji wa maandishi kwa kuchakata maombi mengi kwa wakati mmoja. Kipengele hiki hupunguza muda wa kusubiri na kuboresha matumizi ya GPU kwa mlolongo wa kubadilishana kwa nguvu.
Zaidi ya hayo, Usikivu wa Ukurasa huhakikisha kuwa utumiaji wa kumbukumbu unabaki chini hata wakati wa kuchakata mifuatano mirefu ya ingizo. Badala ya kugawa kumbukumbu zinazoambatana kwa ishara zote, umakini wa kurasa huvunja kumbukumbu katika "kurasa" ambazo zinaweza kutumika tena kwa nguvu, kuzuia kugawanyika kwa kumbukumbu na kuboresha ufanisi.
Uelekezaji wa Multi-GPU na Njia nyingi
Kwa miundo mikubwa au mizigo changamano zaidi, TensorRT-LLM inasaidia GPU nyingi na uelekezaji wa nodi nyingi. Uwezo huu unaruhusu usambazaji wa hesabu za modeli kwenye GPU au nodi kadhaa, kuboresha matokeo na kupunguza muda wa jumla wa marejeleo.
Msaada wa FP8
Pamoja na ujio wa FP8 (Sehemu 8-bit inayoelea), TensorRT-LLM hutumia H100 GPU za NVIDIA kubadilisha uzani wa muundo kuwa umbizo hili kwa makisio yaliyoboreshwa. FP8 huwezesha utumiaji wa kumbukumbu uliopunguzwa na ukokotoaji haraka, muhimu sana katika uwekaji wa viwango vikubwa.
Usanifu wa TensorRT-LLM na Vipengele
Kuelewa usanifu wa TensorRT-LLM itakusaidia kutumia vyema uwezo wake kwa uelekezaji wa LLM. Wacha tugawanye viungo kuu:
Ufafanuzi wa Mfano
TensorRT-LLM hukuruhusu kufafanua LLM kwa kutumia API rahisi ya Python. API inaunda a uwakilishi wa grafu ya mfano, na kuifanya iwe rahisi kudhibiti tabaka ngumu zinazohusika katika usanifu wa LLM kama GPT au BERT.
Vifungo vya Uzito
Kabla ya kuandaa mfano, uzani (au vigezo) lazima zimefungwa kwenye mtandao. Hatua hii inahakikisha kwamba uzani umepachikwa ndani ya injini ya TensorRT, ikiruhusu uelekezaji wa haraka na bora. TensorRT-LLM pia inaruhusu masasisho ya uzito baada ya kukusanywa, na kuongeza kubadilika kwa miundo inayohitaji masasisho ya mara kwa mara.
Ulinganishaji wa Muundo na Fusion
Operesheni Fusion ni kipengele kingine cha nguvu cha TensorRT-LLM. Kwa kuunganisha utendakazi nyingi (km, kuzidisha kwa matrix na vitendaji vya kuwezesha) kwenye kerneli moja ya CUDA, TensorRT inapunguza kichwa kinachohusishwa na uzinduzi wa kernel nyingi. Hii inapunguza uhamishaji wa kumbukumbu na kuharakisha uelekezaji.
Plugins
Ili kupanua uwezo wa TensorRT, wasanidi programu wanaweza kuandika Plugins-kokwa maalum ambazo hufanya kazi maalum kama vile kuboresha vizuizi vya usikivu wa vichwa vingi. Kwa mfano, Flash-Tahadhari programu-jalizi inaboresha kwa kiasi kikubwa utendaji wa tabaka za tahadhari za LLM.
Vigezo: Manufaa ya Utendaji ya TensorRT-LLM
TensorRT-LLM huonyesha mafanikio makubwa ya utendaji kwa uelekezaji wa LLM kwenye GPU mbalimbali. Hapa kuna ulinganisho wa kasi ya uelekezaji (inayopimwa kwa ishara kwa sekunde) kwa kutumia TensorRT-LLM kwenye GPU tofauti za NVIDIA:
Model | Precision | Ingizo/Urefu wa Kutoa | H100 (GB 80) | A100 (GB 80) | 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 |
Vigezo hivi vinaonyesha kuwa TensorRT-LLM hutoa maboresho makubwa katika utendakazi, haswa kwa mifuatano mirefu.
Imewashwa: Kusakinisha na Kujenga TensorRT-LLM
Hatua ya 1: Unda Mazingira ya Kontena
Kwa urahisi wa matumizi, TensorRT-LLM hutoa picha za Docker ili kuunda mazingira yaliyodhibitiwa ya kujenga na kuendesha modeli.
docker build --pull \ --target devel \ --file docker/Dockerfile.multi \ --tag tensorrt_llm/devel:latest .