01-03-02 — Self-Supervised Learning e Por Que Importa para LLMs

⏱ 10 min Fontes validadas em: 2026-04-29

TL;DR

Self-supervised learning resolve o gargalo do aprendizado supervisionado: você não precisa de humanos rotulando dados. O modelo cria seus próprios labels a partir dos dados — escondendo parte do input e tentando prever o que foi escondido. É assim que GPT e BERT foram treinados em centenas de bilhões de palavras sem nenhuma anotação humana. A internet inteira vira dado de treino.

O Problema que Self-Supervised Resolve

No aprendizado supervisionado, você precisa de labels — e labels custam caro. Para treinar um modelo de linguagem em todo o texto da internet, você precisaria de humanos lendo e rotulando bilhões de frases. Impossível.

Self-supervised learning é uma jogada elegante: o próprio dado gera o label. Você não rotula nada — você esconde parte do dado e usa o resto como supervisão.

💡
Insight: Self-supervised não é "sem supervisão" — é supervisão gerada automaticamente pelo dado. O "self" é o dado gerando seu próprio label. É supervisionado em termos de mecanismo, mas não requer anotação humana.

Dois Sabores de Self-Supervised para Texto

1. Masked Language Modeling (MLM) — Como o BERT Aprende

Você pega uma frase, esconde algumas palavras aleatoriamente (15% delas), e pede ao modelo para prever as palavras escondidas usando o contexto ao redor.

flowchart LR A["Frase original:\nO banco aprovou o empréstimo"] -->|"Mascara 15%"| B["O [MASK] aprovou o empréstimo"] B -->|"Modelo prediz"| C["Predição: 'banco'\nLabel real: 'banco'\nLoss calculado"] style A fill:#1a3a5c style B fill:#3a2a1a style C fill:#1a4a1a

Para prever a palavra mascarada, o modelo precisa entender o contexto antes e depois. Treinar em bilhões de exemplos assim força o modelo a aprender gramática, semântica, fatos do mundo — qualquer coisa que ajude a completar lacunas.

BERT foi treinado com MLM em 3,3 bilhões de palavras. Zero anotação humana no pré-treino.

2. Causal Language Modeling (CLM) — Como o GPT Aprende

Diferente do BERT que olha para os dois lados, o GPT usa uma abordagem autoregressiva: dado o que veio antes, prediz o próximo token.

flowchart LR A["'O banco'"] -->|"prediz"| B["'aprovou'\n✓ correto"] A2["'O banco aprovou'"] -->|"prediz"| C["'o'\n✓ correto"] A3["'O banco aprovou o'"] -->|"prediz"| D["'empréstimo'\n✓ correto"] style A fill:#1a2a4a style A2 fill:#1a2a4a style A3 fill:#1a2a4a style B fill:#1a4a1a style C fill:#1a4a1a style D fill:#1a4a1a

A cada passo, o label é simplesmente "a próxima palavra no texto". Todo texto existente vira dado de treino — blogs, livros, código, Wikipedia, Reddit, papers científicos.

Por que Isso Viabilizou os LLMs

Com self-supervised learning, o gargalo de dados desaparece. A internet tem estimados 4,5 bilhões de páginas web. Livros digitalizados. GitHub. Wikipedia em 300 idiomas. Tudo isso vira dado de treino sem custo de anotação.

GPT-3 foi treinado em ~300 bilhões de tokens — texto suficiente para um humano ler 24 horas por dia durante 2.700 anos. Isso só é possível com self-supervised learning.

⚠️
Pegadinha — Garbage in, garbage out (em escala): Self-supervised em texto da internet significa que o modelo aprende o que está na internet — incluindo vieses, informações erradas, conteúdo tóxico. Todo o esforço de RLHF e safety training pós-pré-treino existe para corrigir o que foi aprendido nessa fase inicial.

Self-Supervised Além do Texto

