---
title: "BERT (modelo de linguagem)"
source: "https://systems-analysis.info/int/BERT_(modelo_de_linguagem)"
wiki: "systems-analysis.info/int"
article: "BERT_(modelo_de_linguagem)"
language: "pt"
categories:
  - "Category:Google"
  - "Category:Large language models"
  - "Category:LLM families"
  - "Category:Machine learning"
  - "Category:Portuguese"
revision_id: 592
wiki_created_at: 2026-09-06T22:36:06Z
wiki_modified_at: 2026-09-06T22:36:06Z
downloaded_at: 2026-09-07T22:41:09Z
---

# BERT (modelo de linguagem)

**BERT** (**B**idirectional **E**ncoder **R**epresentations from **T**ransformers, *representações de codificador bidirecional de Transformers*) é um grande modelo de linguagem (LLM) para a compreensão de linguagem natural, desenvolvido por pesquisadores do Google e apresentado em 2018. O BERT marcou uma nova era no processamento de linguagem natural (PLN), demonstrando um desempenho sem precedentes em uma ampla gama de tarefas e estabelecendo o paradigma de "pré-treinamento + ajuste fino" (pre-train & fine-tune) como o padrão na indústria.

A principal inovação do BERT é sua arquitetura profundamente bidirecional, que permite ao modelo considerar o contexto de uma palavra simultaneamente à esquerda e à direita em todas as camadas da rede. Isso é alcançado através de uma nova tarefa de pré-treinamento — **Modelagem de Linguagem Mascarada (MLM)**.

## Nome e princípio de funcionamento

A sigla **BERT** significa **Bidirectional Encoder Representations from Transformers**.

- **Bidirectional (Bidirecional)**: Indica a principal característica do modelo — a capacidade de processar o contexto de uma palavra em ambas as direções (da esquerda para a direita e da direita para a esquerda) simultaneamente. Diferente de modelos unidirecionais (como o GPT), que ao processar uma palavra veem apenas o contexto que a precede, o BERT vê a sequência inteira, o que lhe permite formar uma compreensão mais profunda e precisa do significado da palavra.
- **Encoder (Codificador)**: Significa que o BERT utiliza apenas a parte de **codificação** da arquitetura Transformer. A tarefa do codificador é ler a sequência de texto de entrada e criar uma rica representação contextual (vetor) para cada token. O BERT não foi projetado para gerar texto de forma livre, como os modelos decodificadores.
- **Representations (Representações)**: O modelo é treinado para criar representações numéricas de alta qualidade (vetores ou embeddings) para palavras e frases, que podem então ser usadas para resolver várias tarefas de PLN.
- **from Transformers**: Indica que a arquitetura do modelo é totalmente baseada no Transformer.

## História da criação

O desenvolvimento do BERT foi o resultado de vários avanços importantes em PLN:

1.  **Embeddings contextuais:** Modelos como Word2vec e GloVe criavam vetores estáticos para palavras, sem levar em conta o contexto. O modelo **ELMo** (2018) foi um passo à frente, gerando representações dependentes do contexto com a ajuda de redes LSTM bidirecionais; no entanto, essa bidirecionalidade era "superficial" (uma concatenação de dois modelos unidirecionais).
2.  **Aprendizagem por transferência e GPT:** Em meados de 2018, a OpenAI apresentou o modelo **GPT**, que demonstrou a eficácia do pré-treinamento de um grande modelo Transformer em dados não rotulados, seguido de ajuste fino (fine-tuning) em tarefas específicas. No entanto, o GPT era estritamente unidirecional (da esquerda para a direita), o que limitava suas capacidades em tarefas que exigiam a compreensão do contexto completo.

