Hace unos cinco años, la organización de investigación de inteligencia artificial OpenAI le presentó a Microsoft una audaz idea de que podría construir sistemas de IA que cambiarían para siempre la forma en que las personas interactúan con las computadoras.
En ese momento, nadie sabía que esto significaría sistemas de IA que crean imágenes de cualquier cosa que la gente describa en un lenguaje sencillo o un chatbot para escribir letras de rap, redactar correos electrónicos y planificar menús completos basados en un puñado de palabras. Pero una tecnología como esta era posible. Para construirla, OpenAI necesitaba potencia informática, a una escala en verdad masiva. ¿Podría Microsoft entregarla?
Microsoft se dedicó décadas a sus propios esfuerzos para desarrollar modelos de IA que ayuden a las personas a trabajar con el lenguaje de manera más eficiente, desde el corrector ortográfico automático en Word hasta herramientas de IA que escriben pies de foto en PowerPoint y traducen a más de 100 idiomas en Microsoft Translator. A medida que estas capacidades de IA mejoraron, la empresa aplicó su experiencia en computación de alto rendimiento para escalar la infraestructura en su nube de Azure que permitió a los clientes usar sus herramientas de IA para crear, entrenar y servir aplicaciones de IA personalizadas.
A medida que los investigadores de IA comenzaron a usar unidades de procesamiento de gráficos más potentes, conocidas como GPU, para manejar cargas de trabajo de IA más complejas, comenzaron a vislumbrar el potencial de modelos de IA mucho más grandes que podían comprender los matices tan bien que podían abordar muchas tareas de lenguaje diferentes a la vez. Pero estos modelos más grandes se toparon muy pronto con los límites de los recursos informáticos existentes. Microsoft entendió qué tipo de infraestructura de supercomputación pedía OpenAI y la escala que se requeriría.
“Una de las cosas que aprendimos de la investigación es que cuanto más grande es el modelo, más datos tiene y más tiempo puede entrenar, mejor es la precisión del modelo”, dijo Nidhi Chappell, jefa de producto de Microsoft para cómputo de alto rendimiento de Azure e IA. “Entonces, en definitiva hubo un fuerte impulso para entrenar modelos más grandes durante un período de tiempo más largo, lo que significa que no solo necesita tener la infraestructura más grande, sino que debe poder ejecutarla de manera confiable durante un período prolongado.”
En 2019, Microsoft y OpenAI iniciaron una asociación, que se amplió este año, para colaborar en las nuevas tecnologías de supercomputación de Azure AI que aceleran los avances en IA, cumplen la promesa de modelos de lenguaje extenso y ayudan a garantizar que los beneficios de la IA se compartan de manera amplia.
Las dos empresas comenzaron a trabajar en estrecha colaboración para crear recursos de supercomputación en Azure que fueron diseñados y dedicados para permitir que OpenAI entrenara un conjunto en expansión de modelos de IA cada vez más potentes. Esta infraestructura incluía miles de GPU NVIDIA optimizadas para IA conectadas entre sí en una red de alto rendimiento y baja latencia basada en comunicaciones NVIDIA Quantum InfiniBand para computación de alto rendimiento.
La escala de la infraestructura de computación en la nube que OpenAI necesitaba para entrenar sus modelos no tenía precedentes: grupos exponencialmente más grandes de GPU en red que nadie en la industria había intentado construir, señaló Phil Waymouth, director senior de Microsoft a cargo de asociaciones estratégicas que ayudó a negociar el tratar con OpenAI.
Nidhi Chappell, jefa de producto de Microsoft para IA y computación de alto rendimiento de Azure (izquierda), y Phil Waymouth, director sénior de asociaciones estratégicas de Microsoft (derecha). Foto de Dan DeLong para Microsoft.
La decisión de Microsoft de asociarse con OpenAI se basó en la convicción de que esta escala de infraestructura sin precedentes produciría resultados (nuevas capacidades de IA, un nuevo tipo de plataforma de programación) que Microsoft podría transformar en productos y servicios que ofrezcan un beneficio real a los clientes, dijo Waymouth. Esta convicción alimentó la ambición de las empresas de superar cualquier desafío técnico para construirlo y continuar con su búsqueda de superar los límites de la supercomputación de IA.
“Ese cambio de la investigación a gran escala en los laboratorios a la industrialización de la IA nos permitió obtener los resultados que comenzamos a ver hoy”, dijo.
Esto incluye resultados de búsqueda en Bing que arman unas vacaciones de ensueño, el chatbot en Viva Sales que redacta correos electrónicos de marketing, GitHub Copilot que extrae contexto del código existente de los desarrolladores de software para sugerir líneas de código y funciones adicionales, para eliminar la monotonía de la programación informática y Azure OpenAI Service, que brinda acceso a los grandes modelos de lenguaje de OpenAI con las capacidades de nivel empresarial de Azure.
“El diseño en conjunto de supercomputadoras con Azure ha sido crucial para escalar nuestras exigentes necesidades de capacitación en IA, lo que hace posible nuestro trabajo de investigación y alineación en sistemas como ChatGPT”, dijo Greg Brockman, presidente y cofundador de OpenAI.
Microsoft y sus socios continúan el avance en esta infraestructura para mantenerse al día con la creciente demanda de modelos más complejos y más grandes a nivel exponencial.
Por ejemplo, hoy Microsoft anunció nuevas máquinas virtuales potentes y de una enorme escalabalidad que integran las últimas GPU NVIDIA H100 Tensor Core y la red NVIDIA Quantum-2 InfiniBand. Las máquinas virtuales son la forma en que Microsoft ofrece a los clientes una infraestructura que se puede escalar a medida para cualquier tarea de IA. La nueva máquina virtual ND H100 v5 de Azure proporciona a los desarrolladores de IA un rendimiento y una escalabilidad excepcionales en miles de GPU, según Microsoft.
Entrenamiento de IA a gran escala
La clave de estos avances, dijo Chappell, fue aprender a construir, operar y mantener decenas de miles de GPU coubicadas conectadas entre sí en una red InfiniBand de baja latencia y alto rendimiento. Esta escala, explicó, es mayor que la que han probado incluso los proveedores de GPU y equipos de red. Era un territorio desconocido. Nadie sabía con seguridad si el hardware podía llevarse tan lejos sin romperse.
Las unidades de procesamiento de gráficos, conocidas como GPU por sus siglas en inglés, son una pieza clave del hardware informático que se ha optimizado para cargas de trabajo de IA. Foto cortesía de Microsoft.
Para entrenar un modelo de lenguaje grande, explicó, la carga de trabajo de cómputo se divide en miles de GPU en un clúster. En ciertas fases de este cálculo, llamado allreduce, las GPU intercambian información sobre el trabajo que han realizado. Una red InfiniBand acelera esta fase, que debe finalizar antes de que las GPU puedan iniciar la siguiente parte del cálculo.
“Debido a que estos trabajos abarcan miles de GPU, debes asegurarte de tener una infraestructura confiable y luego debes tener la red en el backend para poder comunicarse más rápido y poder hacerlo durante semanas”, dijo Chappell. “Esto no es algo en lo que tan solo compras un montón de GPU, las conectas y comenzarán a funcionar juntas. Hay mucha optimización a nivel de sistema para obtener el mejor rendimiento, y eso viene con mucha experiencia durante muchas generaciones”.
La optimización a nivel del sistema incluye software que permite la utilización efectiva de las GPU y el equipo de red. En los últimos años, Microsoft ha desarrollado técnicas de software que han aumentado la capacidad de entrenar modelos con decenas de billones de parámetros, al tiempo que reduce los requisitos de recursos y el tiempo para entrenarlos y servirlos en producción.
Microsoft y sus socios también han agregado capacidad de forma incremental a los clústeres de GPU, para hacer crecer la red InfiniBand y ver hasta dónde pueden impulsar la infraestructura del centro de datos necesaria para mantener los clústeres de GPU en funcionamiento, incluidos los sistemas de enfriamiento, los sistemas de suministro de energía ininterrumpida y los generadores de respaldo, señaló Waymouth.
“La razón por la que funcionó es porque construíamos sistemas similares para nuestros equipos internos y allí hay elementos complementarios”, dijo. “Pero la escala a la que lo hacíamos con OpenAI era tan solo mucho mayor, ya sea a nivel interno o con socios externos”.
En la actualidad, esta infraestructura de Azure optimizada para el entrenamiento de modelos de lenguaje extenso está disponible a través de las capacidades de supercomputación de Azure AI en la nube, dijo Eric Boyd, vicepresidente corporativo de Microsoft para AI Platform. Este recurso proporciona la combinación de GPU, hardware de red y software de virtualización necesarios para brindar la computación necesaria para impulsar la próxima ola de innovación de IA.
“Vimos que necesitaríamos crear clústeres de propósito especial que se centren en habilitar grandes cargas de trabajo de capacitación, y OpenAI fue uno de los primeros puntos de prueba de eso”, dijo Boyd. “Trabajamos de cerca con ellos para saber cuáles son las cosas clave que buscaban mientras construían sus entornos de capacitación y cuáles eran las cosas clave que necesitaban”.
“Ahora, cuando otras personas acuden a nosotros y quieren el mismo estilo de infraestructura, podemos dárselos porque esa es la forma estándar en que lo hacemos”, agregó.
IA para todos
Al principio del desarrollo de Microsoft de la infraestructura de computación en la nube optimizada para IA, la empresa se centró en hardware especializado para acelerar los cálculos en tiempo real que hacen los modelos de IA cuando se implementan para completar tareas, lo que se conoce como inferencia. Hoy en día, la inferencia es cuando un modelo de IA escribe el primer borrador de un correo electrónico, resume un documento legal, sugiere el menú para una cena, ayuda a un programador de software a encontrar un código o esboza un concepto para un nuevo juguete.
Llevar estas capacidades de IA a clientes de todo el mundo requiere una infraestructura de IA optimizada para la inferencia. Hoy, Microsoft ha implementado GPU para la inferencia en todo el espacio del centro de datos de Azure de la empresa, que abarca más de 60 regiones de todo el mundo. Esta es la infraestructura que usan los clientes, por ejemplo, para impulsar chatbots personalizados para programar citas de atención médica y ejecutar soluciones de inteligencia artificial personalizadas que ayudan a mantener las aerolíneas a tiempo.
Microsoft ha implementado GPU para la inferencia en todo el espacio del centro de datos global de Azure de la empresa, incluido este en el estado de Washington. Foto cortesía de Microsoft.
A medida que los modelos de IA entrenados crecen, la inferencia requerirá GPU conectadas en red de la misma manera que para el entrenamiento de modelos a fin de proporcionar una finalización de tareas rápida y rentable, según Chappell. Es por eso que Microsoft ha aumentado la capacidad de agrupar GPU con redes InfiniBand en todo el espacio del centro de datos de Azure.
“Debido a que las GPU están conectadas en una red más rápida, puede colocar modelos más grandes en ellas”, explicó. “Y debido a que el modelo se comunica consigo mismo más rápido, podrá realizar la misma cantidad de cómputo en menos tiempo, por lo que es más económico. Desde el punto de vista del cliente final, se trata de cuán barato podemos servir la inferencia”.
Para ayudar a acelerar la inferencia, Microsoft ha invertido en la optimización de sistemas con Open Neural Network Exchange Runtime u ONNX Runtime, un motor de inferencia de código abierto que incorpora técnicas de optimización avanzadas para ofrecer inferencias hasta 17 veces más rápidas. Hoy, ONNX ejecuta más de medio billón de inferencias al día y habilita muchos de los servicios digitales impulsados por IA más ubicuos.
Los equipos de los clientes de Microsoft y Azure en todo el mundo también utilizan esta infraestructura global para ajustar los grandes modelos de IA para casos de uso específicos, desde chatbots más útiles hasta subtítulos de generación automática más precisos. La capacidad única de la infraestructura optimizada de IA de Azure para escalar a nivel vertical y horizontal la hace ideal para muchas de las cargas de trabajo de IA actuales, desde el entrenamiento del modelo de IA hasta la inferencia, según Boyd.
“Hemos hecho el trabajo para comprender en verdad cómo es ofrecer estos servicios a escala”, dijo.
Continuar con la innovación
Microsoft continúa con la innovación en el diseño y la optimización de la infraestructura de inteligencia artificial diseñada de manera especial, agregó Boyd. Esto incluye trabajar con proveedores de hardware informático y fabricantes de equipos de centros de datos para construir desde cero una infraestructura de computación en la nube que brinde el mayor rendimiento, la mayor escala y la solución más rentable posible.
“Tener las primeras lecciones de retroalimentación de las personas que empujan los límites y están a la vanguardia de esto nos da mucha información y una ventaja sobre lo que se necesitará a medida que esta infraestructura avanza”, dijo.
Esta infraestructura optimizada para IA ahora es estándar en todo el tejido de computación en la nube de Azure, que incluye una cartera de máquinas virtuales, computación conectada y recursos de almacenamiento optimizados para cargas de trabajo de IA.
La construcción de esta infraestructura desbloqueó las capacidades de IA que se ven en ofertas como ChatGPT de OpenAI y el nuevo Microsoft Bing, según Scott Guthrie, vicepresidente ejecutivo del grupo de Nube e IA en Microsoft.
“Solo Microsoft Azure proporciona las GPU, la red InfiniBand y la infraestructura de IA única necesaria para construir este tipo de modelos de IA transformadores a escala, razón por la cual OpenAI eligió asociarse con Microsoft”, dijo. “Azure en verdad es el lugar ahora para desarrollar y ejecutar grandes cargas de trabajo de IA transformadoras”.