К тренажеру
ВопросMediumllm-finetuningРеальный собес

Зачем LoRA вместо полного fine-tuning

Почему нельзя просто полностью fine-tune всю LLM? Что выигрывает LoRA и как это влияет на batch size?

Короткий ответ

LoRA обучает меньше параметров, поэтому сильно снижает optimizer/gradient memory; максимальный batch size часто может быть больше, чем при full fine-tuning.

Полный разбор

Full fine-tuning обновляет все веса модели, поэтому нужно хранить gradients и optimizer states для огромного числа параметров. Для Adam это особенно дорого: кроме весов появляются моменты и градиенты.

LoRA замораживает базовую модель и обучает только low-rank adapters. Forward все еще требует активации, но trainable parameters и optimizer state намного меньше. Поэтому при прочих равных можно увеличить batch size или обучаться на меньших GPU.

Но LoRA не бесплатна: качество может быть хуже для сильного domain shift, а inference/serving зависит от того, мерджим ли adapters в базовые веса или переключаем их динамически.

Теория

Memory training = parameters + gradients + optimizer states + activations. LoRA сокращает первые три компонента для trainable части.

Типичные ошибки

  • Считать, что LoRA уменьшает activation memory до нуля.
  • Не упомянуть optimizer states.
  • Гарантировать качество full fine-tuning при любом domain shift.

Как отвечать на собеседовании

  • Назови Adam states и trainable parameter count.
  • Отдельно скажи про activation memory.