¿Qué son los vLLM?
vLLM significa modelo de lenguaje de gran tamaño virtual y es una biblioteca de código open source gestionada por su propia comunidad. Permite que los modelos de lenguaje de gran tamaño (LLM) realicen cálculos más eficientes a gran escala
Incluye un servidor de inferencia (que gestiona el tráfico de la red) y un motor de inferencia (para aumentar al máximo la velocidad informática). Funciona acelerando los resultados de las aplicaciones de inteligencia artificial generativa al hacer un mejor uso de la memoria de la GPU a través de su algoritmo PagedAttention.
El objetivo general del vLLM es aumentar el rendimiento (tokens procesados por segundo) para prestar servicios a muchos usuarios a la vez.
Funcionamiento del vLLM
Para comprender la utilidad del vLLM, es importante conocer el rol de un servidor de inferencia y los mecanismos básicos que intervienen en su funcionamiento. A partir de ahí, es posible comprender mejor la función que desempeña en lo que respecta a la optimización del rendimiento de los modelos de lenguaje actuales.
¿Qué es un servidor de inferencia?
Es un software que ayuda a un modelo de inteligencia artificial a obtener conclusiones nuevas a partir de su entrenamiento anterior. Estos servidores procesan las solicitudes de entrada a través de un modelo de machine learning (aprendizaje automático) y devuelven un resultado.
La inferencia es el proceso de obtener conclusiones basadas en pruebas. Es posible que veas encendida la luz de la sala de estar de tu amigo, pero no lo ves a él. Puedes inferir que se encuentra en casa, pero no tienes pruebas fehacientes que lo demuestren.
Un modelo de lenguaje tampoco dispone de pruebas definitivas sobre el significado de una palabra o una frase (es un sistema de software), así que utiliza su entrenamiento como evidencia y, a partir de una serie de cálculos basados en datos, genera una conclusión. Al igual que cuando estimas que si la luz está apagada, significa que tu amigo salió.
Los LLM utilizan las matemáticas para generar conclusiones
Cuando un LLM está en fase de entrenamiento, aprende mediante cálculos matemáticos, es decir, realiza una serie de cálculos de probabilidad (también una herramienta matemática) para generar una respuesta (inferencia).
Para que el modelo pueda entender la solicitud, debe conocer la forma en que las palabras se relacionan entre sí y las asociaciones que existen entre ellas. Por eso, a diferencia de las personas, que aprenden sobre el significado de las palabras y las asocian, los LLM recurren directamente a las matemáticas.
Cuando un LLM da respuesta a millones de usuarios al día, debe realizar numerosos cálculos. El procesamiento de todos estos de forma simultánea mientras una aplicación se encuentra en funcionamiento puede suponer todo un desafío. En general, obedece a que la capacidad de procesamiento que implica la ejecución de este tipo de modelos puede consumir rápidamente una gran cantidad de memoria.
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.
Red Hat AI
vLLM utiliza PagedAttention para lograr un procesamiento más eficiente de los cálculos
En el estudio pionero Efficient Memory Management for Large Language Model Serving with PagedAttention, se detectó 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 surge con los vLLM y que está inspirada 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 la ejecución, y se determina que un vLLM es la solución más estable para gestionar el espacio y la potencia informática.
En esencia, un vLLM funciona como un conjunto de instrucciones que inducen al caché de KV a crear accesos directos a partir del procesamiento por lotes permanente de las respuestas de los usuarios.
Antes de continuar, demos una breve definición de los términos "caché de KV" y "procesamiento por lotes permanente".
¿Qué es la memoria caché de clave-valor?
La sigla "KV" corresponde a "clave-valor" y hace referencia al modo en que un LLM expresa el significado de una palabra o una frase. Supongamos que procesas la clave-valor de un artículo de un menú: las papas fritas (clave) cuestan USD 3,99 (valor). Por lo tanto, cuando un cajero registra un pedido de este producto, el "valor" calculado de esa "clave" es de USD 3,99. Los LLM procesan las KV de manera similar, ya que almacenan el valor correspondiente a cada clave (o token) en su caché.
El término "caché" se refiere a un almacenamiento de memoria a corto plazo. Por ejemplo, cuando una computadora funciona lento, se suele "borrar la memoria caché" para mejorar y acelerar el procesamiento de los datos.
El procesamiento por lotes permanente
Se trata de una técnica que sirve para procesar varias consultas de manera simultánea, con el objetivo de mejorar la eficacia global del procesamiento.
Analicemos un ejemplo: un chatbot recibe miles de consultas por minuto, y muchas de ellas plantean preguntas similares, como "¿cuál es la capital de la India?" y "¿cuál es la capital de Irlanda?". En ambos casos, la frase "¿cuál es la capital de?" es una cadena de tokens (palabras) a partir de la cual el LLM debe realizar muchos cálculos para generar el significado.
Con un vLLM, el chatbot puede almacenar esta cadena de tokens ("cuál es la capital de") en una memoria a corto plazo (caché de KV) y enviar una única solicitud de traducción en lugar de dos por separado.
En otras palabras, los vLLM no generan una respuesta nueva, sino que permiten que la memoria en caché de KV almacene y cree accesos directos para consultas nuevas que sean similares a los cálculos realizados anteriormente. Si se procesan estos cálculos por lotes (en lugar de hacerlo de forma individual), se mejora el rendimiento y se 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.
Ventajas de usar el vLLM en tu empresa
Los vLLM permiten que las empresas saquen más provecho con menos recursos en un mercado en el que el hardware que necesitan las aplicaciones basadas en el LLM tiene un precio elevado.
Para ofrecer servicios basados en este modelo que sean rentables y de confianza, es necesario contar con capacidad informática, recursos energéticos y conocimientos operativos especializados importantes. En la práctica, estos desafíos impiden a muchas empresas aprovechar las ventajas de una solución de inteligencia artificial personalizada, lista para implementarse y más centrada en la seguridad.
El objetivo de los vLLM y PagedAttention, el algoritmo en el que se basa, es abordar dichos desafíos con 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 presenta diversas ventajas:
Agilización del tiempo de respuesta: según algunos cálculos, el vLLM alcanza un rendimiento hasta 24 veces superior (la cantidad de datos que puede procesar un LLM) en comparación con Hugging Face Transformers, que es una biblioteca open source muy utilizada para trabajar con los LLM.
Reducción de los costos de hardware: gracias a un uso más eficiente de los recursos, no se necesitan tantas GPU para procesar los LLM. Para las empresas que trabajan con LLM muy grandes (aquellos que tienen cientos de miles de millones de parámetros), el vLLM ayuda a mantener la eficiencia. En concreto, se puede utilizar junto con otras técnicas, como la inferencia distribuida para aprovechar al máximo el hardware actual y reducir los costos.
Capacidad de ajuste: los vLLM organizan la memoria virtual para que la GPU pueda gestionar un mayor número de solicitudes de los usuarios de manera simultánea. Esto es especialmente importante para las aplicaciones de inteligencia artificial con agentes (Agentic AI), que deben procesar muchas solicitudes simultáneas para completar una sola tarea de varios pasos.
Privacidad de los datos: un LLM autoalojado con vLLM brinda un mayor control sobre la privacidad y el uso de los datos con respecto a una aplicación o un servicio de terceros basados en un LLM, como ChatGPT.
Innovación con la tecnología de open source: el compromiso de la comunidad con el mantenimiento y el soporte del vLLM permite incorporar mejoras uniformes en el código. Además, la transparencia con la que los usuarios pueden acceder al código y modificarlo brinda a los desarrolladores la posibilidad de utilizar el vLLM conforme a sus necesidades.
Motivos por los que el vLLM se convierte en un estándar para mejorar el rendimiento de los LLM
PagedAttention es el principal algoritmo que surgió del vLLM; sin embargo, no es la única función que ofrece. Estas son algunas de las optimizaciones de rendimiento adicionales que brinda un vLLM:
- PyTorch Compile/CUDA Graph: optimiza la memoria de la GPU.
- Cuantización: reduce el espacio de memoria que se necesita para ejecutar los modelos.
- Paralelismo tensorial: 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 vLLM, su flexibilidad también explica la creciente popularidad. Funciona con modelos de lenguaje pequeños y de gran tamaño y se integra a los modelos y los marcos más conocidos. Por último, su naturaleza open source permite que haya una mayor transparencia y personalización del código, así como correcciones de errores mucho más rápidas.
vLLM y llm-d
llm-d es un marco open source que integra y aprovecha la potencia de los vLLM. Es un método para realizar inferencias distribuidas y se diseñó para respaldar la creciente demanda de recursos de los LLM.
Piénsalo de esta manera: si el vLLM ayuda con la velocidad, el llm-d lo hace con la coordinación. Ambos funcionan en conjunto para dirigir el tráfico de manera inteligente a través del modelo y lograr que el procesamiento se lleve a cabo de la manera más rápida y eficiente posible.
Gestión de la inteligencia artificial con un enfoque open source
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.
Con esta herramienta, tienes acceso a Red Hat® AI Inference Server para optimizar la inferencia de los modelos en toda la nube híbrida y lograr que las implementaciones sean más rápidas y rentables. El servidor de inferencia está impulsado por los vLLM y aprovecha al máximo la GPU, además de permitir los 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 optimizados y validados por terceros que fomentan la flexibilidad y la uniformidad entre los equipos. Con el acceso a este repositorio, las empresas pueden agilizar el tiempo de comercialización y reducir los obstáculos financieros para 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
Red Hat AI cuenta con tecnologías open source y un ecosistema de partners que se centra en el rendimiento, la estabilidad y la compatibilidad con las GPU en diversas infraestructuras.
Introducción a la inteligencia artificial para las empresas: Guía para principiantes
Acelera tu proceso de adopción de la inteligencia artificial con Red Hat OpenShift AI y Red Hat Enterprise Linux AI. Obtén más información al respecto en esta guía para principiantes.