Fazendo as Pessoas Falarem: a Microsoft Melhora a Qualidade da AI e a Eficiência do Tradutor usando o NVIDIA Triton

A Microsoft pretende ser a primeira a colocar em produção uma classe de poderosos modelos de transformers de AI usando o Azure com GPUs NVIDIA e software de inferência Triton.
por Shankar Chandrasekaran

Quando seu software pode evocar lágrimas de alegria, você espalha a alegria.

Assim, o Translator, um Serviço Cognitivo do Microsoft Azure, está usando alguns dos maiores modelos de AI do mundo para ajudar mais pessoas a se comunicarem.

“Há tantas histórias legais”, disse Vishal Chowdhary, gerente de desenvolvimento do Translator.

Como a corrida de cinco dias para adicionar o crioulo haitiano a aplicações de energia que ajudaram os trabalhadores humanitários depois que o Haiti sofreu um terremoto de 7,0 em 2010. Ou os avós que se engasgaram em sua primeira sessão usando o software para falar ao vivo com netos remotos que falavam um idioma que eles não entendi.

Um Objetivo Ambicioso

“Nossa visão é eliminar barreiras em todos os idiomas e modalidades com essa mesma API que já está sendo usada por milhares de desenvolvedores”, disse Chowdhary.

Com cerca de 7.000 idiomas falados em todo o mundo, é uma meta ambiciosa.

Assim, a equipe recorreu a uma ferramenta poderosa e complexa: uma mistura de abordagem de AI de especialistas (MoE – Mixture of Experts).

É um membro de última geração da classe de modelos de transformers, impulsionando rápidos avanços no processamento de linguagem natural. E com 5 bilhões de parâmetros, é 80 vezes maior que o maior modelo que a equipe tem em produção para processamento de linguagem natural.

Os modelos MoE são tão intensivos em computação que é difícil encontrar alguém que os coloque em produção. Em um teste inicial, os servidores baseados em CPU não conseguiram atender ao requisito da equipe de usá-los para traduzir um documento em um segundo.

Aceleração de 27 Vezes

Em seguida, a equipe executou o teste em sistemas acelerados com o Servidor de Inferência NVIDIA Triton, parte da plataforma NVIDIA AI Enterprise 2.0 anunciada esta semana no GTC.

“Usando GPUs NVIDIA e Triton, conseguimos fazer isso de forma eficiente”, disse Chowdhary.

Na verdade, a equipe conseguiu atingir uma aceleração de até 27 vezes em tempos de execução de GPU não otimizados.

“Conseguimos construir um modelo para realizar diferentes tarefas de compreensão de linguagem, como resumir, geração de texto e tradução, em vez de ter que desenvolver modelos separados para cada tarefa”, disse Hanny Hassan Awadalla, pesquisador principal da Microsoft que supervisionou os testes.

Como o Triton Ajudou

Os modelos da Microsoft dividem um grande trabalho como traduzir uma pilha de documentos em muitas pequenas tarefas de tradução de centenas de frases. O recurso de lote dinâmico do Triton agrupa essas muitas solicitações para fazer o melhor uso da força de uma GPU.

A equipe elogiou a capacidade da Triton de executar qualquer modelo em qualquer modo usando CPUs, GPUs ou outros aceleradores.

“Parece muito bem pensado com todos os recursos que eu queria para o meu cenário, como algo que eu teria desenvolvido para mim mesmo”, disse Chowdhary, cuja equipe desenvolve sistemas distribuídos em larga escala há mais de uma década.

Sob o capô, dois componentes de software foram fundamentais para o sucesso da Triton. A NVIDIA estendeu o FasterTransformer, uma camada de software que lida com cálculos de inferência, para oferecer suporte a modelos MoE. A CUTLASS, uma biblioteca matemática da NVIDIA, ajudou a implementar os modelos com eficiência.

Protótipo Comprovado em Quatro Semanas

Embora os testes fossem complexos, a equipe trabalhou com os engenheiros da NVIDIA para obter um protótipo completo com o Triton em funcionamento em menos de um mês.

“Esse é um cronograma realmente impressionante para fazer um produto despachável; eu realmente admiro isso”, disse Awadalla.

E embora tenha sido a primeira experiência da equipe com o Triton, “nós o usamos para enviar os modelos MoE rearquitetando nosso ambiente de execução sem muito esforço, e agora espero que ele se torne parte de nosso sistema host de longo prazo”, acrescentou Chowdhary.

Dando os Próximos Passos

O serviço acelerado chegará em etapas criteriosas, inicialmente para tradução de documentos em alguns dos principais idiomas.

“Eventualmente, queremos que nossos clientes obtenham a qualidade desses novos modelos de forma transparente em todos os nossos cenários”, disse Chowdhary.

O trabalho faz parte de uma ampla iniciativa da Microsoft. Ele visa impulsionar os avanços em uma ampla gama de seus produtos, como Office e Teams, bem como os de seus desenvolvedores e clientes, desde pequenas empresas de uma aplicação até empresas da Fortune 500.

Abrindo o caminho, a equipe de Awadalla publicou uma pesquisa em setembro sobre o treinamento de modelos MoE com até 200 bilhões de parâmetros em GPUs NVIDIA A100 Tensor Core. Desde então, a equipe acelerou esse trabalho mais de 8 vezes usando versões de 80G das GPUs A100 em modelos com mais de 300 bilhões de parâmetros.

“Os modelos precisarão ficar cada vez maiores para representar melhor mais idiomas, especialmente para aqueles em que não temos muitos dados”, disse Adawalla.