Meta’s Data2vec 2.0 Segunda vez é mais rápido

Meta's Data2vec 2.0 - Segunda vez mais rápido

Meta’s Data2vec é um exemplo de uma rede neural generalista que pode usar o mesmo código exato para processar exemplos de dados em diferentes modalidades – neste caso, fala, texto e imagens – e fazer previsões sobre esses dados.

O que você faz quando comprovou seu ponto em redes neurais?

Fazer isso mais rápido é uma resposta.

Na terça-feira, o Meta, dono do Facebook, Instagram e WhatsApp, apresentou o Data2vec 2.0, uma reformulação de uma rede neural introduzida anteriormente este ano que se comporta como um generalista, realizando tarefas que envolvem dados de texto, imagem e fala com a mesma abordagem básica para os três.

Na segunda vez, os cientistas do Meta tornaram o programa mais rápido e, em alguns casos, mais preciso nos testes de referência de tarefas de aprendizado de máquina.

“O Data2vec 2.0 mostra que a velocidade de treinamento do aprendizado auto-supervisionado pode ser substancialmente melhorada sem perda na precisão da tarefa subsequente”, escrevem os autores Alexei Baevski, Arun Babu, Wei-Ning Hsu e Michael Auli, quatro dos autores do artigo original do Data2vec, neste novo trabalho, “Aprendizado auto-supervisionado eficiente com representações contextualizadas do alvo para visão, fala e linguagem”, publicado no arXiv.

Também: O que é ChatGPT e por que isso importa?

O feito singular deste segundo Data2vec é reduzir o tempo necessário para treinar o Data2vec. Treinar uma rede neural é geralmente medido em termos de “épocas”, ou seja, o número de vezes que a rede neural recebe os exemplos de treinamento. Também pode ser medido pelo tempo de relógio, as horas, minutos e dias contados do início ao fim.

“Os experimentos mostram que o Data2vec 2.0 pode atingir a mesma precisão que muitos algoritmos existentes populares em 2-16 vezes a velocidade de treinamento”, eles escrevem.

O nome Data2vec é um jogo com o nome de um programa para “incorporação” de linguagem desenvolvido pelo Google em 2013 chamado Word2vec. Esse programa previa como as palavras se agrupam, e assim o Word2vec é representativo de uma rede neural projetada para um tipo específico de dados, nesse caso, texto.

No caso do Data2vec, no entanto, Baevski e colegas estão usando uma rede neural chamada Transformer, desenvolvida por Ashish Vaswani e colegas na Google em 2017, e estendendo-a para ser usada em vários tipos de dados. A mesma estrutura da rede neural pode servir para treinar todos os três – imagem, fala e texto – sem ser alterada para se adequar às particularidades de qualquer um desses, tornando-a um programa generalista.

Baevski e colegas estendem o Transformer para o que é chamado de aprendizado “auto-supervisionado”. Em um ambiente auto-supervisionado, uma rede neural é treinada passando por várias etapas cujos resultados são comparados entre si.

Primeiro, a rede comprime uma amostra de dados, o que é conhecido como construção de uma representação dos dados de entrada. Em seguida, uma segunda versão da rede tem alguns desses itens de dados de entrada “mascarados”, não revelados. Ela precisa reconstruir a representação que a primeira versão da rede construiu, o que obriga a segunda rede a construir um modelo melhor de como os dados se encaixam preenchendo essencialmente as lacunas.

Também: O verdadeiro objetivo da IA pode não ser mais a inteligência

As duas redes – aquela com a representação comprimida dos dados de entrada completos e não mascarados, e aquela com a versão incompleta que está tentando completar – são chamadas, de maneira sensata, de Professor e Estudante, respectivamente. A rede Estudante tenta desenvolver seu senso dos dados, por assim dizer, reconstruindo o que o Professor já alcançou apesar da máscara.

Destaque

  • Análise do Apple Mac Studio M2 Ultra: Este é o novo desktop Mac carro-chefe
  • 4 coisas que Claude AI pode fazer e o ChatGPT não consegue
  • Testei centenas de smartwatches, mas esse tem estado no meu pulso o ano todo
  • As melhores chaves de fenda elétricas: Faça tarefas de bricolagem e reparo em metade do tempo

Os autores desta vez fizeram duas alterações-chave no Data2vec para torná-lo mais rápido: usando “convoluções” e “amortizando” as representações comprimidas da rede do professor.

No primeiro aspecto, a rede do estudante, que tem que prever as representações do professor, não está mais usando a parte do Transformer chamada de decodificador para fazer isso.

Essa é a abordagem padrão, descomprimir, por assim dizer, as representações comprimidas da rede do professor. Em vez disso, os autores usam o que são chamadas de redes neurais convolucionais, uma ferramenta fundamental em redes neurais para representar amostras de dados em forma comprimida, e uma ferramenta que é muito mais antiga que o Transformer. É um bom exemplo de como a tecnologia mais antiga pode se manter na programação.

“Em vez de usar um decodificador baseado em Transformer, usamos um decodificador convolucional menor, que descobrimos ser mais fácil e rápido de treinar”, eles escrevem.

Para a segunda alteração, em vez de criar repetidamente uma representação comprimida na rede do professor, o novo Data2vec cria a representação apenas uma vez. Em seguida, ele reutiliza essa representação como o alvo, a coisa a ser adivinhada, para cada um dos pontos de dados mascarados.

