Como a IA Aprende (Machine Learning)
- ⬜⛽ Dados: o Combustível da IA(Fundamentos da IA)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Machine Learning não é mágica — é matemática iterativa. O modelo começa chutando (pesos aleatórios), mede o quanto errou (loss function), calcula como ajustar cada peso (backpropagation), ajusta (gradiente descendente) e repete. Bilhões de vezes. Neste artigo, você vai entender cada peça desse ciclo e por que ele funciona.
Os três paradigmas de aprendizado
Antes de entrar em como o modelo treina, é preciso entender que tipo de problema ele resolve. Existem três paradigmas fundamentais:
| Paradigma | Dados de treino | O que aprende | Exemplos reais |
|---|---|---|---|
| Supervisionado | Pares (input, label correto) | Mapear input → output correto | Classificação de imagem, previsão de preço, diagnóstico médico, tradução |
| Não-supervisionado | Dados sem labels | Estrutura, clusters, representações | Clustering de clientes, redução de dimensão, detecção de anomalias, autoencoders |
| Reinforcement Learning | Ambiente + recompensas | Política: sequência de ações que maximiza recompensa | AlphaGo, robótica, RLHF em LLMs, jogos Atari |
Loss function: medindo o erro
Para aprender, o modelo precisa de uma métrica numérica de quão errado está. Essa métrica é a loss function (função de perda). Objetivo: minimizá-la.
A loss é um número único que resume o desempenho do modelo em um batch. Todo o treinamento se resume a: ajustar pesos para diminuir esse número.
Gradiente descendente: encontrando o mínimo
Imagine a loss function como uma paisagem montanhosa. Cada peso do modelo é uma dimensão. O modelo está em algum ponto dessa paisagem e quer chegar ao vale (mínimo da loss). Ele não enxerga a paisagem toda — só sente a inclinação onde está.
O gradiente (∂Loss/∂w) é a derivada parcial da loss em relação a cada peso. Ele aponta na direção de aumento da loss. Movemos na direção oposta (por isso o sinal negativo).
Learning rate: o hiperparâmetro mais importante
A learning rate (lr) controla o tamanho do passo. É o hiperparâmetro mais impactante do treinamento:
| Learning Rate | Comportamento | Resultado |
|---|---|---|
| Muito grande (ex: 0.1) | Pesos oscilam violentamente, loss sobe e desce | Divergência — modelo não aprende |
| Grande (ex: 0.01) | Converge rápido no início, mas instável perto do mínimo | Pode funcionar com lr decay |
| Ideal (ex: 3e-4) | Converge de forma suave e estável | O sweet spot — achar esse valor é arte + ciência |
| Muito pequena (ex: 1e-6) | Convergência extremamente lenta | Desperdiça compute; pode ficar preso em mínimo local |
Backpropagation: como calcular bilhões de gradientes
Um modelo com 7 bilhões de parâmetros precisa de 7 bilhões de gradientes a cada passo. Calcular cada um individualmente seria inviável. Backpropagation resolve isso usando a regra da cadeia do cálculo.
Épocas, batches e iterações
O treinamento não processa todos os dados de uma vez. Três conceitos definem a granularidade:
| Conceito | Definição | Exemplo (100k amostras, batch 256) |
|---|---|---|
| Iteração | 1 forward + backward + update em 1 mini-batch | 1 iteração = 256 amostras processadas |
| Época | 1 passagem completa pelo dataset inteiro | 100k / 256 ≈ 390 iterações = 1 época |
| Mini-batch | Subconjunto dos dados processado de uma vez | Tamanhos comuns: 32, 64, 128, 256, 512 |
Otimizadores: além do SGD
SGD (Stochastic Gradient Descent) é o algoritmo base, mas tem limitações: a mesma learning rate para todos os parâmetros, sem memória de gradientes anteriores. Otimizadores modernos resolvem isso:
| Otimizador | Ideia central | Usado em |
|---|---|---|
| SGD | w = w - lr × g. Simples, sem estado. | Baseline, CNNs com fine-tuning |
| SGD + Momentum | Mantém velocidade (média móvel do gradiente). Suaviza oscilações. | CNNs, ResNets |
| RMSProp | Divide lr pela média móvel de g². Normaliza a escala por parâmetro. | RNNs (historicamente) |
| Adam | Combina Momentum + RMSProp. lr adaptativa por parâmetro. | Default na maioria dos cenários |
| AdamW | Adam + weight decay desacoplado. Regularização mais correta. | LLMs (GPT, LLaMA, Claude) |
# Adam em pseudocódigo: # m = média móvel do gradiente (momento) # v = média móvel do gradiente² (variância) # beta1=0.9, beta2=0.999, eps=1e-8 m = beta1 * m + (1 - beta1) * g # atualiza momento v = beta2 * v + (1 - beta2) * g**2 # atualiza variância m_hat = m / (1 - beta1**t) # correção de bias v_hat = v / (1 - beta2**t) # correção de bias w = w - lr * m_hat / (sqrt(v_hat) + eps) # atualiza peso # Intuição: parâmetros com gradientes grandes e consistentes # recebem steps menores. Parâmetros com gradientes pequenos # recebem steps proporcionalmente maiores.
📋 Qual otimizador usar?
Default seguro para 90% dos casos. lr=3e-4 com warmup + cosine decay é o ponto de partida mais testado. Todos os LLMs modernos usam AdamW.
Alt: SGD + Momentum — Quando você tem compute sobrando e quer explorar a paisagem de loss com mais cuidado (pesquisa, fine-tuning delicado).
O ciclo completo: treinamento end-to-end
Quando parar? Underfitting vs Overfitting
| Problema | Sintoma | Solução |
|---|---|---|
| Underfitting | Train loss alta, val loss alta | Modelo maior, mais épocas, lr maior, features melhores |
| Overfitting | Train loss baixa, val loss sobe | Mais dados, dropout, weight decay, early stopping, data augmentation |
| Bom fit | Ambas baixas, gap pequeno | Manter — esse é o objetivo |
Perguntas e respostas
❓ Pré-treino de LLMs usa qual paradigma?
❓ O que é gradient clipping e por que LLMs precisam?
❓ Por que não usar learning rate alta com scheduler e pronto?
Quiz rápido
4 perguntas · Acerte tudo e ganhe o badge 🎯 Gabarito