¿Qué es el vLLM?

Copiar URL

vLLM significa "modelo de lenguaje de gran tamaño virtual" y es una biblioteca de código open source con mantenimiento de su propia comunidad. Permite que los modelos de lenguaje de gran tamaño (LLM) realicen cálculos de manera más eficiente y según sea necesario.

Específicamente, el vLLM es un servidor de inferencia que agiliza los resultados de las aplicaciones de inteligencia artificial generativa con un mejor uso de la memoria de la GPU. 

Descubre Red Hat AI

Para comprender la importancia del vLLM, es fundamental comprender la función del servidor de inferencia y conocer los mecanismos básicos que intervienen en el funcionamiento de los LLM. Luego, podremos entender mejor el papel que desempeña el vLLM a la hora de mejorar el rendimiento de los modelos de lenguaje actuales.

Los servidores de inferencia

El servidor de inferencia es un software que permite que un modelo de inteligencia artificial llegue a conclusiones nuevas a partir de su entrenamiento previo. Procesa las solicitudes de entrada mediante un modelo de machine learning (aprendizaje automático) y genera un resultado.

La inferencia es una conclusión que se basa en las evidencias. Si ves que está encendida la luz de la sala de tu amigo, pero no lo ves a él, puedes inferir que está en casa; sin embargo, no tienes pruebas fehacientes para comprobarlo.

Un modelo de lenguaje tampoco tiene pruebas fehacientes sobre el significado de una palabra o frase (es un sistema de software), por lo que utiliza su entrenamiento como evidencia. Con una serie de cálculos que se basan en los datos, genera una conclusión, del mismo modo que asumes que si la luz está apagada, tu amigo no está en casa.

Obtén más información sobre las inferencias de la inteligencia artificial

Los LLM utilizan las matemáticas para generar conclusiones

Durante su entrenamiento, los LLM aprenden mediante cálculos matemáticos: generan una respuesta (inferencia) realizando una serie de cálculos de probabilidad (que también son elementos matemáticos).

Para que estos modelos entiendan la solicitud, deben comprender la relación de las palabras entre sí y las asociaciones que existen entre ellas. En lugar de aprender sobre el significado de las palabras y asociarlas, los LLM recurren directamente a las matemáticas.

Cuando los modelos les responden a millones de usuarios al día, llevan a cabo muchos cálculos. Sin embargo, es difícil procesarlos todos a la vez mientras la aplicación está en funcionamiento. En general, esto se debe a que la capacidad de procesamiento que implica la ejecución de los LLM puede consumir una enorme cantidad de memoria rápidamente.

Las mejoras en la arquitectura del vLLM continúan aportando eficiencia en el uso de los recursos en áreas como la memoria y la velocidad.

La inteligencia artificial en la empresa 

Red Hat AI

En un estudio pionero, Efficient Memory Management for Large Language Model Serving with PagedAttention, se descubrió que los sistemas actuales de gestión de memoria de los LLM no organizan los cálculos de la manera más eficiente. PagedAttention es una técnica de gestión de memoria que incorpora el vLLM y que se basa en la memoria virtual y la paginación de los sistemas operativos.

En esta investigación, se observa que el almacenamiento en caché (memoria a corto plazo de un LLM) de clave-valor (KV) se reduce y aumenta durante el procesamiento. Además, se determina que el vLLM es la solución más estable para gestionar el espacio y la capacidad informática.

Básicamente, el vLLM funciona como un conjunto de instrucciones que impulsan la memoria caché de KV a crear atajos a partir del procesamiento por lotes permanente de las respuestas de los usuarios.

Antes de continuar, definamos rápidamente los conceptos de caché de KV y procesamiento por lotes permanente.

Caché de KV

KV significa "clave-valor", un término que hace referencia a la forma en la que los LLM expresan el significado de una palabra o frase. Imaginemos que estás procesando la clave-valor de una opción de un menú: las papas fritas (clave) cuestan USD 3,99 (valor). Por lo tanto, cuando el cajero registre el pedido, el "valor" calculado de esa "clave" es de USD 3,99. Los LLM procesan las KV de forma similar, ya que almacenan el valor de cada clave (o token) en su caché.

La memoria caché es un almacenamiento de memoria a corto plazo. Por ejemplo, cuando una computadora funciona lento, se suele "borrar la memoria caché" para mejorar y agilizar el procesamiento de los datos.

Procesamiento por lotes permanente

El procesamiento por lotes permanente es una técnica que se utiliza para procesar varias consultas a la vez con el objetivo de mejorar la eficiencia general.

Por ejemplo, un chatbot recibe miles de consultas por minuto, y muchas de ellas plantean preguntas similares, como "¿cuál es la capital de India?" y "¿cuál es la capital de Irlanda?" Ambas consultas incluyen la expresión "cuál es la capital de", que es una cadena de tokens (palabras) que exige que el LLM realice muchos cálculos para obtener un significado.

Con el vLLM, el chatbot almacena esta cadena de tokens ("cuál es la capital de") en una memoria a corto plazo (caché de KV) y envía una sola "solicitud de traducción" en vez de dos separadas.

En otras palabras, en lugar de generar una respuesta nueva, el vLLM permite que la memoria caché de KV almacene y cree atajos para las nuevas consultas que sean parecidas a los cálculos que se realizaron anteriormente. El procesamiento de estos cálculos por lote, en lugar de individualmente, mejora el rendimiento y optimiza el espacio disponible en la memoria.

El vLLM optimiza la memoria y aumenta la capacidad de almacenamiento de tokens para que puedas aumentar el tamaño de los lotes y trabajar con tareas de contextos amplios.

