En este nuevo artículo de la serie NVIDIA AI Decoded nos centramos en TensorRT, un kit de desarrollo especializado en tareas de inferencia y aprendizaje profundo exigentes que necesiten de un alto nivel de rendimiento. Incluye un optimizador de inferencia de aprendizaje profundo, ofrece un tiempo de ejecución con una latencia muy baja y puede multiplicar hasta en 36 veces el rendimiento en procesos de inferencia (comparado con una CPU).
La IA generativa se ha convertido en uno de los avances más importantes del momento, y en una tecnología que no deja de avanzar y de implementarse en diferentes industrias. Este crecimiento en popularidad ha llevado a una mayor demanda de la IA generativa a nivel local, es decir, ejecutada en PCs y estaciones de trabajo de forma nativa y sin necesidad de recurrir a la nube. Esto tiene importantes ventajas, entre las que podemos destacar:
- Privacidad y seguridad.
- Eliminación de la dependencia de redes públicas.
- Menos latencia.
- Más control sobre nuestros datos.
Las tarjetas gráficas NVIDIA GeForce RTX tienen núcleos tensor, un hardware dedicado que trabaja como acelerador de IA y que ha hecho posible la utilización de la IA generativa en local. TensorRT ha jugado un papel fundamental en este sentido, ya que permite aprovechar al máximo el potencial que ofrecen los núcleos tensor de las GPUs GeForce RTX, y como dije anteriormente puede multiplicar el rendimiento hasta por 36 comparado con una CPU de gama alta actual.
TensorRT nos lleva a una IA más eficiente y precisa
Este kit de desarrollo permite a los desarrolladores un acceso profundo al hardware para crear y ofrecer experiencias de IA totalmente optimizadas. La mejora de rendimiento, comparado con lo que podríamos obtener con otras soluciones similares, es de un 200%, es decir, podemos conseguir el doble de rendimiento frente a otros frameworks.
TensorRT también puede acelerar los modelos de IA generativa más populares, como Stable Diffusion y SDXL. Por ejemplo, el rendimiento de Stable Video Diffusion mejora en un 40%, y Stable Diffusion WebUI ha recibido soporte de ControlNets, unas herramientas que nos permiten refinar los resultados obtenidos con la IA generativa gracias a la opción de añadir imágenes como guía de lo que queremos obtener. Gracias a TensorRT el rendimiento también mejora en un 40%.
La aceleración que ofrece TensorRT también mejora en un 50% el rendimiento de una GeForce RTX 4080 SUPER en el nuevo benchmark UL Procyon AI Image Generation, comparado con la implementación más rápida actual no basada en TensorRT. Esta prueba recrea de forma precisa el rendimiento que podríamos esperar en pruebas reales.
DaVinci Resolve es otra aplicación importante que abrazó TensorRT en su versión 18.6. Gracias a esa actualización sus principales herramientas basadas en IA mejoraron el rendimiento en un 50%, y funcionan hasta 2,3 veces más rápido con tarjetas gráficas GeForce RTX frente a equipos Mac de última generación. Topaz Labs es otra de las empresas más importantes que ha apostado por TensorRT, y gracias a ello sus aplicaciones han mejorado su rendimiento hasta en un 60%.
Optimizado para los LLMs
TensorRT también está optimizado para los LLMs más populares, y ofrece un valor importante en tareas relacionadas con el aprendizaje profundo. En este caso estamos hablando de TensorRT-LLM, una biblioteca de código abierto creada por NVIDIA que utiliza la potencia de los núcleos tensor en tareas relacionadas con IA y aprendizaje profundo.
Ofrece un soporte completo de los LLMs más importantes del momento, incluyendo Phi-2, Llama2, Gemma, Mistral y Code Llama, y es capaz de multiplicar por cuatro el rendimiento de la plataforma en la que se realizan las operaciones de inferencia relacionadas con los modelos LLMs. Cuando trabajamos en local sería el PC sobre el que se ejecuten dichos modelos.
En este sentido NVIDIA ya hizo una demostración importante de lo que puede dar de sí esta biblioteca con ChatRTX, que utiliza TensorRT-LLM y está optimizada para tarjetas gráficas GeForce RTX. NVIDIA ha confirmado que está colaborando con la comunidad open source para desarrollar conectores nativos de TensorRT-LLM con los frameworks más populares, entre los que podemos destacar LlamaIndex y LangChain, todo en aras de facilitar su utilización y un correcto aprovechamiento.