Microsoft ha construido una de las cinco principales supercomputadoras divulgadas al público en el mundo, para poner disponible nueva infraestructura en Azure para entrenar modelos de inteligencia artificial de gran tamaño, como lo anunció la compañía en su conferencia Build para desarrolladores. 

Construida en colaboración con y en exclusiva para OpenAI, la supercomputadora hospedada en Azure fue diseñada en específico para entrenar a los modelos de IA de la compañía. Representa un hito clave en una asociación anunciada en 2019 para crear en conjunto nuevas tecnologías de super cómputo en Azure. 

 

También es un primer paso para hacer que la próxima generación de modelos de IA muy grandes y la infraestructura necesaria para entrenarlos, estén disponibles como plataforma para que otras organizaciones y desarrolladores puedan construir. “Lo emocionante de estos modelos es la gran cantidad de cosas que van a habilitar”, comentó Kevin Scott, director técnico en Microsoft, quien dijo que los beneficios potenciales se extienden más allá de estrechos avances en un tipo de modelo de IA.  “Esto se trata de poder hacer cien cosas emocionantes a la vez en procesamiento de lenguaje natural y cientos de cosas emocionantes en visión de cómputo, y cuando comienzas a ver las combinaciones de estos dominios perceptuales, vas a tener nuevas aplicaciones que son difíciles de imaginar en este instante”, mencionó. 

 

Una nueva clase de modelos IA multi tarea 

A través de la historia, los expertos en aprendizaje automático han construido modelos IA separados y más pequeños que utilizan muchos ejemplos etiquetados para aprender una sola tarea como traducir entre idiomas, reconocer objetos, leer texto para identificar puntos clave en un email o reconocer habla con suficiente precisión para entregar el reporte del clima del día cuando se le solicite. 

 

Una nueva clase de modelos desarrollada por la comunidad de investigación en IA ha probado que algunas de esas tareas pueden ser desarrolladas por un solo modelo masivo – uno de los aprendizajes de examinar miles de millones de páginas de texto disponible de manera pública, por ejemplo. Este tipo de modelo puede absorber tan a profundidad las sutilezas del lenguaje, la gramática, el conocimiento, los conceptos y el contexto, que puede sobresalir en tareas múltiples: resumir un discurso de gran longitud, moderar contenido en chats en vivo de videojuegos, encontrar pasajes relevantes a través de miles de archivos legales o incluso generar código desde GitHub 

 

Como parte de una iniciativa AI at Scale de toda la empresa, Microsoft ha desarrollado su propia familia de grandes modelos de IA, los modelos Microsoft Turing, que ha utilizado para mejorar muchas tareas diferentes de entendimiento de lenguaje a través de Bing, Office, Dynamics y otros productos de productividad. A inicios de 2020, también lanzó para los investigadores el modelo más grande de lenguaje de IA disponible a nivel público en el mundo, el modelo Microsoft Turing para generación de lenguaje natural. 

 

La meta, comenta Microsoft, es poner disponibles sus grandes modelos de IA, herramientas de optimización de entrenamiento y recursos de super cómputo a través de los servicios Azure AI y de GitHub, para que los desarrolladores, científicos de datos y clientes de negocios puedan aprovechar el poder de AI at Scale. “Por el momento, la mayoría de la gente entiende de manera intuitiva cómo las computadoras personales son una plataforma – compras una y no es que todo lo que la computadora vaya a hacer esté ya integrado en el dispositivo cuando lo sacas de la caja”, comentó Scott. 

 

“Eso es justo lo que queremos decir cuando decimos que la IA se ha comenzado a convertir en una plataforma”, comentó. “Se trata de tomar un muy amplio conjunto de datos y entrenar un modelo que aprende a hacer un conjunto general de cosas y poner disponible ese modelo para que millones de desarrolladores descubran cómo hacer cosas interesantes y creativas con él”. Entrenar modelos masivos de IA requiere de una infraestructura avanzada de súper cómputo, o clústeres de hardware de vanguardia conectados por redes de banda ancha alta. También se necesitan herramientas para entrenar modelos a través de estas computadoras interconectadas.

 

La supercomputadora desarrollada por OpenAI es un sistema sencillo con más de 285 mil núcleos de CPU, 10 mil GPUs y 400 gigabits por segundo de conectividad de red para cada servidor GPU. Comparada con otras máquinas listadas en las TOP500 super computadoras en el mundo, se encuentra entre las cinco primeras, comentó Microsoft. Hospedada en Azure, la super computadora también se beneficia de todas las capacidades de una robusta infraestructura de nube moderna, incluido un despliegue rápido, centros de datos sustentables y acceso a servicios de Azure. 

 

