Tecnologia Científica

Um sistema de aprendizagem de línguas que presta atenção - com mais eficiência do que nunca
O novo hardware e sistema de software dos pesquisadores do MIT agiliza a análise de frases de última geração.
Por Daniel Ackerman - 14/02/2021


Os pesquisadores do MIT desenvolveram um sistema de hardware e software que pode reduzir o poder de computação, a energia e o tempo necessários para a análise e geração de texto. Créditos:Imagem: Jose-Luis Olivares, MIT

A linguagem humana pode ser ineficiente. Algumas palavras são vitais. Outros, dispensáveis.

Releia a primeira frase desta história. Apenas duas palavras, “linguagem” e “ineficiente”, transmitem quase todo o significado da frase. A importância das palavras-chave é a base de uma nova ferramenta popular para processamento de linguagem natural (PNL) por computadores: o mecanismo de atenção. Quando codificado em um algoritmo de PNL mais amplo, o mecanismo de atenção se concentra em palavras-chave, em vez de tratar cada palavra com igual importância. Isso produz melhores resultados em tarefas de PNL, como detectar sentimentos positivos ou negativos ou prever quais palavras devem vir a seguir em uma frase.

A precisão do mecanismo de atenção geralmente vem às custas da velocidade e do poder de computação, entretanto. Ele é executado lentamente em processadores de uso geral, como você pode encontrar em computadores voltados para o consumidor. Assim, os pesquisadores do MIT projetaram um sistema combinado de software-hardware, denominado SpAtten, especializado para executar o mecanismo de atenção. O SpAtten permite uma PNL mais simplificada com menos poder de computação.

“Nosso sistema é semelhante à forma como o cérebro humano processa a linguagem”, diz Hanrui Wang. “Lemos muito rápido e focamos apenas nas palavras-chave. Essa é a ideia do SpAtten. ”

A pesquisa será apresentada este mês no IEEE International Symposium on High-Performance Computer Architecture. Wang é o autor principal do artigo e aluno de doutorado no Departamento de Engenharia Elétrica e Ciência da Computação. Os co-autores incluem Zhekai Zhang e seu orientador, o professor assistente Song Han.

Desde sua introdução em 2015, o mecanismo de atenção tem sido uma bênção para a PNL. Ele é integrado a modelos de PNL de última geração, como o BERT do Google e o GPT-3 da OpenAI. A principal inovação do mecanismo de atenção é a seletividade - ele pode inferir quais palavras ou frases em uma frase são mais importantes, com base em comparações com padrões de palavras que o algoritmo encontrou anteriormente em uma fase de treinamento. Apesar da rápida adoção do mecanismo de atenção em modelos de PNL, não é sem custo.

Os modelos de PNL requerem uma grande carga de poder do computador, graças em parte às altas demandas de memória do mecanismo de atenção. “Esta parte é na verdade o gargalo para os modelos de PNL”, diz Wang. Um desafio que ele aponta é a falta de hardware especializado para rodar modelos de PNL com o mecanismo de atenção. Processadores de uso geral, como CPUs e GPUs, têm problemas com a complicada sequência de movimentação de dados e aritmética do mecanismo de atenção. E o problema vai piorar à medida que os modelos de PNL se tornam mais complexos, especialmente para frases longas. “Precisamos de otimizações algorítmicas e hardware dedicado para processar a demanda computacional cada vez maior”, diz Wang.

Os pesquisadores desenvolveram um sistema chamado SpAtten para executar o mecanismo de atenção com mais eficiência. Seu design abrange software e hardware especializados. Um avanço importante do software é o uso de “poda em cascata” pelo SpAtten, ou eliminação de dados desnecessários dos cálculos. Uma vez que o mecanismo de atenção ajuda a escolher as palavras-chave de uma frase (chamadas de tokens), o SpAtten remove os tokens sem importância e elimina os cálculos e movimentos de dados correspondentes. O mecanismo de atenção também inclui vários ramos de computação (chamados cabeças). Semelhante aos tokens, as cabeças sem importância são identificadas e removidas. Uma vez despachados, os tokens e cabeças estranhos não são levados em consideração nos cálculos downstream do algoritmo, reduzindo a carga computacional e o acesso à memória.

