Hoy estamos emocionados de anunciar AWS Trainium y Inferencia de AWS Soporte para el ajuste fino y la inferencia de los modelos Llama 3.1. La familia Llama 3.1 de modelos de lenguajes grandes multilingües (LLM) es una colección de modelos generativos preentrenados y ajustados por instrucción en tamaños 8B, 70B y 405B. Publicación anteriorCubrimos cómo implementar modelos de Llama 3 en instancias basadas en AWS Trainium e Inferentia en Inicio rápido de Amazon SageMakerEn esta publicación, describimos cómo comenzar a ajustar e implementar la familia de modelos Llama 3.1 en chips de IA de AWS para aprovechar sus beneficios en cuanto a precio y rendimiento.
Descripción general de los modelos Llama 3.1
La familia de modelos generativos multilingües Llama 3.1 es una colección de modelos generativos preentrenados y ajustados a las instrucciones en tamaños 8B, 70B y 405B (texto entrante/texto saliente y código saliente). Todos los modelos admiten contextos extensos (128k) y están optimizados para la inferencia con soporte para atención de consultas agrupadas (GQA).
Los modelos optimizados de instrucciones Llama 3.1 (8B, 70B, 405B) están optimizados para casos de uso de diálogo multilingüe y superan a muchos de los modelos de chat disponibles públicamente en los puntos de referencia comunes de la industria. Se han entrenado para generar llamadas a herramientas para algunas herramientas específicas para capacidades como búsqueda, generación de imágenes, ejecución de código y razonamiento matemático. Además, admiten el uso de herramientas de disparo cero.
Llama 3.1 405B es el modelo de aprendizaje a largo plazo más grande del mundo disponible públicamente según Meta. El modelo establece un nuevo estándar para la inteligencia artificial (IA) y es ideal para aplicaciones de nivel empresarial e investigación y desarrollo. Es ideal para tareas como la generación de datos sintéticos, donde los resultados del modelo se pueden utilizar para mejorar modelos Llama más pequeños después de un ajuste fino, y destilaciones de modelos para transferir conocimiento a modelos más pequeños desde el modelo 405B. Este modelo se destaca en conocimientos generales, generación de textos extensos, traducción multilingüe, traducción automática, codificación, matemáticas, uso de herramientas, comprensión contextual mejorada y razonamiento y toma de decisiones avanzados.
En términos arquitectónicos, el núcleo LLM para Llama 3 y Llama 3.1 tiene la misma arquitectura densa. Son modelos de lenguaje autorregresivos que utilizan una arquitectura de transformador optimizada. Las versiones optimizadas utilizan un ajuste fino supervisado (SFT) y aprendizaje de refuerzo con retroalimentación humana (RLHF) para alinearse con las preferencias humanas de ayuda y seguridad.
El Guía de uso responsable de Meta Puede ayudarle a implementar ajustes adicionales que puedan ser necesarios para personalizar y optimizar los modelos con mitigaciones de seguridad adecuadas.
Trainium impulsa Llama 3.1 en Amazon Bedrock y Amazon SageMaker
La forma más rápida de Comience a utilizar Llama 3.1 en AWS es a través de Amazon Bedrock, que funciona con nuestra infraestructura de IA especialmente diseñada, que incluye AWS Trainium. A través de su API completamente administrada, La roca madre del Amazonas ofrece los beneficios de nuestra infraestructura de IA especialmente diseñada y simplifica el acceso a estos modelos potentes para que usted pueda concentrarse en crear aplicaciones de IA diferenciadas.
Si necesita un mayor control sobre los recursos subyacentes, puede Ajuste e implemente modelos de Llama 3.1 con SageMakerPróximamente se incorporará soporte de Trainium para Llama 3.1 en SageMaker JumpStart.
AWS Trainium y AWS Inferentia2 permiten un alto rendimiento y un bajo coste para los modelos Llama 3.1
Si desea crear sus propias canalizaciones de ML para entrenamiento e inferencia para lograr una mayor flexibilidad y control, puede comenzar con Llama 3.1 en chips de IA de AWS usando Nube de computación elástica de Amazon (Amazon EC2) Instancias Trn1 e Inf2. Veamos cómo puedes comenzar a utilizar los nuevos modelos Llama 3.1 8/70B en Trainium usando SDK de AWS Neuron.
Ajuste de Llama 3.1 en Trainium
Para comenzar a ajustar Llama 3.1 8B o Llama 3.1 70B, puede utilizar el NeuronX distribuido Biblioteca NeuronX Distributed ofrece implementaciones de algunas de las técnicas de inferencia y entrenamiento distribuido más populares. Para comenzar a realizar ajustes, puede utilizar los siguientes ejemplos:
Ambas muestras están construidas sobre Clúster paralelo de AWS para administrar la infraestructura del clúster Trainium y Slurm para la administración de la carga de trabajo. El siguiente es el comando Slurm de ejemplo para iniciar el entrenamiento para Llama3.1 70B:
Dentro del script Slurm, lanzamos un proceso de entrenamiento distribuido en nuestro clúster. En los scripts de ejecución, cargamos los pesos y la configuración preentrenados que proporciona Meta, y lanzamos el proceso de entrenamiento:
Implementar Llama 3.1 en Trainium
Cuando su modelo esté listo para implementarse, puede hacerlo actualizando el ID del modelo en el código de muestra anterior de Llama 3 8B Neuron:
Puede utilizar el mismo código de inferencia de muestra:
Para obtener detalles paso a paso, consulte los nuevos ejemplos de Llama 3.1:
También puede utilizar la biblioteca Optimum Neuron de Hugging Face para implementar rápidamente modelos directamente desde SageMaker a través del centro de modelos de Hugging Face. Desde el centro de tarjetas de modelos de Llama 3.1, elija Desplegarentonces Creador de Sagey finalmente AWS Inferentia y TrainiumCopie el código de ejemplo en un cuaderno de SageMaker y luego seleccione Correr.
Además, si desea utilizar vLLM para implementar los modelos, puede consultar la Guía de dosificación continua para crear el entorno. Después de crear el entorno, puede usar vLLM para implementar modelos Llama 3.1 8/70B en AWS Trainium o Inferentia. A continuación, se muestra un ejemplo para implementar Llama 3.1 8B:
Conclusión
AWS Trainium e Inferentia ofrecen un alto rendimiento y un bajo costo para ajustar e implementar los modelos de Llama 3.1. Estamos ansiosos por ver cómo usará estos modelos poderosos y nuestra infraestructura de IA diseñada específicamente para crear aplicaciones de IA diferenciadas. Para obtener más información sobre cómo comenzar a usar los chips de IA de AWS, consulte Muestras de modelos y tutoriales en la documentación de AWS Neuron.
Sobre los autores
John Gray es arquitecto de soluciones sénior en Annapurna Labs, AWS, con sede en Seattle. En esta función, John trabaja con clientes en sus casos de uso de inteligencia artificial y aprendizaje automático, diseña soluciones para resolver de manera rentable sus problemas comerciales y los ayuda a construir un prototipo escalable utilizando chips de inteligencia artificial de AWS.
Panigrahi rosado Trabaja con clientes para crear soluciones basadas en ML para resolver problemas comerciales estratégicos en AWS. En su función actual, trabaja en la optimización del entrenamiento y la inferencia de modelos de IA generativos en chips de IA de AWS.
Kamran KhanDirector de Desarrollo Comercial de AWS Inferentina/Trianium en AWS. Tiene más de una década de experiencia ayudando a los clientes a implementar y optimizar cargas de trabajo de inferencia y entrenamiento de aprendizaje profundo mediante AWS Inferentia y AWS Trainium.
Shruti Koparkar es gerente sénior de marketing de productos en AWS. Ayuda a los clientes a explorar, evaluar y adoptar la infraestructura informática acelerada de Amazon EC2 para sus necesidades de aprendizaje automático.