O blog da AWS

Explorando o Potencial da AWS em pesquisas de Inteligência Artificial: A experiência dos pesquisadores do CNPq

Leonardo Chaves Dutra da Rocha, professor, UFSJ

Gabriel Bella Martini, arquiteto de soluções, AWS

Gabriel Almeida, arquiteto de soluções, AWS

Raquel Campos Ferreira, gerente de programas, AWS

Rubem Paulo Saldanha, gerente de desenvolvimento de negócios, AWS

Na busca por avanços na Inteligência Artificial, pesquisadores enfrentam desafios relacionados à infraestrutura, como recursos limitados de hardware, escalabilidade e armazenamento de dados. Junto ao CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) a AWS surge como uma solução para superar essas barreiras. Desde 2019 a parceria selecionou 32 pesquisas científicas para receber, durante dois anos, a doação de 400 mil dólares em créditos para o uso da nuvem.

Neste blogpost, exploraremos os problemas comuns que pesquisadores de IA encontram em suas jornadas e como a nuvem pode ser a chave para aprimorar suas pesquisas. Será abordado o caso de sucesso na Universidade Federal de São João del-Rei (UFSJ).

Objetivos

O grupo de pesquisadores da UFSJ tinha como objetivo comparar diversas abordagens de inteligência artificial em tarefas de classificação automática de texto (CAT). O projeto de pesquisa teve como missão fornecer os recursos necessários para que empresas públicas e privadas pudessem escolher o algoritmo de classificação automática de texto mais adequado para suas plataformas digitais, que lidam automaticamente com tarefas relacionadas à recuperação e organização de informações textuais. Com base nos resultados do projeto de pesquisa, as empresas seriam capazes de avaliar a eficácia e eficiência das diferentes abordagens, otimizando assim o uso de recursos computacionais sem comprometer significativamente a eficácia desses algoritmos de CAT.

Um exemplo de aplicação seria nos tribunais de justiça espalhados pelo país, nos quais o número de processos está em constante crescimento, e a análise feita exclusivamente por servidores especializados tem causado atrasos consideráveis no andamento dos processos. É nesse contexto que vemos a crescente utilização de inteligência artificial e aprendizado de máquina, principalmente em algoritmos de classificação automática de texto, para automatizar parte desse processo.

Solução

A pesquisa consistiu na execução de milhares experimentos em 30 bases de dados distintas e considerando diferentes algoritmos como SVM, RoBERTa, GPT, DistilBERT, AlBERT, BART, BERT, LSTM, XLNet, VDCNN e CNN.

Cada algoritmo possui requisitos computacionais diferentes, nesta pesquisa os experimentos foram separados em três categorias distintas de instâncias do serviço Amazon EC2, buscando escolher instâncias que minimizem o custo e que atendam a demanda de cada projeto.

  1. Instâncias de computação acelerada: As instâncias de computação acelerada utilizam aceleradores de hardware ou coprocessadores para executar funções, como cálculos de números de ponto flutuante, processamento gráfico ou aprendizado de máquina, de forma mais eficiente do que é possível em software em execução em CPUs. Para esse tipo de instância foram executados os experimentos relacionados a aprendizagem profunda (RoBERTa, GPT, DistilBERT, AlBERT, BART, BERT, LSTM, XLNet, VDCNN, CNN e HAN). Algumas das instâncias utilizadas nos experimentos foram:
    1. G4dn: As instâncias G4dn usam GPUs NVIDIA T4 e CPUs Intel Cascade Lake personalizadas, e são otimizadas para inferência de aprendizado de máquina e treinamento. Essas instâncias também oferecem alta performance para aplicações de estações de trabalho remotas, transmissão de jogos e renderização de gráficos. Ideais para executar softwares da NVIDIA, como RTX Virtual Workstation, e bibliotecas, como CUDA, CuDNN e NVENC.
    2. P3: As instâncias P3 fornecem computação de alta performance na nuvem com até 8 GPUs com NVIDIA® V100 Tensor Core e taxa de transferência de rede de até 100 Gbps para aprendizado de máquina. As instâncias possuem até 1 petaflop de desempenho de precisão, sendo capaz de reduzir o tempo de treinamento de dias para minutos, além de aumentar o número de simulações finalizadas para computação de alta performance em 3-4x.
  2. Instâncias otimizadas para computação: As instâncias otimizadas para computação são ideais para aplicações que se beneficiam de processadores de alto desempenho para aplicações intensivas em computação. Para esse tipo de instância foram executados os experimentos relacionados a SVM, PTE, SWEM, FastText, MetaFeatures e CluWords.
    1. C5: As instâncias C5 do Amazon EC2 proporcionam alta performance com uma baixa proporção de preço por computação para a execução de cargas de trabalho de computação intensa. Isso inclui cargas de trabalho como servidores web de alta performance, computação de alta performance (HPC), processamento de lotes, veiculação de anúncios, jogos multijogadores altamente escaláveis, codificação de vídeo, modelagem científica, análise distribuída e inferência de aprendizado de máquina. As instâncias C5 já estão disponíveis com uma seleção de processadores da Intel e AMD.
  3. Instâncias otimizadas para memória: As instâncias otimizadas para memória são projetadas para fornecer alto desempenho em cargas de trabalho que processam grandes conjuntos de dados diretamente na memória. Para esse tipo de instância foram executados os experimentos com alto uso de memória como no caso do classificador XGBoost.
    1. R5: As instâncias R5 são bastante adequadas para aplicações com uso intensivo de memória, como bancos de dados de alta performance, caches de memória distribuída em escala de Web, bancos de dados de memória de porte médio e análises de dados. Além disso, você pode escolher entre vários tipos de instâncias com opções para armazenamento local NVMe, armazenamento otimizado no EBS (até 60 Gbps) e redes (até 100 Gbps).