El vLLM permite que las empresas obtengan más beneficios con menos recursos en un mercado en el que el hardware necesario para las aplicaciones basadas en los LLM tiene un precio elevado.

Para diseñar servicios rentables y confiables con estos modelos, se requiere una gran capacidad informática, recursos energéticos y habilidades operativas especializadas. Estos desafíos impiden, en la práctica, que muchas empresas aprovechen las ventajas de la inteligencia artificial personalizada, lista para implementarse y orientada a la seguridad.

El objetivo del vLLM y PagedAttention, el algoritmo en el que se basa, es abordar esos problemas mediante un uso más eficiente del hardware necesario para admitir las cargas de trabajo de inteligencia artificial.

Ventajas del vLLM

El uso del vLLM como servidor de inferencia para los LLM ofrece estas ventajas:

Tiempos de respuesta más rápidos: según algunos cálculos, el vLLM alcanza un rendimiento (la cantidad de datos que puede procesar el LLM) hasta 24 veces superior que el de Hugging Face Transformers, una biblioteca open source muy utilizada con estos modelos.

Reducción de los costos de hardware: al utilizar los recursos con más eficiencia, se necesitan menos GPU para respaldar el procesamiento de los LLM.

Capacidad de ajuste: el vLLM organiza la memoria virtual para que la GPU admita más solicitudes simultáneas de los usuarios.

Privacidad de los datos: un LLM autoalojado con el vLLM ofrece más control sobre la privacidad y el uso de los datos en comparación con los servicios o las aplicaciones de LLM de terceros, como ChatGPT.

Innovaciones open source: la participación de la comunidad en el mantenimiento y el soporte del vLLM permite mejorar el código de manera uniforme. La transparencia en el proceso de acceso al código y su modificación por parte de los usuarios brinda a los desarrolladores la libertad necesaria para usar el vLLM según sus necesidades. 

Descubre la manera de implementar Llama con el vLLM

PagedAttention es el algoritmo principal que surgió del vLLM, pero no es la única función que ofrece. Estas son algunas optimizaciones de rendimiento que brinda el vLLM:

  • PyTorch Compile/CUDA Graph: optimiza la memoria de la GPU.
  • Cuantificación: reduce el espacio de memoria necesario para ejecutar los modelos.
  • Paralelismo de tensores: divide las tareas de procesamiento entre varias GPU.
  • Decodificación especulativa: genera texto más rápido al usar un modelo más pequeño que predice los tokens y otro de mayor tamaño que los valida.
  • Flash Attention: mejora la eficiencia de los modelos de transformador.

Además de las funciones de optimización que ofrece, su flexibilidad también ha contribuido a aumentar su popularidad. Funciona con modelos pequeños y de gran tamaño y se integra a los marcos y los modelos más conocidos. Por último, su naturaleza open source facilita la transparencia del código, la personalización y una corrección de errores más rápida. 

La adaptación de bajo rango (LoRA) y la adaptación de bajo rango cuantificada (QLoRA) son técnicas de perfeccionamiento que permiten que los usuarios optimicen los recursos informáticos y los costos.

El vLLM admite inferencias para la comunidad open source. Obtén más información al respecto.

Red Hat® AI aprovecha la innovación open source para superar los desafíos de la inteligencia artificial en toda la empresa, y el vLLM es una de nuestras herramientas esenciales.

Además, tienes acceso a Red Hat® AI Inference Server para optimizar la inferencia de modelos en la nube híbrida y realizar implementaciones más rápidas y rentables. Gracias al vLLM, el servidor de inferencias potencia al máximo el uso de la GPU y ofrece tiempos de respuesta más rápidos.

Obtén más información sobre Red Hat AI Inference Server 

Red Hat AI Inference Server incluye el repositorio de Red Hat AI, un conjunto de modelos validados y optimizados por terceros que permite una mayor flexibilidad y fomenta la uniformidad entre los diferentes equipos. Las empresas que acceden a este repositorio consiguen acelerar el tiempo de comercialización y reducir los obstáculos financieros para garantizar el éxito de la inteligencia artificial.   

Explora nuestro repositorio en Hugging Face

Obtén más información sobre los modelos validados por Red Hat AI

La impulsan las tecnologías open source y un ecosistema de partners que se centran en el rendimiento, la estabilidad y la compatibilidad con la GPU en varias infraestructuras.

Descubre nuestro ecosistema de partners

Red Hat AI

Red Hat AI ofrece soluciones flexibles y rentables que agilizan el desarrollo y la implementación de las herramientas de inteligencia artificial en todos los entornos de nube híbrida.

Más información

La inteligencia artificial para empresas

La inteligencia artificial para empresas se trata de la integración de herramientas de inteligencia artificial y software de machine learning (aprendizaje automático) en operaciones y procesos de gran alcance. En la actualidad, las empresas pueden resolver los problemas en semanas en lugar de años.

¿Qué es el perfeccionamiento con eficiencia de parámetros?

El perfeccionamiento con eficiencia de parámetros (PEFT) es un conjunto de técnicas que permiten ajustar solo una parte de los parámetros de un LLM para utilizar menos recursos.

Diferencias entre LoRA y QLoRA

La adaptación de bajo rango (LoRA) y la adaptación de bajo rango cuantificada (QLoRA) son técnicas para entrenar modelos de inteligencia artificial.

IA/ML: lecturas recomendadas

Producto destacado

  • Red Hat OpenShift AI

    Una plataforma de inteligencia artificial (IA) que proporciona herramientas para desarrollar, entrenar, servir y monitorear rápidamente modelos y aplicaciones habilitadas para la inteligencia artificial.

Artículos relacionados