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

LoRA vs classic adapters

Опиши механизм LoRA. Если LoRA и classic adapters дают одинаковое качество, что выбрать для inference?

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

LoRA замораживает исходные веса и учит low-rank delta. Для inference часто удобнее LoRA, потому что delta можно смерджить в базовые веса и не добавлять слой в forward pass.

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

LoRA представляет изменение матрицы весов как произведение двух низкоранговых матриц. Вместо полного обновления D x D весов обучаются A и B с rank r, где параметров порядка 2Dr. Базовая модель заморожена, поэтому optimizer state и trainable memory сильно меньше.

Classic adapters добавляют отдельные bottleneck layers в сеть. Они тоже parameter-efficient, но на inference остаются дополнительными операциями в forward pass. Если качество одинаковое и нет требований динамически переключать adapters, LoRA часто лучше: ее можно merge-нуть в исходные веса и не платить дополнительную latency.

Если нужно быстро переключать много задач или держать отдельные персонализации, adapters/несмердженные LoRA могут быть удобнее операционно.

Теория

Главная идея LoRA - оптимизировать изменение весов в низкоранговом подпространстве, а не дообучать всю модель.

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

  • Сказать, что LoRA уменьшает размер базовой модели на inference.
  • Не объяснить low-rank decomposition.
  • Не сравнить latency adapters и merged LoRA.

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

  • Для матрицы D x D назови порядок параметров 2Dr.
  • Отдельно скажи про merge в inference.