Como os autores colocam, “a fim de amortizar o custo do cálculo do modelo do professor, reutilizamos a representação do professor para várias versões mascaradas da amostra de treinamento.

“Concretamente, consideramos M diferentes versões mascaradas da amostra de treinamento e calculamos a perda em relação à mesma representação alvo.”

A arquitetura do Data2vec 2.0. Meta desta vez substituiu a segunda parte do programa, que era um decodificador baseado em Transformer, por um decodificador baseado em redes neurais convolucionais, uma tecnologia mais antiga. Eles também reutilizaram as representações comprimidas da rede “professor” como um único alvo para várias instâncias mascaradas dos dados da rede “estudante”.

Na seção de resultados do artigo, Baevski e sua equipe relatam como eles reduziram o tempo de treinamento e melhoraram a precisão em todas as três áreas de reconhecimento de imagem, reconhecimento de fala e processamento de linguagem natural.

Para o processamento de imagem, os autores usaram o Data2vec como base para ajustar o que é chamado de “ViT”, o “Vision Transformer”, uma rede neural especificamente projetada para tarefas de visão que foi introduzida no ano passado (PDF) por Alexey Dosovitskiy e colegas do Google. O programa Data2vec é uma base pré-treinada, sobre a qual o ViT é um ajuste fino, em termos da literatura.

Comparado com os resultados de janeiro, o ViT suportado pelo Data2vec mais uma vez superou outras redes neurais usadas como base para o ViT em termos de precisão no ImageNet, o teste clássico de atribuição de rótulos a imagens, e também superou a versão anterior do Data2vec.

Mas além da precisão, o novo Data2vec exigiu muito menos épocas de treinamento. O Data2vec anterior exigia 800 épocas; desta vez, isso foi reduzido para 150 épocas. E em comparação com uma rede autoencoder mascarada, chamada MAE, outra criação da Meta (PDF), o treinamento foi reduzido de 1.600 épocas para 100, mesmo com a precisão do novo Data2vec superando o MAE. O regime de treinamento mais rápido resulta em uma grande redução no tempo absoluto de treinamento, apenas 66 horas para o Data2vec 2.0 versus 113,6 horas para o MAE.

Também: Inteligência artificial: 5 aplicações inovadoras que podem mudar tudo

No reconhecimento de fala, a tarefa é preencher as partes ausentes de um trecho de um arquivo de áudio de uma frase falada. O novo Data2vec competiu com várias redes neurais concorrentes para reconhecimento de fala, incluindo o Data2vec original e programas chamados Wav2vec, HuBERT e WavLM. Em nenhum caso o Data2vec 2.0 superou essas redes, mas ele “obtém maior precisão do que outros modelos em menos tempo de treinamento”. Por exemplo, 43 horas de treinamento do Data2vec 2.0 alcançam uma precisão que requer 57 horas para o Data2vec original.

No terceiro campo, processamento de linguagem natural, o Data2vec 2.0 foi testado em uma variedade de desafios que compõem o framework de Avaliação de Compreensão Geral de Linguagem, conhecido como GLUE, desenvolvido pelo Courant Institute of Mathematical Sciences da NYU em 2019.

Em um teste, a rede tem que prever se uma frase segue a partir de outra – implicação lógica – enquanto outra tarefa representativa desafia a rede a rotular uma frase como gramaticalmente correta ou não.

Enfrentando o Data2vec original, além de dois programas baseados em Transformer, o BERT do Google e uma versão revisada chamada RoBERTa, introduzida em 2019 pela Paul Allen School of Computer Science na University of Washington e na Meta, a versão 2.0 do Data2vec obteve pontuações atraentes em todos os resultados do GLUE, ao mesmo tempo em que foi mais rápido para treinar.

A pontuação média de acurácia total em todas as tarefas GLUE para esta nova versão é de 82,6, apenas um pouco abaixo dos 82,7 do Data2vec original, mas superior aos 81,2 do BERT e superior aos 82,5 do RoBERTa. No entanto, o Data2vec 2.0 leva apenas 28,2 horas para atingir esse nível, menos da metade das 69 horas necessárias para o Data2vec original e muito menos que as 50,5 horas necessárias para o RoBERTa.

Além disso: As pessoas que constroem inteligência artificial são aquelas que mais precisam de IA

Baevski e sua equipe escrevem que eles irão expandir o Data2vec no futuro para outras formas de dados além de fala, imagem e texto, levantando a possibilidade de que ele possa ser ainda mais generalista.

Uma limitação parece provável de permanecer. Assim como no Data2vec original, a versão 2.0 ainda lida com cada tipo de dado de forma diferente quando eles são inseridos na rede durante o treinamento. Isso significa que o Data2vec ainda não desenvolveu uma forma completamente genérica de lidar com os tipos de dados.

Imagem, fala e texto são todos preparados por pré-processamento dos dados. Dessa forma, o aspecto multimodal da rede ainda depende de pistas sobre os dados, que a equipe se refere como “codificadores de entrada específicos de cada modalidade”.

Além disso, cada uma das codificações comprimidas da rede de referência é criada separadamente para os três tipos de dados. Ainda não há capacidade de criar um tipo de “super-codificação” que combine todos os tipos de dados de uma vez em uma única representação.

E assim, assim como no Data2vec 1.0, uma rede neural que poderia realmente ser Uma Rede para Dominá-las Todas continua sendo uma tecnologia do futuro.

Assim como no Data2vec original, a Meta disponibilizou o código no GitHub.