Pre treino
Pré-Treino de LLMs
Scaling Laws
Kaplan et al. (2020) — OpenAI
- *rXiv:*2001.08361
- *chado:*Power
laws entre compute (C), parâmetros (N) e tokens (D): loss ∝ N^(0.076), loss ∝ D^(-0.095) - *egra empírica:*~1.7 tokens por parâmetro (subótimo — modelos 2020 foram undertrained)
Chinchilla — Hoffmann et al. (2022) — DeepMind
- *rXiv:*2203.15556
- *chado:*Ótimo de compute exige igual escala de modelo E dados: ~20 tokens por parâmetro
- *xemplo:*GPT-3 175B deveria ter treinado com 3.5T tokens, não 300B
- *mpacto:*Toda decisão de pré-treino de 2022 em diante usa Chinchilla como referência
MFU — Model FLOP Utilization
- *étrica:*FLOPS efetivos / FLOPS teóricos da GPU
- *eferência:*A100 com FlashAttention: 35–45% MFU; meta é >45%
- *órmula:*Para Transformers densos: ~6 × N × D FLOPS por token
Dados e Curadoria
Data Mixture
- *stratégia padrão (2024
2026):*Web (6070%) + Code (10-20%) + Books (5%) + Academic (5%) + Outros - *ineWeb (HuggingFace):*15T tokens de 96 snapshots do Common Crawl; melhor open dataset geral
- *ineWeb-Edu:*1.3T tokens filtrados por qualidade educacional — melhor para knowledge/STEM
- *urriculum Learning:*Multi
stage (web → highquality data) melhora performance; adotado por OLMo 2, Phi-4
Deduplicação
- *inHash LSH:*Deduplicação near-duplicate via hashing por similaridade de Jaccard
- *mpacto:*SlimPajama remove 49.6% do RedPajama-V1 por deduplicação — melhora qualidade
- *erramenta:*datasketch, datatrove
Filtragem de Qualidade
- *iltros padrão:*Remoção de profanidade, spam, código malicioso, dados pessoais (PII)
- *ualidade de código:*Filtrar por presença de testes, taxa de build passing, número de estrelas GitHub
Paralelismo e Infraestrutura
Data Parallelism (DP)
- *ecanismo:*Replica o modelo em cada GPU; distribui batches; sincroniza via all-reduce
- *DP (PyTorch):*Implementação padrão; eficiente para modelos que cabem em 1 GPU
Tensor Parallelism (TP)
- *ecanismo:*Distribui parâmetros individuais de camadas entre GPUs
- *eduções necessárias:*All-reduce a cada camada; latência de comunicação
Sequence Parallelism (SP)
- *ecanismo:*Fraciona ativações ao longo da dimensão de sequência
- *ombinado com TP:*Cobre dropout, LayerNorm não cobertos por TP
Pipeline Parallelism (PP)
- *ecanismo:*Distribui camadas entre GPUs; micro-batches em pipeline
- *rade-off:*Complexidade vs economia de memória em modelos muito grandes
ZeRO (DeepSpeed)
- *eRO-1:*Particiona optimizer states (~4× economia de memória)
- *eRO-2:*+ gradients (~8× economia)
- *eRO-3:*+ parâmetros do modelo (~N× economia, N = número de GPUs)
- *eRO-Infinity:*Offload para CPU/NVMe — treina modelos de qualquer tamanho
FSDP (PyTorch Fully Sharded Data Parallel)
- *lternativa ao ZeRO:*Nativo no PyTorch; integração direta
- *SDP2 (2024):*Prefetching implícito/explícito; testado em modelos 1T parâmetros
- *ecomendação:*Padrão para a maioria dos times de fine-tuning (7B–70B em 2–8 GPUs)
Megatron-LM (NVIDIA)
- *itHub:*github.comNVIDIAMegatron-LM
- *uporta:*TP, PP, DP, Expert Parallelism, Context Parallelism
- *erformance:*FlashAttention integrado; mixed precision FP16BF16FP8
- *uando usar:*Research e grandes clusters; curva de aprendizado alta
Otimizações de Treino
Gradient Checkpointing
- *ecanismo:*Salva ativações apenas em checkpoints (ex: a cada 10 camadas); recomputa no backward
- *rade-off:*~33% mais tempo de treino; reduz memória de ativações em 10–20×
Mixed Precision Training
- *F16:*Melhor para treino (range dinâmico maior que FP16); padrão em GPUs Ampere+
- *P16:*Requer loss scaling; mais sensível a overflow
- *P8:*Disponível em H100+; reduz memória e aumenta throughput; requer cuidado
FlashAttention (ver arquivo de arquiteturas)
- Obrigatório em qualquer treino de LLM moderno
Gradient Clipping
- *rática padrão:*clip by norm (max_norm=1.0) — evita explosão de gradientes
Stack de Pré-Treino (Abril 2026)
| Componente | Ferramenta recomendada |
|---|---|
| Framework | PyTorch 2.x + FSDP2 ou DeepSpeed ZeRO-3 |
| Atenção | FlashAttention 3 |
| Checkpointing | Gradient checkpointing ativo |
| Precisão | BF16 (treino) + FP32 (optimizer states com ZeRO-2+) |
| Dados | datatrove + HuggingFace Datasets |
| Monitoring | Weights & Biases |
| Logs | wandb + TensorBoard |
Referências de Datasets de Pré-Treino
Ver 04-treinamento/datasets.md para catálogo completo.