Las presentaciones anuales de infraestructura de Azure del CTO de Azure, Mark Russinovich, en Build son siempre fascinantes, ya que explora el pasado, el presente y el futuro del hardware que sustenta la nube. La charla de este año no fue diferente, centrándose en la misma plataforma de IA promocionada en el resto del evento. A lo largo de los años, ha quedado claro que el hardware de Azure se ha vuelto cada vez más complejo. Al principio, era un excelente ejemplo de informática de servicios públicos, que utilizaba un diseño de servidor estándar único. Ahora hay muchos tipos de servidores diferentes, capaces de soportar todas las clases de cargas de trabajo. Se agregaron GPU y ahora aceleradores de IA. Esa última innovación, introducida en 2023, muestra cuánto ha evolucionado la infraestructura de Azure junto con las cargas de trabajo que aloja. La primera diapositiva de Russinovich mostró cuán rápido estaban creciendo los modelos modernos de IA, desde 110 millones de parámetros con GPT en 2018, a más de un billón con el GPT-4o actual. Ese crecimiento ha llevado al desarrollo de supercomputadoras distribuidas masivas para entrenar estos modelos, junto con hardware y software para hacerlos eficientes y confiables. Construcción de la supercomputadora de IA La escala de los sistemas necesarios para ejecutar estas plataformas de IA es enorme. La primera gran supercomputadora de entrenamiento de inteligencia artificial de Microsoft se detalló en mayo de 2020. Tenía 10,000 GPU Nvidia V100 y ocupaba el puesto número cinco en la clasificación mundial de supercomputadoras. Solo tres años después, en noviembre de 2023, la última versión tenía 14.400 GPU H100 y ocupaba el tercer lugar. En junio de 2024, Microsoft tiene más de 30 supercomputadoras similares en centros de datos de todo el mundo. Russinovich habló sobre el modelo de código abierto Llama-3-70B, cuyo entrenamiento requiere 6,4 millones de horas de GPU. En una GPU, eso llevaría 730 años, pero con una de las supercomputadoras de inteligencia artificial de Microsoft, una ejecución de entrenamiento demora aproximadamente 27 días. El entrenamiento es sólo una parte del problema. Una vez que se ha construido un modelo, es necesario usarlo y, aunque la inferencia no necesita niveles de computación de supercomputadora para el entrenamiento, aún necesita mucha potencia. Como señala Russinovich, un único parámetro de punto flotante necesita dos bytes de memoria, un modelo de mil millones de parámetros necesita 2 GB de RAM y un modelo de 175 mil millones de parámetros requiere 350 GB. Eso es antes de agregar cualquier sobrecarga necesaria, como cachés, que pueden agregar más del 40% a los ya considerables requisitos de memoria. Todo esto significa que Azure necesita muchas GPUS con características muy específicas para transmitir una gran cantidad de datos lo más rápido posible. Modelos como GPT-4 requieren cantidades significativas de memoria de gran ancho de banda. Tanto la computación como la memoria necesitan cantidades sustanciales de energía. Una GPU Nvidia H100 requiere 700 vatios, y con miles de ellos en funcionamiento en cualquier momento, los centros de datos de Azure necesitan descargar mucho calor. Más allá del entrenamiento, diseño para la inferencia Microsoft ha desarrollado su propio acelerador de inferencia en la forma de su hardware Maia, que es siendo pionero en un nuevo sistema de refrigeración líquida dirigida, recubriendo los aceleradores Maia en un sistema de refrigeración de circuito cerrado que ha requerido un diseño de bastidor completamente nuevo con un gabinete secundario que contiene los intercambiadores de calor del equipo de refrigeración. El diseño de centros de datos para capacitación le ha mostrado a Microsoft cómo prepararse para la inferencia. El entrenamiento aumenta rápidamente hasta el 100% y se mantiene allí durante toda la carrera. Usando el mismo monitoreo de energía en un bastidor de inferencia, es posible ver cómo varía el consumo de energía en diferentes puntos a lo largo de una operación de inferencia. El Proyecto POLCA de Azure tiene como objetivo utilizar esta información para aumentar la eficiencia. Permite que se ejecuten múltiples operaciones de inferencia al mismo tiempo previendo el consumo máximo de energía, lo que genera alrededor del 20 % de gastos generales. Eso permite a Microsoft colocar un 30% más de servidores en un centro de datos al limitar tanto la frecuencia como la potencia del servidor. El resultado es un enfoque más eficiente y sostenible para las demandas informáticas, energéticas y térmicas de un centro de datos de IA. La gestión de los datos para el entrenamiento de modelos conlleva su propio conjunto de problemas; Hay muchos datos y es necesario distribuirlos entre los nodos de esas supercomputadoras de Azure. Microsoft ha estado trabajando en lo que llama Storage Accelerator para administrar estos datos, distribuyéndolos entre clústeres con un caché que determina si los datos requeridos están disponibles localmente o si es necesario recuperarlos, utilizando el ancho de banda disponible para evitar interferir con las operaciones actuales. El uso de lecturas paralelas para cargar datos permite cargar grandes cantidades de datos de entrenamiento casi dos veces más rápido que las cargas de archivos tradicionales. La IA necesita redes de gran ancho de banda. La computación y el almacenamiento son importantes, pero las redes siguen siendo críticas, especialmente con cargas de trabajo masivas de datos paralelos que funcionan en muchos cientos de GPU. Aquí, Microsoft ha invertido significativamente en conexiones InfiniBand de alto ancho de banda, utilizando 1,2 TBps de conectividad interna en sus servidores, vinculando 8 GPU y, al mismo tiempo, 400 Gbps entre GPU individuales en servidores separados. Microsoft ha invertido mucho en InfiniBand, tanto para sus supercomputadores de entrenamiento Open AI como para su servicio al cliente. Curiosamente, Russinovich señaló que “en realidad, la única diferencia entre las supercomputadoras que construimos para OpenAI y las que ponemos a disposición del público es la escala del dominio InfiniBand. En el caso de OpenAI, el dominio InfiniBand cubre toda la supercomputadora, que son decenas de miles de servidores”. Para otros clientes que no tienen las mismas demandas de capacitación, los dominios son más pequeños, pero aún a escala de supercomputadora, “de 1.000 a 2.000 servidores de tamaño, conectando de 10.000 a 20.000 GPU”. Toda esa infraestructura de red requiere algunas soluciones sorprendentemente de baja tecnología. , como trineos impresos en 3D para tirar de manera eficiente grandes cantidades de cables. Se colocan en los estantes para cables encima de los bastidores de servidores y se arrastran. Es una forma sencilla de reducir significativamente los tiempos de cableado, una necesidad cuando se construyen 30 supercomputadoras cada seis meses. Hacer que la IA sea confiable: Project Forge y One PoolHardware es solo una parte de la historia de las supercomputadoras de Azure. La pila de software proporciona las herramientas de soporte y orquestación de la plataforma subyacente. Aquí es donde entra en juego Project Forge. Puede considerarlo un equivalente a algo como Kubernetes, una forma de programar operaciones en una infraestructura distribuida al tiempo que proporciona gestión de recursos esenciales y distribuye cargas entre diferentes tipos de computación de IA. El programador de Project Forge trata todos los aceleradores de IA disponibles en Azure como un único grupo de capacidad de GPU virtual, algo que Microsoft llama One Pool. Las cargas tienen niveles de prioridad que controlan el acceso a estas GPU virtuales. Una carga de mayor prioridad puede desalojar a una de menor prioridad, moviéndola a una clase diferente de acelerador o a otra región completamente. El objetivo es proporcionar un nivel consistente de utilización en toda la plataforma Azure AI para que Microsoft pueda planificar y administrar mejor su presupuesto de energía y redes. Al igual que Kubernetes, Project Forge está diseñado para ayudar a ejecutar un servicio más resistente, detectando fallas, reiniciando trabajos y reparando la plataforma host. Al automatizar estos procesos, Azure puede evitar tener que reiniciar trabajos costosos y complejos, tratándolos como un conjunto de lotes que pueden ejecutarse individualmente y orquestar entradas y salidas según sea necesario. Coherencia y seguridad: listo para aplicaciones de IA Una vez que se haya creado un modelo de IA es necesario utilizarlo. Nuevamente, Azure necesita una forma de equilibrar la utilización entre diferentes tipos de modelos y diferentes indicaciones dentro de esos modelos. Si no hay orquestación (o orquestación diferida), es fácil llegar a una posición en la que un mensaje termine bloqueando otras operaciones. Al aprovechar sus GPU virtuales fraccionadas, Project Flywheel de Azure puede garantizar el rendimiento, entrelazando operaciones desde múltiples indicaciones a través de GPU virtuales, lo que permite operaciones consistentes en la GPU física del host y al mismo tiempo proporciona un rendimiento constante. Otra optimización de bajo nivel son las capacidades informáticas confidenciales. al entrenar modelos personalizados. Puede ejecutar código y alojar datos en entornos de ejecución confiables. Azure ahora puede tener máquinas virtuales completamente confidenciales, incluidas las GPU, con mensajes cifrados entre entornos confiables de CPU y GPU. Puede usar esto para entrenar o proteger sus datos privados utilizados para la generación aumentada de recuperación. De la presentación de Russinovich, queda claro que Microsoft está invirtiendo mucho en hacer que su infraestructura de IA sea eficiente y receptiva para el entrenamiento y la inferencia. Los equipos de infraestructura y plataforma de Azure han trabajado mucho para desarrollar hardware y software que puedan soportar el entrenamiento de los modelos más grandes, al tiempo que brindan un lugar seguro y confiable para usar la IA en sus aplicaciones. La ejecución de Open AI en Azure les ha dado a esos equipos una Tenemos mucha experiencia, y es bueno ver que esa experiencia da sus frutos al proporcionar las mismas herramientas y técnicas para el resto de nosotros, incluso si no necesitamos nuestras propias supercomputadoras TOP500. Copyright © 2024 IDG Communications, Inc.