Pre treino

Pré-Treino de LLMs

Scaling Laws

Kaplan et al. (2020) — OpenAI

  • *rXiv:*2001.08361
  • *chado:*Powerlaws 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 (20242026):*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:*Multistage (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.

Source: ../home/koder/dev/koder/meta/docs/ia/compendium/04-treinamento/pre-treino.md