Esto se trata de poder hacer cien cosas emocionantes a la vez en procesamiento de lenguaje natural, y cien cosas emocionantes en visión de cómputo, y cuando comienzas a ver las combinaciones de estos dominios perceptuales, vas a tener nuevas aplicaciones que son difíciles de imaginar en la actualidad.  “A medida que aprendimos más y más sobre lo que necesitamos y los diferentes límites de todos los componentes que conforman a una super computadora, pudimos decir, ‘Si pudiéramos diseñar nuestro sistema soñado, ¿Cómo se vería?”, comentó Sam Altman, CEO de OpenAI. “Y entonces Microsoft pudo construirlo”. 

 

La meta de OpenAI es no sólo perseguir avances en investigación, sino también fabricar y desarrollar poderosas tecnologías de IA que otras personas puedan utilizar, comentó Altman. La super computadora desarrollada en asociación con Microsoft fue diseñada para acelerar ese ciclo. “Hemos visto que los sistemas de escala más grande son un componente importante en el entrenamiento de modelos más poderosos”, mencionó Altman. 

 

Para los clientes que quieren avanzar en sus ambiciones de IA pero que no requieren una super computadora dedicada, Azure AI brinda acceso a cómputo poderoso con el mismo conjunto de aceleradores de IA y redes que también impulsan a la super computadora. Microsoft también ha puesto a disposición las herramientas para entrenar grandes modelos de IA en estos clústeres en una manera distribuida y optimizada. 

 

En la conferencia Build, Microsoft anunció que pronto comenzará a poner en código abierto sus modelos Microsoft Turing, así como recetas para entrenarlos en Azure Machine Learning. Esto dará a los desarrolladores acceso a la misma familia de poderosos modelos de lenguaje que la compañía ha utilizado para mejorar el entendimiento del lenguaje a través de sus productos. 

 

También reveló una nueva versión de DeepSpeed, una librería de aprendizaje profundo de código abierto por PyTorch, que reduce la cantidad de poder de cómputo requerido para entrenamiento de modelos distribuidos de gran tamaño. La actualización es más eficiente de manera significativa que la versión lanzada hace sólo tres meses, y ahora permite a la gente entrenar modelos 15 veces más grandes y 10 veces más rápido de lo que podían hacer sin DeepSpeed en la misma infraestructura. 

 

Junto con el anuncio de DeepSpeed, Microsoft reveló que ha añadido soporte para entrenamiento distribuido a ONNX Runtime. ONNX Runtime es una librería de Código abierto diseñada para permitir a los modelos ser portátiles a través de hardware y de sistemas operativos. A la fecha, ONNX Runtime se ha enfocado en inferencia de alto desempeño; esta nueva actualización añade soporte para el entrenamiento de modelos, así como agregar las optimizaciones desde la librería DeepSpeed, lo que permite mejoras en el desempeño de hasta 17 veces sobre el actual ONNX Runtime. 

 

“Queremos poder construir estas tecnologías IA muy avanzadas que en última instancia, puedan ser utilizadas con facilidad por la gente y ayudarles a hacer su trabajo y cumplir sus metas más rápido”, comentó Phil Waymout, gerente de programa. “Estos grandes modelos serán un enorme acelerador”. En el aprendizaje “auto supervisado”, los modelos de IA pueden aprender a partir de grandes cantidades de datos sin etiquetar. Por ejemplo, los modelos pueden aprender sutilezas profundas al absorber grandes volúmenes de texto y predecir palabras y enunciados faltantes.

 

Aprender las sutilezas del lenguaje 

Diseñar modelos de IA que un día pudieran entender el mundo como lo hacen las personas comienza con el lenguaje, un componente crítico para entender la intención humana, para dar sentido a la vasta cantidad de conocimiento escrito en el mundo y comunicarse sin esfuerzo. Los modelos de redes neurales que pueden procesar lenguaje, que se inspiran más o menos por nuestro entendimiento del cerebro humano, no son nuevos. Pero estos modelos de aprendizaje profundo son ahora mucho más sofisticados que las versiones anteriores y escalan en tamaño de manera rápida. 

 

Hace un año, los modelos más grandes tenían mil millones de parámetros, cada uno, de manera vaga, equivalente a una conexión sináptica en el cerebro. El modelo Microsoft Turing para generación de lenguaje natural ahora se coloca como el modelo de IA de lenguaje, disponible de manera pública, más grande del mundo, con 17 mil millones de parámetros. 

 

Esta nueva clase de modelos aprende de manera diferente a los modelos supervisados de aprendizaje que se apoyan en datos generados por humanos y etiquetados de manera meticulosa para enseñar a un sistema de IA a reconocer a un gato o determinar si la respuesta a una pregunta hace sentido. En lo que es conocido como aprendizaje “auto supervisado”, estos modelos de IA pueden aprender sobre lenguaje al examinar miles de millones de páginas de documentos disponibles de manera pública en internet – entradas de Wikipedia, libros auto publicados, manuales de instrucciones, lecciones de historia, orientación sobre recursos humanos. En algo como un juego gigante de Sopa de Letras, las palabras o enunciados son removidos, y el modelo tiene que predecir las piezas faltantes basadas en las palabras alrededor de este. 

 

