Загрузка...

Parameter-Efficient Fine-Tuning (PEFT): Эффективная настройка нейросетей

Parameter-Efficient Fine-Tuning (PEFT) — это технология адаптации гигантских предварительно обученных нейросетей под конкретные задачи, при которой обновляется лишь крошечная доля (часто менее 1%) параметров модели. Основная часть нейросети остается «замороженной», что позволяет кардинально снизить требования к вычислительной мощности и памяти.

Зачем потребовался PEFT?

Современные большие языковые модели (LLM), такие как GPT-4 или Llama, содержат десятки и сотни миллиардов параметров. В классическом машинном обучении для того, чтобы научить модель новой специфической задаче (например, отвечать как юрист или писать программный код), применялся метод полного дообучения (Full Fine-Tuning). При этом системе приходилось пересчитывать и обновлять все миллиарды весов.

Это требовало огромных кластеров мощных видеокарт, колоссальных затрат электроэнергии и времени. Появление методов PEFT стало настоящей революцией, демократизировавшей доступ к искусственному интеллекту. Теперь дообучить мощную нейросеть может даже энтузиаст на одной хорошей потребительской видеокарте.

Основные преимущества технологии

  • Снижение затрат на оборудование: Требуется в разы меньше видеопамяти (VRAM), так как не нужно хранить состояния оптимизатора для всех параметров.
  • Скорость обучения: Обновление малого числа весов происходит значительно быстрее.
  • Удобство хранения: Вместо того чтобы сохранять новую копию модели весом в 50-100 гигабайт, вы сохраняете только маленький «адаптер» размером в несколько десятков мегабайт.
  • Отсутствие катастрофического забывания: Поскольку базовые знания модели заморожены, она не теряет свои изначальные навыки при обучении новым.

Популярные подходы в рамках PEFT

Хотя концепция одна, под капотом могут использоваться разные математические и архитектурные трюки:

  • LoRA (Low-Rank Adaptation): Самый известный метод. Он добавляет к существующим слоям нейросети небольшие дополнительные матрицы. Обучаются только они, а при использовании (инференсе) их значения просто математически складываются с оригинальными весами.
  • Prompt Tuning: Метод, при котором к входному тексту (промпту) добавляются специальные обучаемые векторы (токены). Нейросеть учится правильно интерпретировать задачу еще на этапе подачи запроса, не меняя свои внутренние шестеренки.
  • Prefix Tuning: Похож на предыдущий метод, но обучаемые векторы добавляются не только на входе, но и на каждом слое архитектуры Transformer. Это дает модели больше гибкости для сложных задач.
  • Adapters (Адаптеры): Внедрение небольших дополнительных слоев между существующими слоями базовой модели. Оригинальные слои замораживаются, а новые — тренируются.

Примеры использования PEFT

Методы PEFT применяются повсеместно в современной AI-индустрии:

  • Генерация изображений: В сообществе пользователей Stable Diffusion невероятно популярны так называемые «Лоры» (LoRA-адаптеры). Это маленькие файлы, которые добавляются к базовой модели, чтобы научить ее рисовать конкретного персонажа, использовать определенный художественный стиль (например, аниме или киберпанк) или даже генерировать правильные логотипы компаний.
  • Создание специализированных чат-ботов: Медицинская клиника берет базовую открытую нейросеть и с помощью PEFT дообучает ее на своей базе медицинских карт и протоколов. В результате получается виртуальный ассистент врача, который отлично понимает специфическую терминологию, но при этом работает на локальном сервере клиники и сохраняет конфиденциальность данных.
  • Персонализация кода: IT-компании дообучают ИИ-помощников программистов на собственной кодовой базе, чтобы нейросеть предлагала автодополнение с учетом внутренних стандартов и архитектуры компании.

Интересный факт: Иллюзия миллиардов параметров

Появление самого популярного метода PEFT (LoRA) в 2021 году исследователями из Microsoft было вдохновлено математической концепцией «внутренней размерности» (intrinsic dimension). Ученые задались вопросом: действительно ли нейросети нужны все эти миллиарды параметров, чтобы выучить что-то новое?

Оказалось, что нет! Исследования показали, что в процессе адаптации к новой задаче изменения весов происходят в очень узком, низкоразмерном пространстве. Грубо говоря, чтобы превратить нейросеть общего назначения в идеального переводчика с клингонского языка, достаточно покрутить не миллион «ручек настройки», а всего пару сотен, но правильных. Это открытие разрушило миф о том, что для тонкой настройки ИИ обязательно нужны суперкомпьютеры.