TensorRT
| Data d'anunci | 2017 |
|---|---|
| Característiques tècniques | |
| Sistema operatiu | Windows, Linux |
| Equip | |
| Desenvolupador(s) | Nvidia |
TensorRT és un kit de desenvolupament de programari (SDK) i un programa d'optimització d'inferència desenvolupat per Nvidia per implementar models d'aprenentatge profund i aprenentatge automàtic entrenats en unitats de processament gràfic (GPU).[1][2] Pot importar models de frameworks com PyTorch, TensorFlow i ONNX, i compilar-los en motors d'execució optimitzats per a inferència de baixa latència i alt rendiment.[1]
A la documentació actual d'Nvidia, el nom TensorRT també s'utilitza per a una família de productes més àmplia que inclou el SDK principal de TensorRT, TensorRT-LLM i TensorRT-RTX.[3] El SDK principal és principalment un producte propietari d'Nvidia, tot i que Nvidia també manté repositoris TensorRT de codi obert amb llicència Apache i projectes complementaris relacionats.[4]
Història
[modifica]TensorRT ja estava disponible com a part del paquet de programari d'aprenentatge profund d'Nvidia el 2017, quan es va descriure com un motor d'inferència d'alt rendiment per desplegar xarxes neuronals entrenades a les GPU Nvidia.[5] El 2018, Google va anunciar la integració de Nvidia TensorRT amb TensorFlow 1.7, descrivint TensorRT com una biblioteca que optimitza models d'aprenentatge profund per a la inferència i crea un temps d'execució per al desplegament en GPU en entorns de producció.
Visió general
[modifica]El nucli de TensorRT és una biblioteca de C++ que pren una xarxa entrenada, que consisteix en una definició de xarxa i paràmetres entrenats, i produeix un motor d'execució altament optimitzat per a la inferència en GPU Nvidia.[6] TensorRT proporciona API de C++ i Python, i els models es poden expressar directament a través de la seva API de definició de xarxa o importar-los a través del seu analitzador ONNX.
Segons la documentació d'Nvidia, TensorRT realitza optimitzacions a nivell de graf i de nucli, com ara la fusió de capes i la selecció d'implementacions eficients per a les operacions compatibles.[7] La documentació actual també descriu la compatibilitat amb formes dinàmiques, modes d'execució de precisió mixta, com ara FP32, FP16, BF16, FP8 i INT8, i optimitzacions especialitzades per a càrregues de treball de transformadors i models de llenguatge grans.
Els motors TensorRT es poden generar a través de les API de TensorRT o amb la utilitat de línia d'ordres trtexec.[8] La documentació d'inici ràpid d'Nvidia descriu els fluxos de treball de desplegament basats en la conversió ONNX, les API d'execució i la desserialització directa del motor per a aplicacions C++ i Python.
Llicències i components de codi obert
[modifica]El model de llicències al voltant de TensorRT es divideix entre un SDK principal propietari i un conjunt de repositoris i eines de codi obert.[9][10] El programari TensorRT en paquets distribuït per Nvidia es regeix per l'Acord de llicència de programari Nvidia.[9] Alhora, Nvidia manté un repositori públic de TensorRT a GitHub sota la llicència Apache 2.0.
La documentació oficial de TensorRT també dirigeix els usuaris al repositori de programari de codi obert de TensorRT per obtenir codi d'inici ràpid i exemples.[11] La documentació de l'arquitectura descriu eines relacionades com ara la poligrafia per a la depuració i el plegament constant, així com ONNX-GraphSurgeon per modificar els gràfics ONNX abans del desplegament amb TensorRT.[12] TensorRT també admet un mecanisme de complements per a capes personalitzades i operacions no compatibles.
Família de productes
[modifica]La documentació actual d'Nvidia agrupa diversos productes d'inferència sota el nom TensorRT.[13] En aquesta documentació, el SDK principal es distingeix com a TensorRT (Enterprise), mentre que les ofertes relacionades inclouen TensorRT-LLM per a la inferència de models de llenguatge grans i TensorRT-RTX per a GPU RTX de consum.
TensorRT-LLM
[modifica]TensorRT-LLM és un conjunt d'eines de codi obert relacionat per optimitzar i servir models de llenguatge grans a les GPU Nvidia.[14][15] Nvidia ho descriu com una API de Python per definir LLM i construir motors TensorRT optimitzats per a càrregues de treball LLM.[14]
Segons la documentació de la família de productes d'Nvidia, TensorRT-LLM admet l'execució multi-GPU i multi-node, el processament per lots en vol, l'emmagatzematge en memòria cau KV paginada i mètodes de quantificació com ara FP8, INT8 i INT4 per a la publicació de models de rendiment més alt.[16] La base de codi TensorRT-LLM està publicada a GitHub sota la llicència Apache 2.0.
Com que Nvidia documenta TensorRT-LLM com un membre separat de la família de productes TensorRT, normalment es tracta com un projecte de programari relacionat però diferent en lloc de com una sola característica del SDK bàsic de TensorRT.
Referències
[modifica]- 1 2 «NVIDIA TensorRT Documentation» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «Overview» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «NVIDIA TensorRT Product Family» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «TensorRT/python/packaging/frontend_sdist/LICENSE.txt at main» (en anglès). GitHub. [Consulta: 23 abril 2026].
- ↑ «NVIDIA in HPC and AI» (en anglès). Ohio Supercomputer Center. [Consulta: 23 abril 2026].
- ↑ «Overview» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «Overview» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «Quick Start Guide» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- 1 2 «TensorRT/python/packaging/frontend_sdist/LICENSE.txt at main» (en anglès). GitHub. [Consulta: 23 abril 2026].
- ↑ «TensorRT/LICENSE at main» (en anglès). GitHub. [Consulta: 23 abril 2026].
- ↑ «Quick Start Guide» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «Architecture Overview» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «NVIDIA TensorRT Product Family» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- 1 2 «NVIDIA TensorRT Product Family» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].
- ↑ «NVIDIA/TensorRT-LLM» (en anglès). GitHub. [Consulta: 23 abril 2026].
- ↑ «NVIDIA TensorRT Product Family» (en anglès). NVIDIA Docs. [Consulta: 23 abril 2026].