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.
- OpenAI potencia GPT-4 velocidad y asequibilidad revoluciona la inteligencia artificial generativa
- La linea de datos y su importancia en la moderna gestión de datos
- Este artículo de IA de la Universidad de Tokio ha aplicado el aprendizaje profundo al problema de la simulación de supernovas.
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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Investigadores del MIT presentan LILO un marco neuro-simbólico para aprender bibliotecas interpretables para la síntesis de programas
- Investigadores de la Universidad de Cambridge presentan un conjunto de datos de 50,000 imágenes sintéticas y fotorealistas de pies, junto con una novedosa biblioteca de IA para pies.
- Conoce CodeGPT Una nueva herramienta de generación de código que está causando sensación en la comunidad de IA
- El nuevo modelo de IA de Phind supera a GPT-4 en codificación, con una velocidad similar a la de GPT-3.5 y un contexto de 16k.
- Investigadores de Amazon presentan Fortuna una biblioteca de IA para la cuantificación de la incertidumbre en el aprendizaje profundo
- Core42 y Cerebras establecen un nuevo referente para los modelos árabes de lenguaje grande con el lanzamiento de Jais 30B
- Investigadores de Hugging Face presentan Distil-Whisper un modelo compacto de reconocimiento de voz que cubre la brecha en entornos de alto rendimiento y bajos recursos.