02-03-01 — Pré-treinamento: dados massivos e compute
TL;DR
Pré-treinamento é a fase cara: o modelo lê trilhões de tokens e ajusta bilhões de pesos para minimizar o erro na previsão do próximo token. Custa dezenas de milhões de dólares, leva meses e exige centenas de GPUs A100/H100. O resultado é um "modelo base" — inteligente mas sem instrução. Qualidade dos dados supera quantidade bruta.
O que é pré-treinamento
Pré-treinamento é a fase em que o modelo aprende representações gerais do mundo a partir de texto em escala massiva. O objetivo de aprendizado é simples: dado o contexto, prever o próximo token. Repetido bilhões de vezes, com ajuste de gradiente a cada passo, o modelo codifica padrões de linguagem, fatos, código, matemática e raciocínio.
Datasets: o que entra no treinamento
| Dataset | Descrição | Volume aprox. |
|---|---|---|
| Common Crawl | Rastreamento da web (bruto, requer muito filtro) | Petabytes (filtrado: ~1-3T tokens) |
| Wikipedia | Enciclopédia multilíngue, alta qualidade | ~4B tokens (EN) |
| Books (BookCorpus, Gutenberg) | Livros: raciocínio longo, narrativa | ~100B tokens |
| GitHub / código | Código em múltiplas linguagens | ~1T tokens |
| Papers científicos (arXiv, PubMed) | Raciocínio técnico e científico | ~50B tokens |
| Stack Exchange, Reddit | Q&A, debate, opiniões | ~100B tokens |
Data quality matters: GIGO em escala
"Garbage In, Garbage Out" se aplica com força ao pré-treinamento. Common Crawl, por exemplo, contém spam, texto duplicado, HTML quebrado, conteúdo tóxico e desinformação. Os pipelines de limpeza são tão importantes quanto os dados em si.
Etapas típicas de filtragem:
- Deduplicação: Remover documentos duplicados ou quase-duplicados (MinHash, exact match)
- Filtragem de qualidade: Remover HTML, textos muito curtos, adulto/spam
- Language detection: Separar por idioma para balancear
- Heurísticas: Relação pontuação/palavras, densidade de stop words
- Model-based filtering: Usar classificador para pontuar qualidade (como o Phi fez)
Os modelos Phi (1B-14B) superam modelos 10x maiores em muitos benchmarks porque a Microsoft apostou em "textbooks are all you need" — dados sintéticos de alta qualidade gerados por GPT-4 para simular material educacional. Qualidade de dados é uma alavanca que qualquer empresa pode usar no fine-tuning.
Custo: a barreira de entrada
Treinar um modelo frontier é economicamente proibitivo para quase toda empresa:
| Modelo | Custo estimado de treino | Hardware |
|---|---|---|
| GPT-3 (2020) | ~$4.6M | ~1,000 A100 por semanas |
| GPT-4 (estimado) | $50-100M | ~25,000 A100 por meses |
| Llama 3 70B | ~$2-5M | ~6,000 H100 por semanas |
| Phi-3-mini | <$500K est. | Dados de qualidade > escala |
A Microsoft oferece Azure Machine Learning + NDv4/NDv5 series (GPUs A100/H100) com suporte a treinamento distribuído via DeepSpeed e PyTorch FSDP. Para empresas que eventualmente quiserem treinar modelos especializados, o Azure fornece a infra sem precisar montar clusters físicos. O custo continua alto — mas é OpEx previsível, não CapEx.
Documentação: learn.microsoft.com — Train PyTorch models
O resultado: modelo base
Após pré-treinamento, o resultado é um modelo base (base model ou foundation model). Ele é poderoso em completar texto, mas não é útil como assistente — se você pedir "como implementar cache em Redis?", ele pode completar com mais perguntas ou com outra resposta aleatória ao invés de te ajudar.
O modelo base precisa da fase seguinte — fine-tuning e RLHF — para se tornar um assistente.
Nunca exponha um modelo base diretamente a usuários. Sem RLHF/instruction tuning, ele pode completar prompts de forma imprevisível, reproduzir conteúdo tóxico dos dados de treino, ou simplesmente não seguir instruções. Todos os produtos (ChatGPT, Claude, Copilot) usam modelos finamente ajustados sobre bases pré-treinadas.
Como isso se conecta
Fontes
- Brown et al. (2020) — Language Models are Few-Shot Learners (GPT-3)
- Penedo et al. (2023) — The RefinedWeb Dataset for Falcon LLM — pipeline de limpeza de dados
- Microsoft Learn — Distributed training in Azure ML