Cientes dessas limitações, os pesquisadores do Google, liderados por Jacob Devlin, desenvolveram o BERT para criar um modelo verdadeiramente e profundamente bidirecional. O artigo sobre o BERT foi publicado no arXiv em outubro de 2018, e o código e os modelos pré-treinados foram disponibilizados publicamente, o que gerou um interesse explosivo na comunidade científica. O BERT quebrou recordes em 11 benchmarks-chave de PLN, incluindo GLUE e SQuAD, e foi chamado de "o momento ImageNet" da PLN, pois um único modelo universal poderia ser facilmente adaptado para múltiplas tarefas.

## Arquitetura

O BERT é totalmente baseado na parte de codificação (encoder) da arquitetura Transformer. Ele consiste em várias camadas idênticas empilhadas umas sobre as outras. Existem duas versões principais:

- **BERT-Base**: 12 camadas, 12 cabeças de atenção, tamanho do estado oculto de 768, número total de parâmetros de ~110 milhões.
- **BERT-Large**: 24 camadas, 16 cabeças de atenção, tamanho do estado oculto de 1024, número total de parâmetros de ~340 milhões.

Cada camada contém duas subcamadas principais:

1.  **Mecanismo de autoatenção de múltiplas cabeças (Multi-Head Self-Attention)**: Permite que cada token na sequência de entrada "preste atenção" a todos os outros tokens, ponderando sua importância para determinar seu próprio significado contextual.
2.  **Rede neural feed-forward (Feed-Forward Network)**: Aplicada a cada token separadamente.

### Dados de entrada

