¡Los "pobres de GPU" están a punto de despedirse de su situación! Hace un momento, NVIDIA lanzó un software de código abierto TensorRT-LLM, que puede acelerar el razonamiento de modelos de lenguaje grandes en H100. Entonces, ¿cuántas veces se puede mejorar? Después de agregar TensorRT-LLM y su serie de funciones de optimización (incluido el procesamiento por lotes en vuelo), el rendimiento total del modelo aumentó 8 veces.

Visita la página de compra:

Resumen de productos de la serie NVIDIA de JD.com



Comparación de GPT-J-6BA100 y H100 con y sin TensorRT-LLM

Además, tomando Llama2 como ejemplo, TensorRT-LLM puede mejorar el rendimiento de inferencia 4,6 veces en comparación con el uso solo de A100.


Comparación de Llama270B, A100 y H100 con y sin TensorRT-LLM

Los internautas dijeron que el superpoderoso H100, combinado con TensorRT-LLM, sin duda cambiará por completo la situación actual de la inferencia de modelos de lenguaje a gran escala.


TensorRT-LLM: artefacto de aceleración de inferencia de modelo grande

Actualmente, debido a la enorme escala de parámetros de los modelos grandes, la dificultad y el costo del "despliegue e inferencia" siguen siendo altos.

TensorRT-LLM desarrollado por NVIDIA tiene como objetivo mejorar significativamente el rendimiento de LLM y reducir los costos a través de GPU.


Específicamente, TensorRT-LLM encapsula el compilador de aprendizaje profundo de TensorRT, el kernel optimizado de FasterTransformer, el procesamiento previo y posterior y la comunicación multi-GPU/multi-nodo en una API Python simple de código abierto.

NVIDIA ha mejorado aún más FasterTransformer para convertirlo en una solución productiva.

Se puede ver que TensorRT-LLM proporciona una interfaz de programación de aplicaciones Python modular, de código abierto y fácil de usar.

Los codificadores no necesitan conocimientos profundos de C++ o CUDA para implementar, ejecutar y depurar varios modelos de lenguaje grandes, y también pueden obtener el máximo rendimiento y una rápida personalización.


Según el blog oficial de NVIDIA, TensorRT-LLM optimiza el rendimiento de inferencia LLM en las GPU NVIDIA de cuatro maneras.

En primer lugar, se introduce TensorRT-LLM para los más de 10 modelos grandes actuales, lo que permite a los desarrolladores ejecutarlos inmediatamente.

En segundo lugar, TensorRT-LLM, como biblioteca de software de código abierto, permite a LLM realizar inferencias en múltiples GPU y múltiples servidores de GPU simultáneamente.

Estos servidores están conectados a través de las interconexiones NVLink e InfiniBand de NVIDIA.

El tercero es el "procesamiento por lotes en vuelo", que es una nueva tecnología de programación que permite que diferentes tareas del modelo entren y salgan de la GPU independientemente de otras tareas.

Finalmente, TensorRT-LLM se ha optimizado para utilizar H100TransformerEngine para reducir el uso de memoria y la latencia durante la inferencia del modelo.

A continuación, echemos un vistazo más de cerca a cómo TensorRT-LLM mejora el rendimiento del modelo.

Apoye la rica ecología LLM

TensorRT-LLM proporciona muy buen soporte para el ecosistema de modelos de código abierto.

Los modelos de lenguaje más grandes y avanzados, como Llama2-70B de Meta, requieren múltiples GPU trabajando juntas para brindar respuestas en tiempo real.

Anteriormente, si querían lograr un rendimiento óptimo para la inferencia LLM, los desarrolladores tenían que reescribir el modelo de IA y dividirlo manualmente en múltiples fragmentos y coordinar la ejecución entre las GPU.


TensorRT-LLM utiliza el paralelismo tensorial para distribuir la matriz de peso a cada dispositivo, simplificando así este proceso y permitiendo una inferencia eficiente a gran escala.

Cada modelo puede ejecutarse en paralelo en múltiples GPU y múltiples servidores conectados a través de NVLink, sin intervención del desarrollador ni cambios de modelo.


Con la introducción de nuevos modelos y arquitecturas de modelos, los desarrolladores pueden optimizar sus modelos utilizando el último kernel de IA de NVIDIA (Kernal) de código abierto en TensorRT-LLM.

Fusión de kernel compatible (KernalFusion), incluida la implementación FlashAttention más innovadora y atención de múltiples cabezales enmascarada para el contexto y las etapas de generación de la ejecución del modelo GPT, etc.

Además, TensorRT-LLM incluye versiones totalmente optimizadas y listas para ejecutar de muchos modelos de lenguajes grandes que son populares en la actualidad.

Estos incluyen MetaLlama2, OpenAIGPT-2 y GPT-3, Falcon, MosaicMPT, BLOOM y más de 10 modelos, todos los cuales se pueden llamar usando la API TensorRT-LLMPython simple y fácil de usar.

Estas características pueden ayudar a los desarrolladores a crear modelos de lenguaje grandes personalizados de manera más rápida y precisa para satisfacer las diferentes necesidades de diversas industrias.

