Investigadores de Microsoft presentan FP8 Mixed-Precision Training Framework Potenciando la eficiencia del entrenamiento de modelos de lenguaje grandes

‘Investigadores de Microsoft presentan FP8 Mixed-Precision Training Framework Mejorando la eficiencia del entrenamiento de modelos de lenguaje grandes’

Los modelos de lenguaje grandes han demostrado una destreza sin precedentes en la creación y comprensión del lenguaje, abriendo el camino a avances en lógica, matemáticas, física y otros campos. Pero el entrenamiento de LLM es bastante costoso. Para entrenar un modelo de 540B, por ejemplo, PaLM necesita 6,144 chips TPUv4, mientras que GPT-3 175B necesita varios miles de petaflop/s-días de computación para el pre-entrenamiento. Esto destaca la necesidad de reducir los costos de entrenamiento de LLM, especialmente para escalar la próxima generación de modelos extremadamente inteligentes. Uno de los enfoques más prometedores para ahorrar costos es el entrenamiento de baja precisión, que ofrece un procesamiento rápido, un uso mínimo de memoria y un sobrecosto mínimo de comunicación. La mayoría de los sistemas de entrenamiento actuales, como Megatron-LM, MetaSeq y Colossal-AI, entrenan LLMs por defecto utilizando una precisión mixta FP16/BF16 o una precisión completa FP32.

Para modelos grandes, esto es opcional para obtener precisión completa. El FP8 está emergiendo como el tipo de dato de próxima generación para representación de baja precisión con la llegada de la GPU Nvidia H100. En comparación con el entrenamiento con punto flotante mixto existente de 16 bits y 32 bits, el FP8 tiene el potencial de lograr teóricamente una aceleración de 2x, reducciones de costo de memoria del 50% al 75% y ahorros de comunicación del 50% al 75%. Estos resultados son muy alentadores para escalar los modelos de base de próxima generación. Desafortunadamente, se necesita más y menos frecuente asistencia para el entrenamiento con FP8. El Motor Transformador de Nvidia es el único marco viable; sin embargo, solo utiliza FP8 para cálculos GEMM y mantiene pesos y gradientes maestros con una precisión extrema, como FP16 o FP32. Debido a esto, el aumento de rendimiento de extremo a extremo, el ahorro de memoria y el ahorro de costos de comunicación son relativamente pequeños, lo que mantiene oculto el potencial completo de FP8.

Investigadores de Microsoft Azure y Microsoft Research proporcionan un marco de FP8 de baja precisión altamente eficiente para el entrenamiento de LLM para resolver este problema. El concepto principal consiste en aprovechar el FP8 de baja precisión para cálculos, almacenamiento y comunicación durante el proceso de entrenamiento del modelo grande. Esto reducirá significativamente las demandas del sistema en comparación con los marcos anteriores. Para ser más preciso, crean tres etapas de optimización que utilizan FP8 para simplificar el entrenamiento distribuido y de precisión mixta. Los tres niveles introducen incrementalmente el optimizador, el entrenamiento paralelo distribuido y la comunicación colectiva de 8 bits. Un mayor nivel de optimización sugiere que se utilizó más FP8 en el proceso de entrenamiento de LLM. Además, su sistema ofrece paralelismo de bajo bits en FP8, incluyendo paralelismo de tensor, de canalización y de secuencia. Permite un entrenamiento a gran escala, como GPT-175B entrenado en miles de GPUs, abriendo la puerta al entrenamiento paralelo de baja precisión de próxima generación.

Entrenar LLMs con FP8 lleva trabajo. Las dificultades surgen de problemas como desbordamiento o subdesbordamiento de datos, así como errores de cuantización causados por la precisión disminuida y el rango dinámico más pequeño de los formatos de datos FP8. Durante el proceso de entrenamiento, estas dificultades conducen a divergencias permanentes e inestabilidades numéricas. Para abordar estos problemas, sugieren dos métodos: escalamiento automático para evitar pérdida de información y desacoplamiento de precisión para aislar el impacto de la precisión de datos en parámetros como pesos, gradientes y estados del optimizador. El primer método implica reducir la precisión para los componentes no sensibles a la precisión y preservar los valores de gradiente dentro del rango de representación del formato de datos FP8 mediante el ajuste dinámico de factores de escala de tensor. Esto evita incidentes de subdesbordamiento y desbordamiento durante la comunicación de reducción total.