O paradigma se generaliza para outros tipos de dados:

  • Imagens: MAE (Masked Autoencoders, Meta 2021) mascara partes de imagens e treina para reconstruir. CLIP (OpenAI) alinha imagens com descrições textuais
  • Áudio: wav2vec 2.0 (Meta) mascara partes do áudio e treina para reconstruir — funciona sem transcrições
  • Código: GitHub Copilot foi treinado com self-supervised em ~54 milhões de repositórios públicos — prever o próximo token de código
🏢
Aplicação Microsoft: GitHub Copilot usa exatamente este paradigma — código como dado de treino, próximo token como label. Para a Impar, isso significa que o código da sua base (se um dia você usar fine-tuning) pode virar dado de treino para um modelo especializado no stack e estilo de código da empresa.

A Cadeia Completa: Pré-treino → Fine-tuning → RLHF

flowchart TD A["Self-Supervised Pré-treino\n300B tokens da internet\nZero labels humanos\n→ Modelo aprende linguagem"] A --> B["Fine-tuning Supervisionado\n~10.000 exemplos de\ndiálogos de alta qualidade\n→ Modelo aprende a seguir instruções"] B --> C["RLHF\nHumanos comparam respostas\nModelo de recompensa treinado\n→ Modelo aprende a ser útil e seguro"] C --> D["ChatGPT / Claude / Gemini"] style A fill:#1a2a4a style B fill:#2a1a4a style C fill:#1a4a1a style D fill:#3a3a1a

O self-supervised pré-treino faz o trabalho pesado — aprende tudo sobre linguagem sem custo de anotação. O fine-tuning supervisionado (com poucos dados de alta qualidade) ensina o modelo a responder de forma útil. O RLHF alinha o comportamento com preferências humanas.

Exemplo Prático: Masked Language Model em Python

from transformers import pipeline

# Carrega modelo BERT pré-treinado (treinado com MLM)
# NÃO requer GPU — roda em CPU para esse exemplo
mlm = pipeline("fill-mask", model="neuralmind/bert-base-portuguese-cased")

# O modelo preenche o [MASK] usando contexto
resultado = mlm("O [MASK] aprovou o empréstimo ontem.")
for r in resultado[:3]:
    print(f"{r['token_str']:20} → {r['score']:.2%}")

# Saída esperada:
# banco                → 73.2%
# tribunal             →  8.1%
# juiz                 →  4.3%

# A ordem das probabilidades reflete o que o modelo aprendeu
# sobre quais palavras são prováveis nesse contexto

Desafio

🎯 Desafio 01-03-02

Acesse huggingface.co/neuralmind/bert-base-portuguese-cased e use o "Inference API" no site (sem instalar nada) para:

  1. Mascare uma palavra técnica de TI: "O servidor [MASK] a conexão por timeout"
  2. Mascare uma palavra de negócio: "O cliente solicitou [MASK] do contrato"
  3. Compare os resultados. O modelo treinado em português geral entende termos técnicos de TI? O que isso implica para fine-tuning no seu domínio?
📚
Para aprofundar: O paper do BERT (arXiv 1810.04805) descreve MLM em detalhe. Para causal LM, o paper do GPT-2 (openai.com) é acessível mesmo sem matemática pesada.

Como isso se conecta

  • 🔗 01-01-03 — GPT-3 treinado em 300B tokens e BERT em 3.3B tokens — ambos usam self-supervised como base
  • 🔗 01-04-01 — Tokens são o que está sendo mascarado e predito no self-supervised learning — os dois tópicos são diretamente ligados
  • 🔗 01-03-01 — Self-supervised é um paradigma distinto dos três clássicos — mas usa o mesmo loop de forward/backward pass

Fontes

  1. arXiv 1810.04805 — BERT — Devlin et al., masked language modeling explicado
  2. Wikipedia — Self-Supervised Learning — Definição, variantes e exemplos
  3. Hugging Face — BERT Portuguese — Modelo pré-treinado em português com MLM
  4. arXiv 2111.06377 — Masked Autoencoders (MAE) — He et al., Meta, self-supervised para imagens