Procesamiento por lotes en vuelo

Los modelos de lenguaje grandes se utilizan en una amplia variedad de aplicaciones en la actualidad.

Se puede utilizar un único modelo simultáneamente para múltiples tareas aparentemente dispares, desde simples respuestas de preguntas y respuestas en un chatbot hasta resúmenes de documentos o la generación de largos bloques de código. Las cargas de trabajo son muy dinámicas y los tamaños de producción deben ser de distintos órdenes de magnitud para satisfacer las demandas de la tarea.

La diversidad de tareas puede dificultar el procesamiento por lotes de solicitudes de manera efectiva y la ejecución paralela eficiente, lo que posiblemente provoque que algunas solicitudes se completen antes que otras.


Para gestionar estas cargas dinámicas, TensorRT-LLM incluye una tecnología de programación optimizada llamada "procesamiento por lotes en vuelo".

Su principio básico es que todo el proceso de generación de texto de un modelo de lenguaje grande se puede dividir en múltiples iteraciones de ejecución en el modelo.

Con el procesamiento por lotes en vuelo, el tiempo de ejecución de TensorRT-LLM libera inmediatamente las secuencias completadas del lote, en lugar de esperar a que se complete todo el lote antes de pasar al siguiente conjunto de solicitudes.

Mientras se ejecuta una nueva solicitud, todavía se están procesando otras solicitudes del lote anterior que no se han completado.

El procesamiento por lotes en curso y las optimizaciones adicionales a nivel de kernel mejoran la utilización de la GPU y pueden al menos duplicar el rendimiento del punto de referencia de solicitud LLM real en el H100.

H100Motor transformador usando FP8

TensorRT-LLM también proporciona una función llamada H100TransformerEngine, que puede reducir eficazmente el consumo de memoria y la latencia durante la inferencia de modelos grandes.

Debido a que LLM contiene miles de millones de pesos de modelo y funciones de activación, generalmente se entrena y representa con valores FP16 o BF16, cada uno de los cuales ocupa 16 bits de memoria.

Sin embargo, en el momento de la inferencia, la mayoría de los modelos se pueden representar eficientemente con menor precisión utilizando técnicas de cuantificación, como números enteros de 8 bits o incluso 4 bits (INT8 o INT4).

La cuantificación es el proceso de reducir los pesos del modelo y la precisión de la activación sin sacrificar la precisión. Usar una precisión más baja significa que cada parámetro es más pequeño y el modelo ocupa menos espacio en la memoria de la GPU.


Esto permite realizar inferencias en modelos más grandes que utilizan el mismo hardware y, al mismo tiempo, dedicar menos tiempo a las operaciones de memoria durante la ejecución.

A través de la tecnología H100TransformerEngine, la H100GPU combinada con TensorRT-LLM permite a los usuarios convertir fácilmente los pesos del modelo al nuevo formato FP8 y compilar automáticamente el modelo para aprovechar el kernel optimizado del FP8.

¡Y este proceso no requiere ninguna codificación! El formato de datos FP8 introducido por H100 permite a los desarrolladores cuantificar sus modelos y reducir drásticamente el consumo de memoria sin reducir la precisión del modelo.

En comparación con otros formatos de datos como INT8 o INT4, la cuantificación FP8 conserva una mayor precisión al tiempo que logra el rendimiento más rápido y es la más conveniente de implementar.

Cómo obtener TensorRT-LLM

Aunque TensorRT-LLM aún no se ha lanzado oficialmente, los usuarios ahora pueden tener acceso anticipado.

El enlace de la aplicación es el siguiente:

https://developer.nvidia.com/tensorrt-llm-early-access/join

NVIDIA también dijo que TensorRT-LLM se integrará pronto en el marco NVIDIA NeMo.

Este marco es parte de AIEnterprise, que NVIDIA acaba de lanzar recientemente, brindando a los clientes empresariales una plataforma de software de inteligencia artificial de nivel empresarial segura, estable y altamente manejable.

Los desarrolladores e investigadores pueden acceder a TensorRT-LLM a través del marco NeMo en NVIDIA NGC o como un proyecto en GitHub.

Sin embargo, cabe señalar que los usuarios deben registrarse en el Programa de desarrolladores de NVIDIA para solicitar la versión de acceso anticipado.

Candente discusión entre los internautas

Los internautas en Reddit iniciaron una acalorada discusión sobre el lanzamiento de TensorRT-LLM.

Es difícil imaginar cuánto mejorará el efecto después de optimizar el hardware específicamente para LLM.


Pero algunos internautas creen que el propósito de esto es ayudar a Lao Huang a vender más H100.


Sin embargo, algunos internautas no están muy de acuerdo. Considera que TensorRT también es útil para los usuarios que implementan SD localmente, por lo que siempre que haya una GPU RTX, debería ser posible beneficiarse de productos similares en el futuro.


Desde una perspectiva más macro, tal vez para LLM, también habrá una serie de optimizaciones a nivel de hardware, e incluso aparecerá hardware diseñado específicamente para LLM en el futuro para mejorar el rendimiento de LLM. De hecho, esto ha sucedido en muchas aplicaciones populares y LLM no es una excepción.