MergeKit: open-source набор инструментов для слияния предобученных языковых моделей
Что такое Mergekit?
Mergekit — это Python-инструмент, который позволяет объединять несколько больших моделей в одну, используя преимущества каждой из них. Например, если модель A хорошо справляется с написанием текстов, а модель B отлично подходит для программирования, mergekit может объединить их в одну более мощную модель. Он также позволяет выполнять объединение на CPU или GPU, при этом рекомендуется сначала объединять модели с высокой точностью, а затем выполнять квантование и калибровку. Этот AI-проект очень популярен среди разработчиков — например, некоторые используют его, чтобы адаптировать образовательный контент под игровую тематику, делая творческий процесс более эффективным и увлекательным.

Основные функции Mergekit
Объединение моделей: объединение нескольких предварительно обученных языковых моделей в одну многофункциональную модель без дополнительного обучения или вычислительных затрат на интеграцию.
Множество алгоритмов объединения: поддержка различных методов объединения, таких как линейная интерполяция, сферическая линейная интерполяция (SLERP), Task Arithmetic, TIES, DARE и другие.
Аппаратная гибкость: поддержка работы на CPU или GPU, минимально требуется всего 8 ГБ видеопамяти.
Низкое потребление памяти: использование технологии ленивой загрузки тензоров для снижения расхода памяти.
Интерполяция параметров: поддержка градиентов интерполяции значений параметров для более тонкого управления.
Послойная сборка: поддержка сборки языковых моделей из фрагментов слоёв различных моделей («Frankenmerging»).
Объединение моделей смеси экспертов: объединение нескольких плотных моделей в модель со смесью экспертов.
Извлечение LoRA: извлечение PEFT-совместимых низкоранговых приближений из дообученных моделей.
Эволюционные методы объединения: включает ряд экспериментальных эволюционных методов объединения.
Основные особенности Mergekit
Кроссплатформенное выполнение: поддержка выполнения на GPU и CPU, для ускорения достаточно минимум 8 ГБ видеопамяти.
Низкое потребление памяти: достигается за счёт ленивой загрузки тензоров.
Множество алгоритмов объединения: включая линейную интерполяцию, SLERP, Task Arithmetic и другие, в будущем планируется добавить новые алгоритмы.
Графический интерфейс пользователя (GUI): предоставляется GUI на базе Arcee, упрощающий процесс объединения.
Установка и использование
Установка
git clone https://github.com/arcee-ai/mergekit.git cd mergekit pip install -e .
Использование
mergekit-yaml config.yml ./output-dir --cuda
Сценарии применения Mergekit
Объединение возможностей моделей: объединение моделей из различных предметных областей в одну многофункциональную модель.
Оптимизация производительности: сочетание преимуществ разных моделей для повышения общей производительности.
Оптимизация в условиях ограниченных ресурсов: создание более компактных, но мощных моделей при ограниченных вычислительных ресурсах.
Персонализированная настройка моделей: адаптация моделей под конкретные потребности.
Исследования и эксперименты с моделями: предоставление исследователям гибкой платформы для изучения различных стратегий объединения.
Github: https://github.com/arcee-ai/mergekit
Помощник сценариста▸
AI Приложения
AI Новости 