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