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-сервер