¿Cuál es la diferencia entre el vLLM y Ollama?
Cuando se integran los modelos de lenguaje de gran tamaño (LLM) en una aplicación de inteligencia artificial, el vLLM es ideal para la producción de alto rendimiento, y Ollama es excelente para el desarrollo local. Cada herramienta cubre distintos puntos del espectro de implementación de los LLM: el vLLM es más conveniente para los entornos empresariales, mientras que Ollama es más apropiada para proyectos pequeños.
Para entender las diferencias entre ambas, puedes ver a Ollama como un vehículo deportivo y al vLLM como un tren bala. Con Ollama, puedes moverte rápido, pero no puedes llevar muchas personas contigo. Con el vLLM, puedes moverte rápido y también llevar muchas personas a la vez.
En definitiva, la elección entre estas herramientas no solo depende de tu experiencia como desarrollador, sino también del tamaño y el alcance del proyecto. Para los desarrolladores que realicen pruebas de manera local, Ollama es un gran punto de partida. Sin embargo, para los equipos que avanzan hacia la producción a gran escala, el vLLM ofrece la base necesaria para trabajar con los LLM de forma confiable y eficiente según sea necesario.
¿Qué es el vLLM?
El vLLM es una biblioteca de código open source que permite que los LLM realicen cálculos de forma rápida y eficiente de acuerdo a las necesidades. El objetivo general del vLLM es aumentar el rendimiento (tokens procesados por segundo) para prestar servicios a muchos usuarios a la vez.
Incluye un servidor de inferencia (que gestiona el tráfico de la red) y un motor de inferencia (para aumentar la velocidad informática):
- El servidor de inferencia gestiona la cola de usuarios que están esperando el servicio y administra el tráfico externo de la red. Su tarea no es ejecutar un procesamiento intensivo, sino encargarse del protocolo de comunicación que gestiona el ingreso y el egreso de datos del sistema.
- El motor de inferencia acelera la generación al optimizar el uso de la unidad de procesamiento gráfico (GPU). Aumenta la velocidad informática aplicando algoritmos como PagedAttention para gestionar la caché de clave-valor (KV) y el procesamiento por lotes permanente para optimizar la programación de las solicitudes.
Tanto el servidor como el motor de inferencia son responsables de lograr una baja latencia, es decir, reducir el tiempo entre que el usuario hace clic en "enviar" y recibe un resultado. El servidor está diseñado para evitar que se agregue latencia innecesaria. Para ello, acepta solicitudes, las transmite al motor y envía las respuestas a través de la red lo más rápido posible. Por su parte, el motor elimina la latencia de manera activa organizando el procesamiento de la GPU. Gracias a esta aceleración del procesamiento, el vLLM puede prestar servicios a cientos de usuarios de forma simultánea en una instancia.
El vLLM permite que las empresas saquen más provecho con menos recursos en un mercado en el que el hardware que necesitan las aplicaciones basadas en los LLM tiene un precio elevado. Puede gestionar mucho tráfico y está diseñado para los casos de gran escala. Esto significa que es perfecto para las implementaciones multiusuario que requieren la menor latencia posible. En general, el vLLM supera a Ollama a la hora de procesar varias solicitudes al mismo tiempo.
Cuatro aspectos clave para la implementación de la tecnología de inteligencia artificial
¿Qué es Ollama?
Es una herramienta open source que permite que los usuarios ejecuten los LLM de forma local y privada. Esto significa que puedes descargar, actualizar y gestionar un modelo desde tu computadora portátil sin enviar información privada a la nube.
Ollama deriva del proyecto llama.cpp, una biblioteca open source que realiza inferencias en varios LLM. Automatiza algunos de los pasos más dificultosos de la compilación, la configuración y la gestión de los elementos fundamentales, por lo que el usuario final no debe preocuparse por ellos.
Está diseñada para ofrecer sencillez y requiere una configuración mínima. Por ello, suele considerarse una herramienta intuitiva e ideal para principiantes. Es posible que los desarrolladores más experimentados la utilicen para realizar pruebas con distintos LLM y para crear prototipos rápidamente.
¿Qué funciones tienen en común el vLLM y Ollama?
El vLLM y Ollama son marcos que ponen los LLM a disposición en la etapa de producción y ofrecen a los desarrolladores acceso a estos modelos para que diseñen aplicaciones de inteligencia artificial. Específicamente, estos marcos son un elemento del software que realiza la inferencia dentro de una arquitectura de aplicaciones más grande.
Si bien ambas herramientas están destinadas a distintos tipos de usuarios, comparten muchas funciones básicas:
- Son open source.
- Incluyen un servidor de inferencia.
- Permiten que los usuarios ejecuten los LLM en su propio hardware, sin tener que recurrir a las API de terceros.
- Están diseñadas para aprovechar al máximo el hardware disponible del usuario con el fin de agilizar la inferencia.
- Admiten modelos multimodales, por lo que pueden procesar otros tipos de datos además de texto.
- Respaldan la generación aumentada por recuperación (RAG), una técnica que permite que los desarrolladores complementen los datos de un LLM con la información o el conocimiento externo que elijan.
Cuándo elegir el vLLM
Las funciones avanzadas que ofrece el vLLM requieren una gran comprensión técnica. Es por esto que esta herramienta está destinada a los desarrolladores más experimentados y que podría decirse que su proceso de aprendizaje es más complicado que el de Ollama.
Por ejemplo, el vLLM puede gestionar modelos de todos los tamaños, incluidos aquellos que tienen miles de millones de parámetros. Para aprovechar al máximo la tecnología, los desarrolladores deben aplicar conceptos como la inferencia distribuida.
También tiene mucho potencial para implementar el perfeccionamiento en casos prácticos específicos. Si los desarrolladores desean obtener el mejor rendimiento, deben conocer métodos como el perfeccionamiento eficiente de parámetros (PEFT), además de LoRA y QLoRA.
En resumen, el vLLM está pensado para los desarrolladores que necesitan aprovechar al máximo el potencial de rendimiento de sus servidores e implementar aplicaciones confiables y con capacidad de ajuste. ¿Recuerdas la analogía del tren bala? El vLLM es ideal para atender a varios usuarios en un período de tiempo corto.
Cuándo elegir Ollama
Ollama permite que los usuarios descarguen y ejecuten LLM en sus computadoras personales y ofrece una forma sencilla para probar modelos de inteligencia artificial. Sin embargo, su objetivo principal es la accesibilidad, no la capacidad de ajuste. Si los usuarios realizan solicitudes adicionales, deben esperar en la cola. Por este motivo, los desarrolladores eligen Ollama cuando buscan conveniencia y no necesitan atender a muchos usuarios.
La herramienta opera sin conexión de forma predeterminada. Esto significa que, una vez que descargues un modelo, puede funcionar sin conexión a Internet. Si bien el vLLM también ofrece la máxima privacidad, requiere configurar un servidor privado o un entorno de nube seguro. Este paso adicional requiere más experiencia.
El uso del vLLM y Ollama para la inferencia
Tanto el vLLM como Ollama tienen un servidor de inferencia. Es decir que ambos aceptan las solicitudes que entran, desempaquetan los datos, los envían al motor y empaquetan la respuesta para enviarla a la aplicación del usuario.
Sin embargo, solo el vLLM dispone de un motor de inferencia, por lo que puede optimizar la inferencia de formas que Ollama no. Al ser un motor, es mejor para gestionar la memoria y encargarse de varios usuarios al mismo tiempo (simultaneidad).
Gestión de la memoria: EL vLLM utiliza el algoritmo PagedAttention para manipular la estructura de la memoria de la GPU. Libera espacio en ella, lo que permite ejecutar más solicitudes a la vez. Este proceso posibilita una gran simultaneidad.
Simultaneidad: El vLLM usa el procesamiento por lotes permanente para gestionar el flujo de los datos y aprovechar la GPU para que pueda encargarse de varios usuarios o solicitudes al mismo tiempo.
Red Hat puede ayudarte
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 Red Hat AI, 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, que está basado en el vLLM, ayuda a que la GPU se ejecute de forma eficiente y admite tiempos de respuesta más rápidos.
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 que dificultan la adopción de la inteligencia artificial.
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere