Open-source training framework increases the speed of large language model pre-training when failures arise
Descripción general del algoritmo de planificación de Oobleck.a) Primero, genera un conjunto de plantillas de canalización, cuya combinación puede utilizar todos los nodos disponibles.b) Luego, se crean instancias de las canalizaciones siguiendo el plan más rápido después de verificar todos los planes posibles.Crédito: Insu Jang, Universidad de Michigan

A medida que la demanda de tecnologías que permitan la IA generativa continúa disparándose, las capacidades de procesamiento deben mantener el ritmo para adaptarse al entrenamiento de modelos y la tolerancia a fallas.Investigadores de la Universidad de Michigan diseñaron una solución específica para cargas de trabajo modernas de IA.

Un equipo de investigación desarrolló Oobleck, un marco de capacitación de modelos grandes de código abierto, utilizando el concepto deplantillas para proporcionar una recuperación de fallas rápida y garantizada sin degradación del rendimiento del entrenamiento.

Los resultados fueron presentados en octubre de 2023 en elActas del 29º Simposio sobre principios de sistemas operativosen Coblenza, Alemania.

"Oobleck es una solución de uso general para agregar resiliencia eficiente al preentrenamiento de cualquier modelo grande. Como resultado, su impacto se sentirá en el preentrenamiento del modelo básico para toda la gama de sus aplicaciones, desde las grandes tecnologías yinformática a los campos científico y médico", afirmó Mosharaf Chowdhury, profesor asociado de ingeniería eléctrica e informática y autor correspondiente del artículo.

Los modelos de lenguaje grandes requieren clústeres de GPU masivos durante períodos prolongados durante el entrenamiento previo, y la probabilidad de experimentar fallas aumenta con la escala y la duración del entrenamiento.Cuando ocurren fallas, la naturaleza sincrónica del preentrenamiento del modelo de lenguaje grande amplifica el problema ya que todas las GPU participantes permanecen inactivas hasta que se resuelve la falla.

Los marcos existentes tienen poco apoyo sistémico paradurante el preentrenamiento del modelo de lenguaje grande.Las soluciones actuales se basan en puntos de control o recomputación para recuperarse de fallas, pero ambos métodos consumen mucho tiempo y causan inactividad en todo el clúster durante la recuperación sin garantías formales de tolerancia a fallas.

Las plantillas de canalización son el núcleo del diseño de Oobleck.Se utiliza una plantilla de canalización, una especificación de ejecución de canalización de entrenamiento para un número determinado de nodos, para crear instancias de réplicas de canalización.Todas las plantillas de canalización son lógicamente equivalentes (es decir, se pueden usar juntas para entrenar el mismo modelo) pero físicamente heterogéneas (es decir, usan diferentes números de nodos).

"Oobleck es el primer trabajo que explota la redundancia inherente enpara tolerancia a fallas al combinar plantillas heterogéneas pregeneradas.En conjunto, este marco proporciona un alto rendimiento con máxima utilización, tolerancia a fallas garantizada y recuperación rápida sin los gastos generales de los enfoques basados ​​en puntos de control o recomputación", dijo Insu Jang, estudiante de doctorado en ciencias de la computación e ingeniería y primer autor del artículo.

Dado un trabajo de entrenamiento que comienza con el número máximo de fallas simultáneas a tolerar, f, el motor de ejecución de Oobleck crea una instancia de al menos f + 1 canalización heterogénea a partir del conjunto de plantillas generado.El lote global fijo se distribuye proporcionalmente a la capacidad informática de las réplicas de la canalización para evitar que haya rezagados en la sincronización del entrenamiento.

En caso de fallas, Oobleck simplemente vuelve a crear instancias de canalizaciones a partir de las plantillas de canalización precalculadas, evitando el exigente análisis de encontrar una nueva configuración óptima en tiempo de ejecución.Se puede demostrar que el uso del conjunto precalculado de plantillas de canalización siempre permite a Oobleck recuperarse de menos fallas.

La resiliencia ante eventos impredecibles es un problema clásico en informática.En lugar de abordar los problemas después de que ocurren, lo cual es lento, o planificar todos los escenarios posibles, lo cual es prácticamente imposible, las plantillas de canalización logran un equilibrio entre velocidad y efectividad en la informática distribuida resiliente.

"Oobleck ofrece la primera demostración de la efectividad de esta idea, pero potencialmente se puede aplicar a cualquier sistema informático distribuido donde exista la misma dicotomía. En el futuro, queremos aplicar plantillas de canalización para mejorar la resiliencia de todas las facetas de las aplicaciones GenAI.comenzando con los sistemas de inferencia", dijo Chowdhury.

Oobleck es de código abierto ydisponible en GitHub.

Más información:Insu Jang et al, Oobleck: Entrenamiento distribuido resiliente de modelos grandes utilizando plantillas de canalización,Actas del 29º Simposio sobre principios de sistemas operativos(2023).DOI: 10.1145/3600006.3613152

Citación:El marco de capacitación de código abierto aumenta la velocidad de la capacitación previa de modelos de lenguaje grandes cuando surgen fallas (2023, 18 de diciembre)recuperado el 18 de diciembre de 2023de https://techxplore.com/news/2023-12-open-source-framework-large-language-pre-training.html

Este documento está sujeto a derechos de autor.Aparte de cualquier trato justo con fines de estudio o investigación privados, noparte puede ser reproducida sin el permiso por escrito.El contenido se proporciona únicamente con fines informativos.