Para funcionar corretamente, o BERT requer uma formatação especial dos dados de entrada. A sequência de tokens fornecida como entrada sempre começa com um token especial **\`\[CLS\]\`** (classification), que é usado para tarefas de classificação de texto inteiro. Se um par de frases é fornecido como entrada (por exemplo, em tarefas de sistema de perguntas e respostas), elas são separadas pelo token **\`\[SEP\]\`** (separator).

A representação final de cada token na entrada é a soma de três embeddings:

- **Embedding de token**: Vetor correspondente a um token específico do vocabulário (o BERT usa a tokenização WordPiece).
- **Embedding de segmento**: Indica a qual frase (a primeira ou a segunda) o token pertence.
- **Embedding posicional**: Indica a posição do token na sequência, já que a arquitetura Transformer por si só não considera a ordem das palavras.

## Tarefas de pré-treinamento

Para garantir uma bidirecionalidade profunda, o BERT é treinado em duas tarefas únicas simultaneamente.

### Modelagem de Linguagem Mascarada (MLM)

Esta é a principal inovação do BERT. Em vez de prever a próxima palavra, como nos modelos de linguagem padrão, o BERT prevê palavras aleatoriamente "mascaradas" em uma frase. O processo é o seguinte:

- Da sequência de entrada, 15% dos tokens são selecionados aleatoriamente.
- Desses 15%:
  - 80% são substituídos pelo token especial \`\[MASK\]\`.
  - 10% são substituídos por um token aleatório do vocabulário.
  - 10% permanecem inalterados.

<!-- -->

- A tarefa do modelo é prever os valores originais desses 15% dos tokens, com base no contexto ao redor deles (à esquerda e à direita).

Este esquema força o modelo a aprender relações semânticas e sintáticas profundas entre as palavras e permite que ele seja verdadeiramente bidirecional.

### Previsão da Próxima Sentença (NSP)

Esta tarefa foi desenvolvida para ensinar o BERT a entender as relações entre frases, o que é crucial para tarefas como sistemas de perguntas e respostas ou análise de implicação textual (NLI). O modelo recebe um par de frases (A e B) e deve prever se a frase B é uma continuação lógica da frase A.

- Em 50% dos casos, B é de fato a próxima frase do texto original.
- Em 50% dos casos, B é uma frase aleatória retirada de outra parte do corpus.

Pesquisas posteriores (por exemplo, no modelo RoBERTa) mostraram que a tarefa NSP é menos importante que a MLM e pode ser abandonada em favor de esquemas de treinamento mais eficientes, mas no BERT original, ela desempenhava um papel importante.

## Aplicação e ajuste fino (Fine-Tuning)

A força do BERT reside no paradigma da aprendizagem por transferência. Após um pré-treinamento em grande escala e dispendioso em enormes corpus (Wikipedia + BooksCorpus), o modelo pré-treinado pode ser fácil e rapidamente **ajustado** (fine-tuned) para resolver uma tarefa aplicada específica.

O processo de ajuste fino geralmente se parece com isto: 1. Uma pequena camada não treinada, específica para a tarefa (por exemplo, um classificador para análise de sentimento), é adicionada à arquitetura do BERT pré-treinado. 2. O modelo inteiro (incluindo os pesos do BERT e a nova camada) é treinado em um pequeno conjunto de dados rotulados para essa tarefa específica.

Exemplos de tarefas para as quais o BERT é adaptado:

- Classificação de texto (análise de sentimento, filtros de spam): Um classificador é adicionado à saída do token \`\[CLS\]\`.
- Sistemas de perguntas e respostas (por exemplo, SQuAD): O modelo é treinado para prever os tokens de início e fim da resposta em um texto fornecido.
- Reconhecimento de entidades nomeadas (NER): Um classificador é adicionado à saída de cada token para determinar se o token faz parte de um nome, organização, data, etc.

## Variantes e modelos derivados

O sucesso do BERT levou ao surgimento de uma família inteira de modelos baseados em suas ideias:

- **RoBERTa** (da Facebook AI): Um "BERT robustamente otimizado". Não é uma nova arquitetura, mas sim o resultado de um treinamento mais cuidadoso e prolongado do BERT: com mais dados, sem a tarefa NSP e com mascaramento dinâmico. O RoBERTa mostrou que o BERT original estava "sub-treinado" e o superou em todos os principais benchmarks.
- **DistilBERT** (da Hugging Face): Uma versão reduzida do BERT, criada usando a técnica de destilação de conhecimento. O DistilBERT é 40% menor, 60% mais rápido e mantém 97% do desempenho do BERT, tornando-o ideal para uso em produção e em dispositivos com recursos limitados.
- **ALBERT** (A Lite BERT, do Google): Uma versão otimizada para reduzir o número de parâmetros. Utiliza duas técnicas-chave: **fatorização de embeddings** e **compartilhamento de parâmetros entre camadas (cross-layer parameter sharing)**. Isso permite criar modelos muito maiores com um número menor de parâmetros.
- **mBERT (Multilingual BERT)**: Uma versão do BERT pré-treinada em 104 idiomas simultaneamente. Mostrou uma capacidade surpreendente de transferência de conhecimento entre idiomas.
- **Modelos específicos de domínio**: Muitos modelos ajustados em dados de áreas específicas, como **BioBERT** (biomedicina), **SciBERT** (textos científicos) e **FinBERT** (finanças).
- **ModernBERT** (2024-2025): Uma nova geração de modelos semelhantes ao BERT de empresas como Answer.AI e LightOn, incorporando melhorias arquitetônicas modernas como RoPE (Rotary Position Embeddings) e suporte para contextos mais longos (até 8192 tokens), mantendo os princípios básicos do BERT.

## Comparação com outros modelos

| Modelo    | Desenvolvedor | Arquitetura                     | Direção do contexto                                        | Tarefa principal                              |
|-----------|---------------|---------------------------------|------------------------------------------------------------|-----------------------------------------------|
| **BERT**  | Google        | Codificador                     | Bidirecional                                               | Compreensão de texto, classificação, extração |
| **GPT**   | OpenAI        | Decodificador                   | Unidirecional (da esquerda para a direita)                 | Geração de texto, continuação de sequência    |
| **XLNet** | Google / CMU  | Autorregressivo (permutacional) | Bidirecional (em teoria)                                   | Compreensão de texto (alternativa ao MLM)     |
| **T5**    | Google        | Codificador-Decodificador       | Bidirecional (codificador) + Unidirecional (decodificador) | Transformação universal "texto para texto"    |

Comparação do BERT com outras arquiteturas-chave

## Impacto

O BERT causou uma verdadeira revolução na PLN e lançou as bases para muitos desenvolvimentos subsequentes:

1.  **Estabeleceu o paradigma de "pré-treinamento + ajuste fino"** como a abordagem dominante em PLN.
2.  **Provou a importância do contexto bidirecional profundo** para a compreensão da linguagem.
3.  **Reduziu a barreira de entrada** para a criação de sistemas de PLN de alto desempenho, já que pesquisadores e desenvolvedores não precisavam mais criar arquiteturas complexas do zero para cada tarefa.
4.  **Foi integrado à Busca do Google**, o que se tornou uma das maiores atualizações do motor de busca em toda a sua história e demonstrou claramente a utilidade prática do modelo.
5.  **Gerou todo um ecossistema** de modelos derivados, ferramentas e pesquisas ("BERTology"), tornando-se um dos trabalhos mais citados no campo da IA.

Apesar de modelos mais novos e maiores, como o GPT-3 e o GPT-4, terem superado o BERT em muitos benchmarks (especialmente em tarefas generativas), o BERT e suas variantes ainda permanecem uma ferramenta poderosa e amplamente utilizada para tarefas que exigem uma profunda compreensão do texto.

## Ligações externas

- <a href="https://github.com/google-research/bert" class="external text" rel="nofollow">Repositório oficial do BERT no GitHub</a>
- <a href="https://research.google/blog/open-sourcing-bert-state-of-the-art-pre-training-for-natural-language-processing/" class="external text" rel="nofollow">Anúncio do BERT no blog do Google AI</a>
- <a href="https://jalammar.github.io/illustrated-bert/" class="external text" rel="nofollow">The Illustrated BERT — uma explicação visual da arquitetura BERT</a>

## Literatura

- Devlin, J. et al. (2019). *BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding*. <a href="https://arxiv.org/abs/1810.04805" class="external text" rel="nofollow">arXiv:1810.04805</a>.
- Vaswani, A. et al. (2017). *Attention Is All You Need*. <a href="https://arxiv.org/abs/1706.03762" class="external text" rel="nofollow">arXiv:1706.03762</a>.
- Peters, M. E. et al. (2018). *Deep Contextualized Word Representations*. <a href="https://arxiv.org/abs/1802.05365" class="external text" rel="nofollow">arXiv:1802.05365</a>.
- Liu, Y. et al. (2019). *RoBERTa: A Robustly Optimized BERT Pretraining Approach*. <a href="https://arxiv.org/abs/1907.11692" class="external text" rel="nofollow">arXiv:1907.11692</a>.
- Lan, Z. et al. (2020). *ALBERT: A Lite BERT for Self-supervised Learning of Language Representations*. <a href="https://arxiv.org/abs/1909.11942" class="external text" rel="nofollow">arXiv:1909.11942</a>.
- Sanh, V. et al. (2020). *DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter*. <a href="https://arxiv.org/abs/1910.01108" class="external text" rel="nofollow">arXiv:1910.01108</a>.
- Yang, Z. et al. (2019). *XLNet: Generalized Autoregressive Pretraining for Language Understanding*. <a href="https://arxiv.org/abs/1906.08237" class="external text" rel="nofollow">arXiv:1906.08237</a>.
- Raffel, C. et al. (2020). *Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer*. <a href="https://arxiv.org/abs/1910.10683" class="external text" rel="nofollow">arXiv:1910.10683</a>.
- Lee, J. et al. (2020). *BioBERT: a pre-trained biomedical language representation model for biomedical text mining*. <a href="https://arxiv.org/abs/1901.08746" class="external text" rel="nofollow">arXiv:1901.08746</a>.
- Warner, B. et al. (2024). *Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference*. <a href="https://arxiv.org/abs/2412.13663" class="external text" rel="nofollow">arXiv:2412.13663</a>.
