Глоссарий

LoRA (Low-Rank Adaptation)

Узнай, как LoRA эффективно настраивает большие модели ИИ, например YOLO , снижая затраты и позволяя развертывать граничные системы с минимальными ресурсами.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

LoRA (Low-Rank Adaptation) - это эффективная техника, используемая для адаптации больших предварительно обученных моделей машинного обучения (ML), например, используемых для обработки естественного языка (NLP) или компьютерного зрения (CV), к конкретным задачам или наборам данных без переобучения всей модели. Это значительно снижает вычислительные затраты и требования к памяти, связанные с тонкой настройкой массивных моделей, делая продвинутый ИИ более доступным. LoRA относится к методам Parameter-Efficient Fine-Tuning (PEFT), которые нацелены на адаптацию моделей с минимальными изменениями их параметров.

Как работает LoRA

Традиционная тонкая настройка подразумевает обновление всех параметров (или весов модели) предварительно обученной модели на основе новых данных. Для моделей с миллиардами параметров, таких как многие современные LLM или большие модели зрения, этот процесс требует значительных вычислительных ресурсов, в частности GPU памяти и времени. LoRA работает по принципу, подкрепленному исследованиями, согласно которому изменения, необходимые для адаптации модели, часто находятся в низкоразмерном пространстве, а значит, не требуют изменения каждого отдельного веса.

Вместо того чтобы изменять все исходные веса, LoRA замораживает их и вводит меньшие, поддающиеся обучению матрицы "низкого ранга" в определенные слои архитектуры модели, часто в блоки трансформеров (распространенный компонент многих больших моделей, о котором подробнее рассказывается в статье Attention Is All You Need). Только эти вновь добавленные матрицы (часто называемые адаптерами) обновляются в процессе тонкой настройки. Это значительно сокращает количество обучаемых параметров, часто на порядки (например, миллионы вместо миллиардов), но при этом во многих случаях достигается производительность, сопоставимая с полной тонкой настройкой. В оригинальной научной статье LoRA приводятся дополнительные технические подробности о методологии и ее эффективности. Благодаря такому подходу процесс тонкой настройки происходит значительно быстрее и занимает меньше памяти.

Актуальность и преимущества

Основное преимущество LoRA - это его эффективность, что приводит к нескольким ключевым преимуществам:

  • Снижение вычислительных затрат: По сравнению с полной тонкой настройкой требуется значительно меньше памятиGPU и вычислительной мощности, что делает возможным адаптацию больших моделей на менее мощном оборудовании.
  • Меньше места для хранения: Поскольку исходные веса модели заморожены, для каждой конкретной задачи нужно сохранять только небольшие адаптеры LoRA. Это гораздо эффективнее, чем хранить полную копию точно настроенной модели для каждой задачи.
  • Более быстрое переключение между задачами: загрузка разных адаптеров LoRA позволяет быстро переключаться между задачами без загрузки совершенно новых больших моделей.
  • Сравнимая производительность: Несмотря на обучение гораздо меньшего количества параметров, LoRA часто достигает уровня точности, схожего с тем, который достигается при полной тонкой настройке на конкретных задачах.
  • Обеспечение возможности пограничного развертывания: Снижение требований к ресурсам облегчает адаптацию моделей для сценариев пограничных вычислений, где вычислительная мощность и память ограничены, принося мощные возможности ИИ на такие устройства, как смартфоны или встраиваемые системы(Edge AI explained by Intel).
  • Демократизация: Снижает барьер для исследователей и разработчиков, желающих адаптировать современные модели, такие как GPT-4 или Ultralytics YOLO модели.

Применение LoRA

Эффективность LoRA делает его ценным в различных сферах:

  1. Адаптация больших языковых моделей (LLM): Это один из самых распространенных вариантов использования. Разработчики могут взять массивную предварительно обученную LLM (например, доступную через Hugging Face) и использовать LoRA, чтобы специализировать ее для конкретных приложений, таких как пользовательские чат-боты, системы ответов на вопросы, специфичные для конкретного домена, или улучшение резюмирования текста для определенных типов документов. Библиотеки вроде библиотеки PEFT отHugging Face обеспечивают простую реализацию LoRA.
  2. Настройка моделей компьютерного зрения: LoRA можно применять к большим моделям компьютерного зрения для решения таких задач, как обнаружение объектов, сегментация изображений или оценка позы. Например, модель Ultralytics YOLO , предварительно обученная на большом наборе данных, таком как COCO, может быть эффективно настроена с помощью LoRA для обнаружения конкретных типов объектов в нишевой области, например исчезающих видов для сохранения дикой природы или специфических дефектов при контроле качества производства. Платформы вроде Ultralytics HUB могут упростить обучение и развертывание таких адаптированных моделей.

LoRA в сравнении со смежными понятиями

Полезно отличать LoRA от других техник адаптации моделей:

  • Полная тонкая настройка: Этот метод обновляет все веса предварительно обученной модели на новом наборе данных. Хотя он часто бывает эффективным, он требует значительных вычислительных ресурсов и хранения данных для каждой адаптированной модели. LoRA, напротив, замораживает исходные веса и обучает только небольшие, вводимые адаптивные матрицы. Более подробную информацию ты найдешь в нашем глоссарии по тонкой настройке и в обзоре по тонкой настройке отNVIDIA.
  • Настройка подсказок: Эта техника сохраняет веса модели полностью замороженными и вместо этого обучается непрерывным "мягким подсказкам" (векторам, добавляемым к входным вкраплениям), чтобы направлять поведение модели для конкретных задач. В отличие от LoRA, она не изменяет весовые коэффициенты модели, а фокусируется исключительно на адаптации входного представления. Подробнее о настройке подсказок и разработке подсказок.
  • Другие методы PEFT: LoRA - это всего лишь одна из методик в более широкой области Parameter-Efficient Fine-Tuning (PEFT). К другим методам относятся Adapter Tuning (похожий, но с немного другой структурой адаптера), Prefix Tuning и IA³, каждый из которых предлагает различные компромиссы в эффективности параметров и производительности.

В итоге LoRA предоставляет мощный и ресурсосберегающий способ настройки больших предварительно обученных базовых моделей для широкого спектра специфических задач как в NLP, так и в компьютерном зрении, делая продвинутый ИИ более практичным и доступным.

Читать полностью