PEFT от Hugging Face: новые методы слияния моделей с открытым исходным кодом

Hugging Face представил обновление библиотеки PEFT (Parameter-Efficient Fine-Tuning), которое добавляет несколько методов слияния моделей. Теперь пользователи могут комбинировать параметры моделей, обученных с помощью PEFT, используя такие подходы, как TIES, DARE, линейное слияние и другие. Это ново

PEFT от Hugging Face: новые методы слияния моделей с открытым исходным кодом

Hugging Face представил обновление библиотеки PEFT (Parameter-Efficient Fine-Tuning), которое добавляет несколько методов слияния моделей. Теперь пользователи могут комбинировать параметры моделей, обученных с помощью PEFT, используя такие подходы, как TIES, DARE, линейное слияние и другие. Это нововведение позволяет объединять сильные стороны разных моделей без повторного обучения, что ускоряет эксперименты и повышает качество результатов.

Что такое слияние моделей и зачем оно нужно

Слияние моделей — это техника, которая объединяет параметры нескольких моделей, полученных после тонкой настройки, в одну модель. В отличие от ансамблирования, где модели используются параллельно, слияние создает единую модель, сохраняющую преимущества каждой исходной. Это особенно полезно, когда нужно совместить специализированные навыки, например, модель, обученную на юридических текстах, с моделью, хорошо понимающей медицинскую терминологию. Без слияния пришлось бы либо использовать ансамбль, что замедляет инференс, либо обучать новую модель с нуля, что требует больших вычислительных ресурсов.

Какие методы слияния добавлены в PEFT

В библиотеку PEFT интегрированы шесть методов слияния, каждый со своими особенностями. Линейное слияние (Linear Merging) выполняет взвешенное усреднение параметров моделей. TIES (Trim, Elect Sign and Merge) сначала обрезает малозначимые параметры, затем выбирает знак для оставшихся и объединяет их. DARE (Drop And REscale) случайным образом исключает часть параметров и масштабирует оставшиеся, что помогает избежать переобучения. Task Arithmetic комбинирует модели с помощью арифметических операций над векторами параметров. Fisher Merging использует матрицу Фишера для взвешивания параметров по их важности. RegMean применяет регрессионное усреднение для оптимального объединения.

Как это работает на практике

Все методы реализованы в новом классе PeftMerge, который интегрирован с библиотекой transformers. Пользователи могут загрузить несколько моделей PEFT и применить к ним слияние в несколько строк кода. Например, для объединения двух моделей LoRA достаточно создать экземпляр PeftMerge, указать методы и веса, а затем вызвать метод merge(). Поддерживаются популярные архитектуры, такие как Llama, Mistral, GPT-2 и другие модели на основе трансформеров. Это делает процесс доступным даже для разработчиков, не знакомых с деталями реализации слияния.

Какие преимущества дает слияние моделей

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

Кому будет полезно это обновление

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

Какие ограничения и нерешенные вопросы остаются

Пока неизвестны подробности о производительности каждого метода на конкретных задачах. Выбор оптимального метода может зависеть от данных и архитектуры модели. Также неясно, будет ли добавлена поддержка слияния для моделей, не основанных на трансформерах, например, для сверточных сетей или рекуррентных архитектур. Кроме того, слияние моделей — активная область исследований, и возможны дальнейшие улучшения методов.

Как начать использовать новые методы слияния

Для использования достаточно установить последнюю версию PEFT и transformers. Документация содержит примеры кода для каждого метода. Рекомендуется начать с линейного слияния как базового подхода, а затем экспериментировать с TIES или DARE для более сложных комбинаций. Важно помнить, что слияние требует, чтобы модели имели одинаковую архитектуру и размерность параметров.

Перспективы развития слияния моделей в PEFT

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