01-03-02 — Self-Supervised Learning e Por Que Importa para LLMs
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.
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.
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.
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.
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
A Cadeia Completa: Pré-treino → Fine-tuning → RLHF
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
Fontes
- arXiv 1810.04805 — BERT — Devlin et al., masked language modeling explicado
- Wikipedia — Self-Supervised Learning — Definição, variantes e exemplos
- Hugging Face — BERT Portuguese — Modelo pré-treinado em português com MLM
- arXiv 2111.06377 — Masked Autoencoders (MAE) — He et al., Meta, self-supervised para imagens