Utilizan el marco de baja precisión FP8 sugerido para el entrenamiento de modelos de estilo GPT, que incluye el ajuste fino supervisado y el pre-entrenamiento, para verificarlo. Al comparar su metodología FP8 con el enfoque de entrenamiento de precisión mixta BF16 ampliamente utilizado, los resultados experimentales muestran mejoras significativas, como una disminución del 27% al 42% en el uso real de memoria y una notable disminución del 63% al 65% en los costos de comunicación de gradientes de peso. Tanto en el pre-entrenamiento como en las tareas posteriores, los modelos entrenados con FP8 muestran una paridad de rendimiento con aquellos que utilizan BF16 de alta precisión, sin ajustes en hiperparámetros como la tasa de aprendizaje y la decaída de peso. Durante el entrenamiento del modelo GPT-175B, es destacable que su marco de baja precisión FP8 utiliza un 21% menos de memoria en la plataforma GPU H100 y ahorra un 17% menos de tiempo de entrenamiento que TE.

Figura 1: Una comparación de los tamaños de modelos más grandes que se pueden lograr en un clúster de Nvidia H100 GPUs con 80 GB de RAM utilizando nuestro método de entrenamiento de precisión mixta FP8 con el método más popular BF16.

Más significativamente, a medida que aumenta la escala de los modelos, como se ve en la Fig. 1, los ahorros de costos obtenidos mediante el uso de baja precisión FP8 pueden ser aún mayores. Para que los LLM pre-entrenados se ajusten mejor a las tareas finales y las preferencias del usuario, utilizan la precisión mixta FP8 para ajustes de instrucciones y aprendizaje por refuerzo con aportes humanos. En particular, utilizan datos de seguimiento de instrucciones compartidos por usuarios disponibles públicamente para ajustar modelos pre-entrenados. Si bien obtienen ganancias del 27% en velocidad de entrenamiento, los modelos ajustados con su precisión mixta FP8 funcionan de manera similar a los que utilizan la mitad de la precisión BF16 en las pruebas AlpacaEval y MT-Bench. Además, la precisión mixta FP8 muestra un prometedor potencial en RLHF, un procedimiento que requiere cargar muchos modelos en el entrenamiento.

El popular marco de trabajo RLHF AlpacaFarm puede lograr una disminución del 46% en el peso de los modelos y una reducción del 62% en el uso de memoria de los estados del optimizador mediante el uso de FP8 durante el entrenamiento. Esto demuestra aún más la flexibilidad y adaptabilidad de su arquitectura de entrenamiento de baja precisión FP8. Estas son las contribuciones que están haciendo para el desarrollo futuro del entrenamiento de baja precisión FP8 para LLM en la generación futura. • Un nuevo marco de trabajo para el entrenamiento de precisión mixta en FP8. Es fácil de usar y desbloquea gradualmente pesos de 8 bits, gradientes, optimizador y entrenamiento distribuido de manera adicional. Los equivalentes de precisión mixta de 16/32 bits actuales de este marco de 8 bits se pueden reemplazar fácilmente por este simplemente cambiando los hiperparámetros y recibos de entrenamiento. También proporcionan una implementación para Pytorch que permite el entrenamiento de baja precisión de 8 bits con solo unas pocas líneas de código.

Una nueva línea de modelos GPT entrenados en FP8. Ilustran las capacidades del esquema FP8 propuesto en una variedad de tamaños de modelos, desde 7B hasta 175B de parámetros, mediante su aplicación en el preentrenamiento y ajuste fino de GPT. Brindan soporte FP8 (tensor, canalización y paralelismo de secuencia) a paradigmas populares de cómputo paralelo, lo que permite utilizar FP8 para el entrenamiento de modelos fundamentales masivos. El primer código base de entrenamiento FP8 GPT, basado en la implementación Megatron-LM, está disponible públicamente. Anticipamos que la introducción de nuestro marco FP8 establecerá un nuevo estándar para sistemas de entrenamiento de baja precisión orientados a modelos fundamentales grandes en la generación futura.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Ciencia de Datos

Incorpore SageMaker Autopilot en sus procesos de MLOps usando un Proyecto personalizado de SageMaker.

Cada organización tiene su propio conjunto de estándares y prácticas que proporcionan seguridad y gobernanza para su ...

Inteligencia Artificial

Ciberseguridad protege la alimentación y la agricultura

Protegiendo el suministro de alimentos de los Estados Unidos de los ciberataques.

Inteligencia Artificial

Dentro de Code Llama La entrada de Meta AI en el espacio de Code LLM

La codificación se ha convertido rápidamente en uno de los escenarios de acción más activos para los grandes modelos ...

Inteligencia Artificial

Aprende IA Generativa con Google

Aprende IA Generativa con los 10 cursos gratuitos de Google. Domina los modelos de difusión, la arquitectura codifica...

Inteligencia Artificial

Construyendo estructuras ópticas robustas hechas de oscuridad

Un equipo de investigadores de la Universidad de Harvard utilizó metasuperficies para generar y manipular regiones os...

Inteligencia Artificial

Repensando la Integridad Académica en la Era de la IA Un Análisis Comparativo de ChatGPT y Estudiantes Universitarios en 32 Cursos

La inteligencia artificial (IA) que genera nuevo contenido utilizando algoritmos de aprendizaje automático para ampli...