Meta publicó recientemente un exhaustivo informe de investigación que detalla los importantes desafíos encontrados durante el entrenamiento del modelo Llama 3, que cuenta con 405 mil millones de parámetros. El entrenamiento se llevó a cabo en un clúster de 16,384 GPUs Nvidia H100 durante 54 días, durante los cuales el sistema experimentó 419 fallos inesperados, con un promedio de uno cada tres horas. Es importante destacar que más de la mitad de estas fallas estuvieron relacionadas con las GPUs y su memoria de alto ancho de banda (HBM3).
El lanzamiento del modelo de código abierto Llama 3.1 de Meta ha suscitado un gran interés, con usuarios ansiosos por conocer diversos aspectos, incluidos las fuentes de datos de entrenamiento, la proporción de datos sintéticos, la ausencia de una arquitectura de mezcla de expertos (MoE), los procesos de aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF) y los métodos de evaluación del modelo. Existe también una gran anticipación por el futuro del modelo Llama, especialmente en relación con el próximo Llama 4 y los avances en tecnologías proxy.
Al determinar la escala de los parámetros del LLM, Meta consideró varios factores, como las leyes de escalado, la duración del entrenamiento y las limitaciones de hardware. La investigación identifica un enfoque equilibrado que optimiza la eficiencia de inferencia dentro de los confines de las leyes de escalado y el total de tokens de entrenamiento. Con un conteo de parámetros de 405 mil millones, Llama 3.1 se posiciona como un fuerte competidor, comparable a GPT-4. Aunque el objetivo final no se ha alcanzado, se están realizando progresos y se espera que los futuros modelos se expandan aún más.
El documento de Chinchilla resalta la importancia del número total de tokens de datos de entrenamiento, afirmando que la relación óptima de parámetros del modelo a tokens de entrenamiento es crucial bajo limitaciones de potencia computacional. Para obtener una ventaja en eficiencia de inferencia, Meta optó por aumentar tanto la cantidad de tokens de entrenamiento como la duración del mismo, mejorando así el rendimiento para una adopción más amplia en la comunidad de código abierto.
A pesar de las similitudes arquitectónicas con Llama 2, Llama 3 realiza mejoras sustanciales en la escala y calidad de los datos, aumentando el conjunto de datos de 2 billones a 15 billones de tokens. La tendencia actual en el desarrollo de modelos se centra en mejorar las puntuaciones de referencia a través de mejoras post-entrenamiento, aunque la evaluación del modelo sigue siendo un desafío de investigación sin resolver. El riesgo de sobreajuste plantea preocupaciones, lo que podría obstaculizar la transferibilidad de las ganancias en rendimiento a capacidades similares. El entrenamiento del modelo Llama 4 comenzó en junio, con un enfoque que probablemente se centre en tecnologías proxy.
Los frecuentes fallos durante el entrenamiento de Llama 3 se atribuyeron a su inmensa escala y alta sincronización, donde el mal funcionamiento de una única GPU podría interrumpir todo el proceso de entrenamiento. De los 419 fallos inesperados, aproximadamente el 58.7% estaban relacionados con las GPUs, incluidas diversas cuestiones de NVLink. Dado que las GPUs H100 de Nvidia operan bajo cargas pesadas, no sorprende que solo tres incidentes requirieran intervención manual, mientras que los problemas restantes se resolvieron automáticamente.
Para maximizar el tiempo efectivo de entrenamiento, el equipo de Llama 3 implementó mantenimiento automatizado del clúster, asegurando que más del 90% del tiempo de entrenamiento se utilizara de manera eficiente. Meta desarrolló varias herramientas y estrategias de optimización, como minimizar los tiempos de inicio de tareas y de puntos de control, utilizar el grabador de vuelo NCCL integrado en PyTorch e identificar GPUs lentas. El NCCLX desempeñó un papel crítico en la detección y localización de fallos, particularmente en relación con problemas de NVLink y RoCE.
Durante el entrenamiento, las fluctuaciones en el consumo de energía de miles de GPUs representaron desafíos significativos para las demandas eléctricas del centro de datos. Meta debe asegurarse de que sus centros de datos puedan soportar Llama 3 y modelos futuros más grandes con un suministro de energía adecuado. Los factores ambientales también influenciaron el rendimiento del entrenamiento; por ejemplo, las variaciones de temperatura durante el entrenamiento de Llama 3 llevaron a ajustes dinámicos de voltaje y frecuencia en las GPUs, provocando ligeras fluctuaciones en el rendimiento.
Con un promedio de 7.76 fallos cada 24 horas en las 16,384 GPUs H100, se prevé que la supercomputadora xAI Memphis, equipada con 100,000 GPUs H100, experimente una tasa de fallos aún más alta. A medida que el número de parámetros de los modelos de IA sigue aumentando, la demanda de recursos computacionales se expande de manera correspondiente. A pesar de estos desafíos, Meta ha demostrado una sólida capacidad para gestionar fallos y mejorar la eficiencia en el entrenamiento de IA a gran escala, estableciendo una base sólida para el entrenamiento de modelos de aún mayor envergadura en el futuro.