Суть
Цикл из четырёх шагов:
- Forward pass — прогон входа через сеть, получение предсказания.
- Loss — измерение ошибки (например, cross-entropy).
- Backward pass — вычисление градиентов через правило цепочки.
- Update —
w_new = w_old − learning_rate × gradient.
Зачем это нужно
Это механизм, которым LLM вообще «учится»: те же принципы, что в крошечной сети, просто масштаб — сотни слоёв и миллиарды весов. На нём держатся все этапы из LLM Training Stages.
Как работает
- Правило цепочки:
∂loss/∂w = ∂loss/∂y · ∂y/∂h · … · ∂x/∂w— градиент «течёт» от выхода назад через все слои. - Пример обучения
y = 2x:w=0.5 → loss=20.25 → … → w=2.00 → loss≈0за ~50 шагов. - Реализуется через automatic differentiation (PyTorch/TensorFlow) — градиенты считаются автоматически.
- Тонкости масштаба: vanishing/exploding gradients лечат LayerNorm/RMSNorm и residual connections (см. Transformer); оптимизаторы SGD/Adam «помнят» историю градиентов; обновление идёт на батчах, а не на отдельных примерах.
- Так же обучается и матрица эмбеддингов (см. Embeddings) — из случайной инициализации в осмысленную геометрию.
Связано с
- LLM Training Stages — backprop работает на всех этапах обучения
- Transformer — residual/LayerNorm существуют ради стабильного градиента
- Embeddings — обучаются тем же backprop из случайной инициализации
Открытые вопросы
- чем Adam практически лучше SGD для трансформеров
- что такое gradient checkpointing и зачем (память при обучении)