Ответ вслух Senior Дообучение и LoRA обновлено

LoRA и QLoRA: объяснить механизм

Вопрос

Объясните, как работает LoRA, почему она экономит ресурсы и какие у неё ограничения.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Гипотеза LoRA: изменение весов при дообучении имеет низкий ранг. Поэтому исходную матрицу W замораживаем и учим добавку B на A с маленьким рангом r.

Что должно прозвучать в ответе

  • Исходные веса заморожены, учится низкоранговая добавка B·A

  • Число обучаемых параметров r·(d + k) вместо d·k, мало памяти под градиенты и оптимизатор

  • B инициализируется нулями: старт с исходной модели

  • Адаптеры маленькие, переключаются, вливаются в веса без задержки

  • QLoRA: база в 4 битах, адаптеры в 16

  • Ограничения: ниже потолок качества на сложных задачах, выбор ранга и слоёв

Что могут спросить следом

  • Как выбрать ранг?
  • Можно ли обслуживать много адаптеров на одной модели?

Разбор

Образцовый ответ: «Гипотеза LoRA: изменение весов при дообучении имеет низкий ранг. Поэтому исходную матрицу W замораживаем и учим добавку B на A с маленьким рангом r. Для матрицы 4096 на 4096 при r = 8 это 65 тысяч параметров вместо почти 17 миллионов. Градиенты и состояния оптимизатора нужны только для адаптеров, поэтому память в разы меньше. B стартует с нулей, так что вначале модель совпадает с базовой. Адаптер весит мегабайты: можно держать по адаптеру на задачу и переключать их на одной базовой модели, а для одного сценария влить в веса без лишней задержки. QLoRA дополнительно хранит базу в 4 битах, что позволяет учить крупные модели на одной GPU. Ограничения: на сильных сдвигах распределения полное дообучение может быть лучше, нужно подбирать ранг и слои, обычно адаптируют все линейные слои, а не только q и v».

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.