Implementación Eficiente de LLMs con vLLM y Amazon EC2 usando Chips de IA de AWS

Elena Digital López

En el último año, la inteligencia artificial generativa y los grandes modelos de lenguaje (LLMs) han emergido como herramientas de cambio radical en diversos sectores, atrayendo un interés creciente debido a la democratización de su acceso y uso. Este desarrollo ha sido posible gracias a la disponibilidad de modelos fundamentales públicos y al avance en herramientas para entrenar, ajustar y alojar LLMs, permitiendo que más usuarios puedan experimentar e innovar con estas tecnologías.

Recientemente, se ha introducido un método innovador para desplegar los modelos Llama de Meta, utilizando vLLM en combinaciones con instancias Inf2 de Amazon Elastic Compute Cloud (Amazon EC2). Esta técnica permite implementar modelos como el Llama 3.2 de Meta aprovechando los recursos avanzados de AWS Trainium e Inferentia para lograr una alta eficiencia y escalabilidad en la inferencia.

El proceso comienza al utilizar una instancia EC2 Inferentia para soportar el modelo Llama 3.2. La guía que acompaña a este método detalla el procedimiento para solicitar acceso al modelo, la creación de un contenedor Docker para vLLM, y cómo llevar a cabo inferencias en el modelo tanto en línea como fuera de línea. También se incluye información relevante sobre cómo optimizar el rendimiento del gráfico de inferencia para maximizar la eficiencia.

Para operar con el modelo meta-llama/Llama-3.2-1B, los usuarios deben poseer una cuenta en Hugging Face y obtener un token de acceso tras aceptar las condiciones de uso. Este será un paso crucial para avanzar en el proceso de implementación del modelo.

La creación de la instancia EC2 requiere seguir ciertos protocolos, incluyendo la posible necesidad de aumentar la cuota de uso si es la primera experiencia con instancias inf/trn. Se recomienda el tipo de instancia inf2.xlarge, limitada a ciertas regiones de AWS, a la vez que se aconseja ajustar el almacenamiento a un volumen gp3 de 100 GB. La AMI indicada para este proceso es la Deep Learning Neuron basada en Ubuntu 22.04.

Una vez establecida la instancia, los usuarios pueden conectar a través de la línea de comandos y utilizar Docker para gestionar un contenedor vLLM optimizado para neuron. Este contenedor, diseñado para incorporar todas las herramientas necesarias, permite iniciar y testar el servidor vLLM con diversas prompts específicas una vez completada su configuración.

Además, se contempla la utilización de vLLM mediante solicitudes paralelas para maximizar la eficiencia del proceso. Es imperativo finalizar la instancia EC2 al concluir las pruebas para evitar costos innecesarios.

Finalmente, el ajuste del rendimiento en la inferencia es un aspecto técnico crucial. El SDK Neuron se encarga de gestionar cubos y gráficos de cálculo adaptables a diversas longitudes de secuencia. La guía explica cómo afinar este rendimiento ajustando parámetros específicos para las secuencias de entrada y salida.

Este innovador método provee una guía detallada para la implementación del modelo meta-llama/Llama-3.2-1B en una instancia Inf2 de Amazon EC2, y es adaptable a otros LLMs modificando el identificador de modelo en el comando de vLLM. Además, se detalla cómo integrar el SDK Neuron para facilitar el procesamiento por lotes continuo, crucial para la implementación en producción que demanda autoscaling y tolerancia a fallos.

Scroll al inicio