Para reduzir ainda mais o uso da memória, os pesquisadores também desenvolveram uma técnica chamada "quantização progressiva". O método permite que o algoritmo empunhe dados em pedaços de largura de bits menores e busque o mínimo possível da memória. A precisão de dados mais baixa, correspondendo a uma largura de bits menor, é usada para sentenças simples, e a precisão mais alta é usada para as complicadas. Intuitivamente, é como buscar a frase “cmptr progm” como a versão de baixa precisão de “programa de computador”.

Junto com esses avanços de software, os pesquisadores também desenvolveram uma arquitetura de hardware especializada para executar o SpAtten e o mecanismo de atenção, minimizando o acesso à memória. Seu projeto de arquitetura emprega um alto grau de “paralelismo”, o que significa que várias operações são processadas simultaneamente em vários elementos de processamento, o que é útil porque o mecanismo de atenção analisa cada palavra de uma frase de uma vez. O design permite que o SpAtten classifique a importância de tokens e cabeçotes (para poda potencial) em um pequeno número de ciclos de clock do computador. No geral, os componentes de software e hardware do SpAtten se combinam para eliminar a manipulação de dados desnecessária ou ineficiente, concentrando-se apenas nas tarefas necessárias para completar o objetivo do usuário.

A filosofia por trás do sistema é capturada em seu nome. SpAtten é uma maleta de “atenção esparsa” e os pesquisadores observam no artigo que SpAtten é “homofônico com 'espartano', significando simples e frugal”. Wang diz: “essa é a nossa técnica aqui: tornar a frase mais concisa”. Essa concisão foi confirmada em testes.

Os pesquisadores codificaram uma simulação do projeto de hardware do SpAtten - eles ainda não fabricaram um chip físico - e o testaram em relação a processadores de uso geral concorrentes. O SpAtten correu mais de 100 vezes mais rápido do que o próximo melhor concorrente (uma GPU TITAN Xp). Além disso, o SpAtten era mais de 1.000 vezes mais eficiente em termos de energia do que os concorrentes, indicando que o SpAtten poderia ajudar a reduzir as demandas substanciais de eletricidade da PNL.

Os pesquisadores também integraram o SpAtten em seu trabalho anterior, para ajudar a validar sua filosofia de que hardware e software são mais bem projetados em conjunto. Eles construíram uma arquitetura de modelo de PNL especializada para SpAtten, usando sua estrutura Hardware-Aware Transformer (HAT), e alcançaram um aumento de velocidade de aproximadamente duas vezes em relação a um modelo mais geral.

Os pesquisadores acreditam que o SpAtten pode ser útil para empresas que empregam modelos de PNL para a maioria de suas cargas de trabalho de inteligência artificial. “Nossa visão para o futuro é que novos algoritmos e hardware que removem a redundância em idiomas reduzirão os custos e economizarão no orçamento de energia para as cargas de trabalho de PNL do data center”, disse Wang.

No extremo oposto do espectro, o SpAtten poderia levar a PNL para dispositivos pessoais menores. “Podemos melhorar a vida útil da bateria de telefones celulares ou dispositivos IoT”, diz Wang, referindo-se a “coisas” conectadas à Internet - televisores, alto-falantes inteligentes e similares. “Isso é especialmente importante porque, no futuro, vários dispositivos IoT interagirão com humanos por voz e linguagem natural, então a PNL será o primeiro aplicativo que queremos empregar.”

Han diz que o foco da SpAtten na eficiência e na remoção de redundância é o caminho a seguir na pesquisa de PNL. “Os cérebros humanos são ativados esparsamente [por palavras-chave]. Os modelos de PNL que são ativados esparsamente serão promissores no futuro ”, diz ele. “Nem todas as palavras são iguais - preste atenção apenas às importantes.”