La historia del desarrollo de software moderno ha sido una danza entre lo que el hardware puede ofrecer y lo que el software exige. A lo largo de las décadas, los pasos de este baile nos han llevado desde el Intel 8086 original, que ahora consideramos con una funcionalidad muy básica, hasta los procesadores multifacéticos de hoy, que brindan soporte de virtualización, acceso de extremo a extremo a memoria y datos cifrados. y conjuntos de instrucciones ampliados que impulsan las pilas de aplicaciones más exigentes.
Este baile se balancea de un lado a otro. A veces nuestro software tiene que esforzarse para alcanzar las capacidades de una nueva generación de silicio y, a veces, tiene que exprimir hasta el último gramo de rendimiento disponible. Ahora, finalmente estamos viendo la llegada de una nueva generación de hardware que combina CPU familiares con nuevos aceleradores a nivel de sistema que brindan la capacidad de ejecutar modelos complejos de IA tanto en hardware cliente como en servidores, tanto en las instalaciones como en la nube pública.
Encontrará aceleradores de IA no solo en los conocidos procesadores Intel y AMD, sino también en la última generación de diseños de servidor Neoverse de Arm, que combinan esas características con bajas demandas de energía (al igual que las ofertas de dispositivos móviles y portátiles de Qualcomm). Es una combinación atractiva de características para nubes de hiperescala como Azure, donde el bajo consumo y la alta densidad pueden ayudar a mantener bajos los costos y al mismo tiempo permitir que continúe el crecimiento.
Al mismo tiempo, los aceleradores a nivel de sistema prometen un futuro interesante para Windows, permitiéndonos utilizar asistentes de inteligencia artificial integrados como una alternativa a la nube a medida que Microsoft continúa mejorando el rendimiento de su serie Phi de modelos de lenguajes pequeños.
Azure Boost: descarga de silicio para virtualización
Encender la sierra 2023 Microsoft anuncia su propio silicio personalizado para Azure, hardware que debería comenzar a implementarse para los clientes en 2024. Microsoft ha estado utilizando silicio personalizado y FPGA en sus propios servicios desde hace algún tiempo. El uso de la compresión de hardware Zipline y los aceleradores de IA basados en FPGA Project Brainwave son buenos ejemplos. La llegada más reciente es Impulso azulcual Descarga los procesos de virtualización desde el hipervisor y el sistema operativo host. para acelerar el almacenamiento y las redes para máquinas virtuales de Azure. Azure Boost también incluye el chipset de seguridad de la cadena de suministro integrado de Cerberus.
Azure Boost tiene como objetivo brindar a las cargas de trabajo de su máquina virtual acceso a la mayor cantidad posible de CPU disponible. En lugar de utilizar la CPU para comprimir datos o administrar la seguridad, el hardware dedicado asume el control, lo que permite a Azure ejecutar más cargas de trabajo de los clientes en el mismo hardware. Ejecutar sistemas con una alta utilización es clave para la economía de la nube pública, y cualquier inversión en hardware se amortizará rápidamente.
Maia 100: Silicio para modelos de lenguaje grandes
Grandes modelos de lenguaje (y IA generativa en general) muestran la importancia de la computación densa, con OpenAI utilizando la supercomputadora basada en GPU de Microsoft para entrenar sus modelos GPT. Incluso en un sistema como el de Microsoft, los grandes modelos básicos como GPT-4 requieren meses de entrenamiento, con más de un billón de parámetros. La próxima generación de LLM necesitará aún más computación, tanto para la formación como para el funcionamiento. Si estamos creando aplicaciones basadas en esos LLM, utilizando la generación aumentada de recuperación, necesitaremos capacidad adicional para crear incrustaciones para nuestro contenido fuente y proporcionar la búsqueda subyacente basada en vectores.
Las supercomputadoras basadas en GPU son una inversión importante, incluso cuando Microsoft puede recuperar parte de los costos de capital de los suscriptores. Los costos operativos también son elevados, con importantes requisitos de refrigeración además de energía, ancho de banda y almacenamiento. Por lo tanto, podríamos esperar que esos recursos se limiten a muy pocos centros de datos, donde haya suficiente espacio, energía y refrigeración.
Pero para que la IA a gran escala sea un diferenciador exitoso para Azure frente a competidores como AWS y Google Cloud, tendrá que estar disponible en todas partes y será asequible. Eso requerirá silicio nuevo (tanto para entrenamiento como para inferencia) que pueda ejecutarse a densidades más altas y con menor potencia que las GPU actuales.
Si recordamos los FPGA Project Brainwave de Azure, estos utilizaron silicio programable para implementar algoritmos clave. Si bien funcionaban bien, eran dispositivos de un solo propósito que actuaban como aceleradores de objetivos específicos. modelos de aprendizaje automático. Se podría desarrollar una variante que admitiera las complejas redes neuronales de un LLM, pero sería necesario implementar una enorme variedad de procesadores simples para admitir la aritmética vectorial multidimensional que impulsa estos modelos semánticos. Esto va más allá de las capacidades de la mayoría de las tecnologías FPGA.
El procesamiento de vectores es algo en lo que las GPU modernas son muy buenas (no es sorprendente, ya que muchos de los arquitectos originales comenzaron sus carreras desarrollando hardware de procesamiento de vectores para las primeras supercomputadoras). Una GPU es básicamente un conjunto de procesadores simples que funcionan con matrices y vectores, utilizando tecnologías como la de Nvidia. CUDA para proporcionar acceso a funciones de álgebra lineal que normalmente no forman parte del conjunto de instrucciones de una CPU. La aceleración resultante nos permite construir y utilizar modelos de IA modernos como los LLM.
El nuevo chip acelerador de IA personalizado de Microsoft, Maia 100, está diseñado tanto para entrenamiento como para inferencia. Aprovechando las lecciones aprendidas al ejecutar cargas de trabajo OpenAI, Maia está diseñada para adaptarse a la infraestructura existente de Azure, como parte de una nueva unidad de bastidor acelerador que se ubica junto a los bastidores informáticos existentes. Con más de 100 mil millones de transistores entregados por un proceso de cinco nanómetros, el Maia 100 es sin duda un chip muy grande y muy denso, con mucha más capacidad de cómputo que una GPU.
El desarrollo de Maia se perfeccionó junto con los modelos de OpenAI y utiliza un nuevo diseño de bastidor que incluye elementos de refrigeración personalizados a base de líquido. Esa última parte es clave para entregar cargas de trabajo de IA a más que los centros de datos de Azure más grandes. Agregar una infraestructura de refrigeración líquida es costoso, por lo que colocarla en los racks Maia 100 garantiza que se pueda colocar en cualquier centro de datos, en cualquier parte del mundo.
La instalación de racks Maia 100 requiere reajustar el espacio entre racks, ya que el sistema de enfriamiento los hace más grandes que los racks típicos de 21 pulgadas de Azure, que tienen el tamaño adecuado para servidores Open Compute Project. Además del hardware de refrigeración líquida, el espacio adicional se utiliza para interconexiones de alto ancho de banda de 4,8 Tb, esenciales para enviar grandes cantidades de datos entre CPU y aceleradores.
Todavía hay dudas sobre cómo las aplicaciones podrán utilizar los nuevos chips. A falta de detalles adicionales, es probable que ejecuten modelos de inteligencia artificial proporcionados por Microsoft, como OpenAI y Hugging Face, así como sus propios servicios cognitivos y los modelos de lenguaje pequeño Phi. Si están disponibles para entrenar sus propios modelos, espere ver una nueva clase de máquinas virtuales junto con la gama actual de opciones de GPU en Azure AI Studio.
Cobalt 100: el procesador Arm propio de Azure
Junto con la presentación de Maia, Microsoft anunció su propio procesador de servidor Arm, el Cobalt 100. Se trata de un procesador de 128 núcleos y 64 bits, diseñado para admitir aplicaciones de alta densidad y bajo consumo, basado en el diseño de referencia Neoverse de Arm. Azure ya está utilizando procesadores Arm para algunos de sus servicios de plataforma, y es probable que Cobalt 100 admita estos y más servicios, en lugar de usarse para infraestructura como servicio.
No es necesario saber si el código de Azure App Service se ejecuta en Intel, AMD o Arm, siempre y cuando funcione bien y sus usuarios obtengan los resultados que esperan. Podemos esperar ver procesadores Cobalt ejecutando servicios conectados a Internet, donde la densidad y la eficiencia energética son requisitos importantes, además de alojar elementos de la red de entrega de contenido de Azure fuera de sus principales centros de datos.
Microsoft describe su ingeniería de silicio como una forma de ofrecer un “enfoque de sistemas” a sus centros de datos de Azure, con soporte de extremo a extremo desde sus ofertas iniciales de almacenamiento y redes hasta sus propios servicios informáticos. Y no es sólo Azure. Un mejor silicio también llegará a Windows, ya que Procesadores habilitados para NPU de Intel y Qualcomm comienzan a llegar a las computadoras de escritorio y portátiles de 2024. Después de muchos años de que el software lidere el hardware, será interesante ver cómo podemos llevar estas nuevas plataformas al límite con código.
Copyright © 2024 IDG Communications, Inc.