Training

learning rate

Шаг градиентного спуска — ключевой гиперпараметр обучения нейросети.

Что такое learning rate

Learning rate (скорость обучения, lr) — скалярный коэффициент, определяющий размер шага при обновлении весов модели в направлении антиградиента:

w = w - lr × gradient(loss, w)

Слишком большой lr → нестабильность, расхождение лосса (loss спайки или NaN). Слишком маленький lr → медленная сходимость, обучение не завершится за разумное время.

Типичные диапазоны для LLM fine-tuning

Сценарий Диапазон lr
Full fine-tuning 7B 1e-5 — 5e-5
LoRA fine-tuning 1e-4 — 5e-4
QLoRA fine-tuning 2e-4 — 5e-4
Pretraining (крупный батч) 1e-4 — 3e-4 с warmup

Почему нужен правильный lr

Для LLM fine-tuning слишком высокий lr вызывает catastrophic forgetting — модель быстро «переписывает» предобученные веса и теряет общие знания. Оптимальный lr сохраняет base-знания при адаптации к задаче.

Планировщики lr

Постоянный lr — редкость в modern fine-tuning. Стандартная практика:

from transformers import get_cosine_schedule_with_warmup

scheduler = get_cosine_schedule_with_warmup(
    optimizer,
    num_warmup_steps=100,       # линейный рост от 0 до lr
    num_training_steps=total_steps,
)

Популярные расписания: linear, cosine, cosine with restarts, polynomial decay.

Связанные термины

  • lr scheduler — стратегия изменения lr в процессе обучения
  • warmup — фаза линейного роста lr в начале обучения
  • AdamW — оптимизатор, с которым используется lr
  • overfitting — к чему приводит слишком долгое обучение с высоким lr

Готовы запустить GPU-задачу?

Запустить GPU-сервер