- Presentamos Arcadia, un metasistema unificado que modela la computación, la memoria y el rendimiento de la red de los grupos de entrenamiento de IA.
- Para extraer el máximo rendimiento de un clúster de IA y mejorar la eficiencia general se requiere un sistema de entradas múltiples que considere de manera conjunta diferentes parámetros de hardware y software en la computación, el almacenamiento y las redes.
- Arcadia proporciona a los investigadores e ingenieros de Meta información valiosa sobre el rendimiento de los modelos de IA y las cargas de trabajo en un clúster de IA, lo que les permite tomar decisiones basadas en datos al diseñar clústeres de IA.
La IA juega un papel importante en el trabajo que hacemos en Meta. Usamos la IA para hacer más experiencia individual y recomendaciones para personas de nuestra familia de aplicaciones. También nos esforzamos en promover los últimos avances en el campo. IA generativavisión por computadora, nuevas herramientas de realidad aumentada (AR), procesamiento del lenguaje natural (NLP) y otras áreas centrales de la IA para una amplia gama de aplicaciones.
Cumplir con estos compromisos significa maximizar el rendimiento de cada GPU en nuestros clústeres de IA en tres áreas de rendimiento: computación, memoria y red.
Dentro de estas áreas, el rendimiento de un clúster de IA puede verse influido por muchos factores, entre ellos
parámetros del modelo, distribución de la carga de trabajo, lógica del programador de trabajos, topología y características del hardware. Pero centrarse en estos pilares individualmente da como resultado esfuerzos de optimización del rendimiento local que no aprovechan al máximo el rendimiento del clúster. Desde una perspectiva organizacional, esto conduce aún más a la ineficiencia, ya que múltiples esfuerzos con el mismo objetivo de mejorar el desempeño del cluster no se priorizan de manera integral. Estos problemas solo aumentarán a medida que los modelos de lenguajes grandes (LLM) se vuelvan más comunes.
Necesitamos una fuente sistemática de verdad que pueda modelar conjuntamente varios factores de computación, almacenamiento y rendimiento de la red. Aquí es donde entra en juego Arcadia, el completo simulador de rendimiento de IA de Meta. Arcadia está diseñado para proporcionar un entorno de simulación unificado que modele con precisión el rendimiento de los componentes de computación, memoria y redes en grupos de entrenamiento de IA a gran escala. Utilizando los conocimientos de Arcadia, nuestros ingenieros y desarrolladores pueden tomar decisiones basadas en datos para los clústeres de IA y la infraestructura que los respalda a medida que se desarrollan.
Desafíos de optimización del clúster de IA
Cuando pensamos en optimizar nuestros clústeres de IA, hay varios factores a considerar:
- Nuestro sistema distribuido a gran escala: El avance en cualquier campo de la IA, ya sea visión por computadora, habla o PNL, requiere entrenar modelos grandes y complejos. En Meta, esto se ve facilitado por numerosos grupos de infraestructura informática de alto rendimiento. Por ejemplo, Supercúmulo de investigación de inteligencia artificial para la investigación de inteligencia artificial.
- Nuestro sistema multinivel: En Meta controlamos el stack desde la red física hasta las aplicaciones. Esto se traduce en muchos parámetros configurables en la red, la computación, la memoria, la aplicación y la programación para lograr el rendimiento del modelo deseado. Encontrar el conjunto correcto de parámetros y entradas para lograr un buen rendimiento del modelo es una tarea iterativa que puede aumentar significativamente el tiempo de entrenamiento.
- Nuestros flujos de trabajo operativos: La disponibilidad de la infraestructura subyacente es un factor importante que puede afectar el tiempo de entrenamiento de un modelo. Por ejemplo, una falla de un componente podría hacer que el trabajo retroceda a un punto de control anterior y se perdería cualquier progreso realizado. A nuestra escala, ejecutar dichos clústeres sin datos de conciencia operativa puede resultar en un rendimiento deficiente.
- Características de la carga de trabajo de IA: Nuestros grupos de capacitación están diseñados para cargas de trabajo en una variedad de casos de uso, que pueden tener diferentes conjuntos de características, desde memoria y computación intensiva hasta latencia sensible y paralelizable. Ya es difícil rastrear estas características en diferentes cargas de trabajo. Pero la complejidad del problema aumenta en un orden de magnitud debido a la incertidumbre sobre las cargas de trabajo futuras y la previsión de diferentes cargas de trabajo para lograr un rendimiento óptimo.
- La necesidad de una fuente común de verdad: Los esfuerzos de investigación interdisciplinaria, como la optimización del rendimiento del clúster de IA, abarcan varios equipos en redes, computación y almacenamiento. Es posible que estos equipos estén trabajando sobre suposiciones obsoletas sobre otros fundamentos mientras llevan a cabo sus propios esfuerzos de optimización local. La falta de un enfoque holístico en tales casos conduce a menudo a ineficiencias organizativas, como problemas en la toma de decisiones y duplicación de esfuerzos.
sistema arcadia
Nuestro objetivo principal con Arcadia es desarrollar un sistema de análisis de rendimiento multidisciplinario que permita el diseño y la cooptimización en múltiples niveles del sistema, incluidas aplicaciones, redes y hardware.
Arcadia permite a las partes interesadas aprender y mejorar diversos aspectos, como arquitecturas de modelos de aprendizaje automático (ML), algoritmos colectivos, programación de trabajos, hardware y diseño de arquitectura de red. Al proporcionar información sobre el impacto de estos factores en el rendimiento del sistema, Arcadia simplifica los procesos de toma de decisiones basados en datos y facilita el desarrollo de modelos y hardware.
Entradas
Como se muestra en el diseño de arquitectura anterior, las entradas al sistema Arcadia incluyen una serie de parámetros importantes, incluidos planes a largo plazo para sistemas y modelos de IA, topología de red y protocolos de enrutamiento, planes de centros de datos, distribución de carga de trabajo de IA y hardware. Características. Además, Arcadia considera las regiones de falla para brindar una visión holística del rendimiento y la confiabilidad del sistema.
Básico
En el corazón de Arcadia hay un orquestador que coordina el modelado de varios componentes, incluida la programación de trabajos, la computación y la memoria, y el comportamiento de la red en diferentes niveles. El sistema utiliza un sintetizador de cargas de trabajo de inteligencia artificial que aprende de las distribuciones de producción y genera cargas de trabajo representativas como entrada, lo que garantiza que la simulación refleje las condiciones del mundo real.
Salidas
Arcadia ofrece una amplia gama de resultados, que incluyen capacitación en IA y métricas de rendimiento, utilización de recursos y métricas de confiabilidad y disponibilidad. Este conjunto integral de métricas permite a las partes interesadas analizar el impacto de varios factores y tomar decisiones informadas para optimizar el rendimiento del sistema.
Comentario
A diferencia de las estimaciones analíticas, Arcadia tiene en cuenta la red y el circuito de retroalimentación computacional, proporcionando estimaciones de rendimiento precisas que coinciden con las mediciones de producción del mundo real. Esta capacidad le permite realizar predicciones más precisas y comprender mejor el rendimiento esperado de los modelos de IA y las cargas de trabajo en una infraestructura específica.
Ventajas de Arcadia
Arcadia proporciona información en tiempo real y un nivel de flexibilidad de modelado que nos permite abordar una variedad de desafíos relacionados con la optimización de nuestros clústeres.
Los flujos de trabajo operativos se benefician enormemente de las capacidades de modelado de Arcadia, proporcionando una visibilidad mejorada y una comprensión más profunda de los riesgos y planes de mitigación. Se pueden realizar auditorías de mantenimiento de redes de IA/HPC basadas en simulación para identificar problemas potenciales y desarrollar soluciones adecuadas. Los programas de mantenimiento se pueden optimizar utilizando los análisis de Arcadia, lo que garantiza una interrupción mínima de las operaciones de IA/HPC. Además, Arcadia ayuda a depurar e identificar las causas de los eventos de producción, lo que permite una resolución de problemas eficaz y evita que los problemas se repitan.
Arcadia ofrece flexibilidad en términos de nivel de detalle de modelado para adaptarse a los diferentes requisitos y objetivos de los usuarios. Los usuarios que se centran únicamente en el nivel de la aplicación pueden ignorar los detalles de nivel inferior, lo que permite una ejecución de simulación más rápida. Por otro lado, por ejemplo, los usuarios que requieren un análisis en profundidad del comportamiento de los equipos de red de bajo nivel pueden utilizar el modelado de red a nivel de paquetes de Arcadia para obtener información detallada.
Además, Arcadia sirve como una fuente única de verdad en la que todas las partes interesadas están de acuerdo. Este enfoque unificado ayuda a garantizar un análisis de rendimiento consistente y confiable en todos los equipos y disciplinas, creando un marco común para el diseño colaborativo de hardware, redes, programación de trabajos y sistemas de inteligencia artificial.
Casos de uso de Arcadia
Existen varias opciones para utilizar el sistema Arcadia para crear clústeres a gran escala, eficientes y de alto rendimiento:
- Análisis de fragmentación y uso de clústeres.
- Medir el impacto de la red y el hardware en el rendimiento de AI/HPC
- Análisis del perfil laboral de AI/HPC en clusters educativos
- Evaluación de la confiabilidad, disponibilidad y efectividad de los grupos de aprendizaje.
- Optimización del contenido del cluster de formación
- Optimice la programación y configuración de trabajos de AI/HPC
Próximos pasos para Arcadia
A medida que desarrollamos nuevos casos de uso para Arcadia, también estamos desarrollando plataformas adicionales para ampliar sus capacidades. Esto incluirá un marco para respaldar escenarios operativos en redes de producción, como la optimización del mantenimiento del clúster de capacitación y la programación y configuración de trabajos de AI/HPC.
También exploramos un marco que proporciona información sobre el diseño de diferentes topologías/enrutamiento basado en un conjunto de modelos conocidos. Esto se utilizará para identificar cuellos de botella clave en computación, memoria o red y brindar información sobre cómo se pueden optimizar varios parámetros del modelo para un clúster determinado.
Finalmente, nos comprometemos a garantizar que Arcadia respalde los aportes de ChakraRepresentación gráfica abierta de cargas de trabajo de IA/ML, desarrollada en el grupo de trabajo MLCommons.
Gracias
Mucha gente contribuyó a este proyecto, pero nos gustaría agradecer especialmente a Naader Hasani, Peter Lapukhov, Mikel Jimenez Fernandez, Thomas Fuller, Xin Liu, Greg Steinbrecher, Yuhui Zhang, Max Nourmohammadpour, Mustafa Ozdal, Kapil Bisht, Phil Buonadonna, Josh Gilliland. . , Abhishek Gopalan, Biao Lu, Gaya Nagarajan, Steve Politis, Kevin Quirk, Jimmy Williams, Yi Zhang y Ying Zhang.