Com a metodologia abordada os pesquisadores conseguiram executar mais de 15000 experimentos.

Conclusão e Resultados

O projeto alcançou com êxito sua proposta inicial de organizar a área de Classificação Automática de Documentos, realizando uma extensa, abrangente e cientificamente sólida comparação entre soluções de classificação de texto neurais e não neurais. Este estudo é notável na literatura devido à magnitude da pesquisa, que envolveu numerosos experimentos e avaliou diversos fatores, como características dos conjuntos de dados, eficácia, tempo de treinamento, variabilidade de resultados e rigor científico.

Os resultados foram disseminados em seis trabalhos científicos, publicados em periódicos e conferências internacionais, e incluíram a criação de seis frameworks contendo implementações de todos os algoritmos avaliados, bem como conjuntos de dados relevantes. Além disso, contribuiu para a formação de dois mestres e dois alunos de graduação em áreas relacionadas, com outros dois alunos de doutorado em fase de conclusão de suas teses. O projeto superou significativamente os produtos inicialmente planejados na proposta original em resposta ao edital.

Segundo o coordenador do grupo de pesquisa, Leonardo Chaves, a AWS e a parceria com o CNPq foram fundamentais para o resultado da pesquisa:

“O nosso grupo nunca produziu tanto em tão pouco tempo”

Coordenador Leonardo Rocha

Abaixo estão as publicações das pesquisas abordadas nesse blogpost:

Repositórios para replicação das pesquisas:

  • Repositórios de algoritmos:
  • Repositórios de representações de texto:
    • https://github.com/feliperviegas/cluwords
    • https://github.com/feliperviegas/cluhtm
  • Repositório de coleções:
    • http://hidra.lbd.dcc.ufmg.br/datasets

Sobre os autores

Leonardo Chaves Dutra da Rocha Possui graduação em Ciência da Computação pela Universidade Federal de Minas Gerais e mestrado em CIência da Computação pela Universidade Federal de Minas Gerais. Doutor em Ciência da Computação também formado na Universidade Federal de Minas Gerais. Tem experiência na área de Ciência da Computação, com ênfase em planejamento de capacidade, mineração de dados, banco de dados e recuperação de informação.
Gabriel Bella Martini é formado em Ciência da Computação e especializado em Engenharia de Software. Atualmente trabalha na AWS com foco em projetos de Inteligência Artificial.
Gabriel Couto de Almeida é formado em Engenharia da Computação, com atuação em projetos de desenvolvimento de software nas áreas de Defesa, Trafego Aéreo, Educação e Instituições Financeiras. Atualmente trabalha como Arquiteto de Soluções na AWS.
Raquel Campos Ferreira estudante de Relações Internacionais. Atualmente trabalha na Amazon Web Services com foco no gerenciamento de projetos.
Rubem Paulo Torri Saldanha é formado em Ciência da Computação. Atualmente trabalha na AWS com foco em projetos logo prazo com governos e instituições de pesquisa