¡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.
Comparación de GPT-J-6B A100 y H100 con y sin TensorRT-LLM
Además, tomando Llama 2 como ejemplo, TensorRT-LLM puede mejorar el rendimiento de inferencia 4,6 veces en comparación con el uso de A100 solo.
Comparación de Llama 2 70B, 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 de código abierto simple.
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 de 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 está optimizado para utilizar H100 Transformer Engine 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.
Apoya 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 Llama 2-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 (Kernal Fusion), 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 Meta Llama 2, OpenAI GPT-2 y GPT-3, Falcon, Mosaic MPT, BLOOM y más de 10 modelos, todos los cuales se pueden llamar usando la API Python TensorRT-LLM 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.
Un modelo se puede utilizar 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 salida deben ser de distintos órdenes de magnitud para la tarea. necesidad.
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 secuencias completadas del lote inmediatamente, en lugar de esperar a que se complete todo el lote antes de continuar procesando el 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 vuelo 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.
Motor transformador H100 usando FP 8
TensorRT-LLM también proporciona una función llamada H100 Transformer Engine, 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 H100 Transformer Engine, la GPU H100 con TensorRT-LLM permite a los usuarios convertir fácilmente los pesos de los modelos al nuevo formato FP8 y compilar automáticamente el modelo para aprovechar el kernel optimizado de 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:
NVIDIA también dijo que TensorRT-LLM se integrará pronto en el marco NVIDIA NeMo.
Este marco es parte de AI Enterprise lanzado por NVIDIA no hace mucho, y proporciona a los clientes empresariales una plataforma de software de IA 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.
Acalorada 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: creen que Tensor RT 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 en el futuro aparecerá hardware diseñado específicamente para LLM para mejorar el rendimiento de LLM. Esta situación en realidad ya es popular en muchos. ha aparecido en aplicaciones, y LLM no es una excepción.
Referencias:
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
¡El razonamiento H100 se disparó 8 veces! NVIDIA anunció oficialmente TensorRT-LLM de código abierto, compatible con más de 10 modelos
Fuente original: Xinzhiyuan
¡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.
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.
Además, tomando Llama 2 como ejemplo, TensorRT-LLM puede mejorar el rendimiento de inferencia 4,6 veces en comparación con el uso de A100 solo.
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.
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.
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.
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 está optimizado para utilizar H100 Transformer Engine 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.
Apoya 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 Llama 2-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.
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.
Fusión de kernel compatible (Kernal Fusion), 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 Meta Llama 2, OpenAI GPT-2 y GPT-3, Falcon, Mosaic MPT, BLOOM y más de 10 modelos, todos los cuales se pueden llamar usando la API Python TensorRT-LLM 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.
Un modelo se puede utilizar 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 salida deben ser de distintos órdenes de magnitud para la tarea. necesidad.
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.
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 secuencias completadas del lote inmediatamente, en lugar de esperar a que se complete todo el lote antes de continuar procesando el 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 vuelo 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.
Motor transformador H100 usando FP 8
TensorRT-LLM también proporciona una función llamada H100 Transformer Engine, 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.
A través de la tecnología H100 Transformer Engine, la GPU H100 con TensorRT-LLM permite a los usuarios convertir fácilmente los pesos de los modelos al nuevo formato FP8 y compilar automáticamente el modelo para aprovechar el kernel optimizado de 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:
NVIDIA también dijo que TensorRT-LLM se integrará pronto en el marco NVIDIA NeMo.
Este marco es parte de AI Enterprise lanzado por NVIDIA no hace mucho, y proporciona a los clientes empresariales una plataforma de software de IA 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.
Acalorada 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.