Cuando su software puede evocar lágrimas de alegría, esparce la alegría.
Entonces, Translator, un servicio cognitivo de Microsoft Azure, está aplicando algunos de los modelos de IA más grandes del mundo para ayudar a más personas a comunicarse.
“Hay tantas historias geniales”, dijo Vishal Chowdhary, gerente de desarrollo de Translato.
Como el sprint de cinco días para agregar criollo haitiano a las aplicaciones de potencia que ayudaron a los trabajadores humanitarios después de que Haití sufriera un terremoto de 7.0 en 2010. O los abuelos que se ahogaron en su primera sesión usando el software para hablar en vivo con nietos remotos que hablaban un idioma que ellos no entendí.
Un Objetivo Ambicioso
“Nuestra visión es eliminar las barreras en todos los idiomas y modalidades con esta misma API que ya utilizan miles de desarrolladores”, dijo Chowdhary.
Con unos 7000 idiomas hablados en todo el mundo, es un objetivo ambicioso.
Entonces, el equipo recurrió a una herramienta poderosa y compleja: una combinación de enfoque de IA de expertos (MoE – Mixture of Experts).
Es un miembro de última generación de la clase de modelos transformadores que impulsa rápidos avances en el procesamiento del lenguaje natural. Y con 5000 millones de parámetros, es 80 veces más grande que el modelo más grande que el equipo tiene en producción para el procesamiento del lenguaje natural.
Los modelos MoE son tan intensivos en computación que es difícil encontrar a alguien que los ponga en producción. En una prueba inicial, los servidores basados en CPU no pudieron cumplir con el requisito del equipo de usarlos para traducir un documento en un segundo.
Una Aceleración de 27 Veces
Luego, el equipo realizó la prueba en sistemas acelerados con el Servidor de Inferencia NVIDIA Triton, parte de la plataforma NVIDIA AI Enterprise 2.0 anunciada esta semana en GTC.
“Usando GPU NVIDIA y Triton pudimos hacerlo y hacerlo de manera eficiente”, dijo Chowdhary.
De hecho, el equipo pudo lograr una aceleración de hasta 27 veces en tiempos de ejecución de GPU no optimizados.
“Pudimos construir un modelo para realizar diferentes tareas de comprensión del idioma, como resumir, generar texto y traducir, en lugar de tener que desarrollar modelos separados para cada tarea”, dijo Hanny Hassan Awadalla, investigador principal de Microsoft que supervisó las pruebas.
Cómo Ayudó Tritón
Los modelos de Microsoft dividen un trabajo grande como traducir una pila de documentos en muchas tareas pequeñas de traducir cientos de oraciones. La función de procesamiento por lotes dinámico de Triton reúne todas estas solicitudes para aprovechar al máximo el poder de una GPU.
El equipo elogió la capacidad de Triton para ejecutar cualquier modelo en cualquier modo utilizando CPU, GPU u otros aceleradores.
“Parece muy bien pensado con todas las funciones que quería para mi escenario, como algo que habría desarrollado para mí mismo”, dijo Chowdhary, cuyo equipo ha estado desarrollando sistemas distribuidos a gran escala durante más de una década.
Bajo el capó, dos componentes de software fueron clave para el éxito de Triton. NVIDIA amplió FasterTransformer, una capa de software que maneja cálculos de inferencia, para admitir modelos MoE. CUTLASS, una biblioteca matemática de NVIDIA, ayudó a implementar los modelos de manera eficiente.
Prototipo Probado en Cuatro Semanas
Aunque las pruebas fueron complejas, el equipo trabajó con los ingenieros de NVIDIA para obtener un prototipo completo con Triton en funcionamiento en menos de un mes.
“Ese es un cronograma realmente impresionante para hacer un producto que se pueda enviar, realmente lo aprecio”, dijo Awadalla.
Y aunque fue la primera experiencia del equipo con Triton, «lo usamos para enviar los modelos MoE al rediseñar nuestro entorno de tiempo de ejecución sin mucho esfuerzo, y ahora espero que se convierta en parte de nuestro sistema host a largo plazo», agregó Chowdhary.
Tomando los Próximos Pasos
El servicio acelerado llegará en pasos sensatos, inicialmente para la traducción de documentos en algunos de los principales idiomas.
“Eventualmente, queremos que nuestros clientes obtengan la bondad de estos nuevos modelos de manera transparente en todos nuestros escenarios”, dijo Chowdhary.
El trabajo es parte de una amplia iniciativa en Microsoft. Su objetivo es impulsar los avances en una amplia gama de sus productos, como Office y Teams, así como los de sus desarrolladores y clientes, desde pequeñas empresas de una sola aplicación hasta empresas Fortune 500.
Allanando el camino, el equipo de Awadalla publicó una investigación en septiembre sobre el entrenamiento de modelos MoE con hasta 200 000 millones de parámetros en GPU NVIDIA A100 Tensor Core. Desde entonces, el equipo aceleró ese trabajo ocho veces más mediante el uso de versiones 80G de las GPU A100 en modelos con más de 300 000 millones de parámetros.
“Los modelos deberán hacerse cada vez más grandes para representar mejor más idiomas, especialmente para aquellos en los que no tenemos muchos datos”, dijo Adawalla.