ML Fundamentals
loss
Функция потерь — скалярная метрика ошибки модели, минимизируемая в ходе обучения.
Что такое loss
Loss (функция потерь, функция ошибки) — скалярное число, измеряющее расхождение между предсказаниями модели и правильными ответами. Обучение нейросети — это минимизация loss через backpropagation и gradient descent.
Cross-Entropy Loss в LLM
Стандартная функция потерь для языковых моделей — Cross-Entropy Loss (или NLL Loss):
L = -1/N × Σ log P(correct_token_i)
Интуиция: loss низкий, если модель назначала высокую вероятность правильным токенам. Loss = 0 при идеальных предсказаниях, стремится к бесконечности при уверенно неправильных.
loss = F.cross_entropy(
logits.view(-1, vocab_size), # (batch*seq_len, vocab_size)
labels.view(-1) # (batch*seq_len,)
)
Loss и perplexity
Perplexity = exp(loss). Loss 2.0 → perplexity ≈ 7.4, loss 4.6 ≈ perplexity 100.
Практические ориентиры
| Этап обучения | Типичный Loss (токенов) |
|---|---|
| Начало pretraining (random init) | ~10–11 (= log(vocab_size)) |
| После convergence LLM 7B | ~1.5–2.0 |
| Fine-tuning (SFT) | ~0.5–1.5 |
| Overfit (memorization) | ~0.0–0.1 |
Loss в различных задачах
- Language modeling (pretraining): Cross-Entropy по следующему токену
- SFT: Cross-Entropy только по токенам ответа (игнорировать промпт)
- RLHF/DPO: специальные функции потерь на основе предпочтений
- Classification: Cross-Entropy по классам
- Regression: MSE или Huber Loss
Связанные термины
- logits — выходы модели, из которых вычисляется loss
- backpropagation — алгоритм вычисления градиентов loss
- gradient — производная loss по параметрам
- perplexity — метрика, производная от loss
Готовы запустить GPU-задачу?
Запустить GPU-сервер