Назад к подготовке

Как работает LoRA и зачем нужны low-rank adapters

Объясни технически, что делает LoRA при дообучении большой модели и почему это экономит память.

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

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

LoRA замораживает исходные веса и добавляет к выбранным матрицам обучаемое low-rank обновление. Вместо полной матрицы обучаются две маленькие матрицы, поэтому параметров и optimizer state сильно меньше.

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

В обычном fine-tuning обновляются большие weight matrices модели. LoRA предполагает, что нужное изменение весов можно приблизить матрицей низкого ранга: вместо обучения полного delta W обучаются две меньшие матрицы A и B, произведение которых добавляется к исходной проекции.

Базовые веса остаются замороженными, поэтому меньше обучаемых параметров, меньше gradient/optimizer memory и проще хранить несколько доменных адаптеров. На inference adapter можно подключать отдельно или иногда слить с базовыми весами.

Ограничение: LoRA не магия. Качество зависит от данных, выбранных слоев/проекций, ранга, регуляризации и eval. Низкий ранг может не хватить для сложной адаптации, а плохие данные ухудшат модель так же, как при обычном fine-tuning.

Теория

LoRA относится к parameter-efficient fine-tuning. Она полезна, когда базовая модель уже достаточно близка, а нужно адаптировать поведение без полного обучения всех весов.

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

  • Говорить, что LoRA обучает всю модель быстрее.
  • Не объяснить low-rank decomposition.
  • Забыть, что базовые веса обычно заморожены.

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

  • Объясни через delta W = B A или две маленькие матрицы вместо одной большой.
  • Назови практические плюсы: меньше память, дешевле training, несколько adapters.