A medida que el modelo hace esto miles de millones de veces, se vuelve muy bueno para percibir cómo las palabras se relacionan entre sí. Esto resulta en un rico entendimiento de la gramática, los conceptos, las relaciones contextuales y otros bloques de construcción del lenguaje. También permite al mismo modelo transferir lecciones aprendidas a través de muchas diferentes tareas de lenguaje, desde entendimiento de documentos a responder preguntas para crear bots conversacionales. 

 

“Esto ha permitido cosas que en apariencia eran casi imposibles con modelos más pequeños”, comentó Luis Vargas, consejero técnico asociado de Microsoft que lidera la iniciativa AI at Scale de la compañía. 

Las mejoras son algo así como saltar de un nivel de lectura elemental a un entendimiento de lenguaje más sofisticado y matizado. Pero es posible mejorar la precisión aún más al afinar estos grandes modelos de IA en una tarea de lenguaje más específica o a través de exponerlos a material que es específico a una industria o compañía en particular. 

 

“Debido a que cada va a tener su propio vocabulario, la gente ahora puede afinar de manera sencilla ese modelo para darle un título de graduación en la compresión de dominios de negocios, atención médica o legal”, comentó.  

 

AI at Scale 

Una ventaja de la siguiente generación de grandes modelos de IA es que sólo necesitan ser entrenados una vez con cantidades masivas de datos y recursos de super cómputo. Una empresa puede tomar un modelo “pre entrenado” y solo afinarlo para diferentes tareas con conjuntos de datos y recursos mucho más pequeños. 

 

El modelo Microsoft Turing para el entendimiento de lenguaje natural, por ejemplo, ha sido utilizado a través de la compañía para mejorar un amplio rango de ofertas de productividad en el último año. Ha avanzado de manera significativa la generación de subtítulos y la respuesta a preguntas en Bing, y ha mejorado las respuestas para buscar preguntas en algunos mercados en hasta un 125 por ciento. 

 

En Office, el mismo modelo ha impulsado avances en la función de búsqueda inteligente, para permitir búsquedas más sencillas en Word, la función Key Insights que extrae enunciados importantes para ubicar puntos clave de manera rápida en Word y la función de respuestas Sugeridas en Outlook que genera en automático respuestas posibles a un email. Dynamics 365 Sales Insights lo utiliza para sugerir acciones a un vendedor, con base en interacciones con los clientes. 

 

Microsoft también explora modelos de IA de gran escala que pueden aprender de una manera generalizada a través de texto, imágenes y video. Esto podría ayudar con subtitulado automático de imágenes para accesibilidad en Office, por ejemplo, o mejorar las maneras en que la gente busca en Bing, al entender qué hay dentro de las imágenes y los videos. 

 

Para entrenar a sus propios modelos, Microsoft tuvo que desarrollar su propia suite de técnicas y herramientas de optimización, muchas de las cuales están ya disponibles en la librería DeepSpeed PyTorch y en ONNX Runtime. Esto permite a la gente entrenar modelos muy grandes de IA a través de muchos clústeres de cómputo y también exprimir más poder de cómputo del hardware. 

 

Esto requiere particionar un modelo grande de IA en sus muchas capas y distribuirlas a través de diferentes máquinas, un proceso llamado paralelismo de modelo. En este proceso, las herramientas de optimización de Microsoft también dividen la enorme cantidad de datos de entrenamiento en lotes que son utilizados para entrenar múltiples instancias del modelo a través del clúster, que luego son promediadas de manera periódica para producir un solo modelo. 

 

Las eficiencias que han conseguido los investigadores y los ingenieros de Microsoft en este tipo de entrenamiento distribuido harán que el uso de modelos de IA a gran escala sea mucho más eficiente en recursos y rentable para todos, comentó Microsoft. Cuando desarrollan una plataforma de nube para uso general, mencionó Scott, es crítico tener proyectos como el de la asociación de super cómputo de OpenAI y la iniciativa AI at Scale para impulsar ventaja del desempeño. 

 

Él compara esto con la industria automotriz, que desarrolla innovaciones de alta tecnología para los autos de carreras de la Fórmula 1 que de manera eventual encuentra su camino en los sedanes y los vehículos deportivos utilitarios que la gente conduce cada día.  

 

“Al desarrollar esta infraestructura de vanguardia para entrenar grandes modelos de IA, hacemos mejor a todo Azure”, mencionó Scott. “Construimos mejores computadoras, mejores sistemas distribuidos, mejores redes, mejores centros de datos. Todo esto hace mejor al desempeño y al costo y la flexibilidad de toda la nube de Azure”.