Training

weight decay

L2-регуляризация весов, штрафующая большие значения и снижающая риск переобучения.

Что такое weight decay

Weight decay — техника регуляризации, добавляющая к функции потерь штраф за большие значения весов. Эффективно «тянет» веса к нулю, ограничивая сложность модели. Реализуется как L2-регуляризация:

loss_total = loss_task + weight_decay × Σ(w²)

В AdamW weight decay применяется непосредственно к весам после обновления (а не к градиентам, как в Adam + L2). Это критически важная разница — именно поэтому Adam + L2 ≠ AdamW.

Типичные значения

Задача Weight decay
LLM pretraining 0.1
Fine-tuning LLM 0.01 — 0.1
LoRA fine-tuning 0 — 0.01 (часто не нужен)
CV задачи 1e-4 — 1e-3
from transformers import TrainingArguments

args = TrainingArguments(
    weight_decay=0.01,  # стандарт для fine-tuning
    ...
)

Когда не нужен weight decay

При LoRA/QLoRA основная регуляризация приходит от малого числа обучаемых параметров. Большой weight decay может навредить: адаптеры имеют малые значения, и сильное «тяготение к нулю» мешает обучению.

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

  • AdamW — оптимизатор с корректным weight decay
  • overfitting — проблема, которую weight decay снижает
  • learning rate — второй ключевой параметр регуляризации

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

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