En la práctica, el descenso de gradiente estocástico procesa los datos de entrenamiento en mini-batches aleatorios. Cada batch da una estimación del gradiente verdadero — batches más grandes dan mejores estimaciones (menos ruido) pero cuestan más memoria y cómputo por paso. Los tamaños de batch típicos van de 32 (modelos pequeños, una GPU) a millones de tokens (pre-entrenamiento de LLMs a través de miles de GPUs).
El pre-entrenamiento de LLMs usa tamaños de batch efectivos enormes (millones de tokens por actualización) distribuidos en muchas GPUs. A esta escala, el learning rate debe ajustarse cuidadosamente — la regla de escalado lineal (duplica el tamaño de batch, duplica el learning rate) funciona hasta cierto punto, luego se rompe. La acumulación de gradientes te permite simular batches grandes en hardware más pequeño acumulando gradientes en múltiples pases forward antes de actualizar.
El pre-entrenamiento moderno de LLMs típicamente se ejecuta por menos de una época sobre el dataset completo — los datos son tan grandes que el modelo nunca ve todo. Esto es un cambio del ML clásico donde 10–100 épocas era normal. La investigación sugiere que repetir datos (múltiples épocas) puede realmente perjudicar el rendimiento de los LLMs debido a efectos de memorización, aunque esto depende de la calidad de los datos. El fine-tuning, en contraste, típicamente se ejecuta por 1–5 épocas en un dataset mucho más pequeño.