# BERT (modelo de linguagem)

Bidirecional Encoder Representations from Transformers (BERT) é uma família de modelos de linguagem introduzida em 2018 por pesquisadores do Google. Uma pesquisa da literatura em 2020 concluiu que "em pouco mais de um ano, o BERT se tornou onipresente em experimentos de Processamento de Linguagem Natural (NLP), contando com mais de 150 publicações".
O BERT foi originalmente implementado para o inglês em dois tamanhos de modelo: (1) BERT $_{BASE}$ : 12 encoders com 12 cabeças de auto-atenção bidirecionais totalizando 110 milhões de parâmetros, e (2) BERT $_{LARGE}$ : 24 encoders com 16 auto-atendimento bidirecionais cabeças de atenção totalizando 340 milhões de parâmetros. Ambos os modelos foram pré-treinados no Toronto BookCorpus (800 milhões de palavras) e na Wikipédia em inglês (2.500 milhões de palavras).

## Arquitetura

O BERT é baseado na arquitetura transformer, sendo pré-treinado simultaneamente em duas tarefas: modelagem de linguagem (15% dos tokens foram mascarados e o objetivo do treinamento foi prever o token original, dado seu contexto) e previsão da próxima frase (o objetivo do treinamento foi classificar se dois trechos de texto apareceu sequencialmente no corpus de treinamento). Como resultado desse processo de treinamento, o BERT aprende representações latentes de palavras e frases em contexto. Após o pré-treinamento, é possivél fazer um ajuste fino com menos recursos em conjuntos de dados menores para otimizar seu desempenho em tarefas específicas, como tarefas de PLN (inferência de linguagem, classificação de texto) e tarefas de geração de linguagem baseadas em sequência (resposta a perguntas, geração de resposta conversacional). O estágio de pré-treinamento é significativamente mais caro computacionalmente do que o ajuste fino.

## Desempenho

Quando o BERT foi publicado, ele alcançou desempenho de estado da arte em várias tarefas de compreensão de linguagem natural :
* Conjunto de tarefas GLUE ( Avaliação de Compreensão Geral de Linguagem ) (composto por 9 tarefas)
* SQuAD (Stanford Question Answering Dataset ) v1.1 e v2.0
* SWAG (Situações com Gerações Adversárias )

## História

BERT foi originalmente publicado pelos pesquisadores do Google Jacob Devlin, Ming-Wei Chang, Kenton Lee e Kristina Toutanova. O design tem suas origens em representações contextuais de pré-treinamento, incluindo aprendizado de sequência semi-supervisionado, pré-treinamento generativo, ELMo, e ULMFit. Ao contrário dos modelos anteriores, o BERT é uma representação profunda de linguagem bidirecional e não supervisionada, pré-treinada usando apenas um corpus de texto simples. Modelos livres de contexto, como word2vec ou GloVe, geram uma representação de incorporação de palavra única para cada palavra no vocabulário, onde o BERT leva em consideração o contexto para cada ocorrência de uma determinada palavra. Por exemplo, enquanto o vetor para "rodando" terá a mesma representação do vetor word2vec para ambas as ocorrências nas sentenças "Ele está rodando o programa" e "O pneu está rodando", o BERT fornecerá uma incorporação contextualizada que será diferentes de acordo com a frase.
Em 25 de outubro de 2019, o Google anunciou que havia começado a aplicar modelos BERT para consultas de pesquisa em inglês nos EUA. Em 9 de dezembro de 2019, foi relatado que o BERT havia sido adotado pela Pesquisa do Google em mais de 70 idiomas. Em outubro de 2020, quase todas as consultas em inglês foram processadas por um modelo BERT.

## Reconhecimento

O trabalho de pesquisa que descreve o BERT ganhou o Prêmio de Melhor Artigo Longo na Conferência Anual de 2019 do Capítulo Norte-Americano da Associação de Linguística Computacional (NAACL).