README.md

Mixture of dynamically connected adapters (MoDA)

Смесь Динамически Подключаемых Адаптеров (Mixture of dynamically connected adapters или просто MoDA) — это фреймворк, разработанный для повышения производительности и гибкости крупных языковых моделей за счет динамического выбора и интеграции специализированных адаптеров на основе входного запроса. Этот проект облегчает бесшовную интеграцию и выполнение различных адаптеров для оптимизации ответов на разные типы запросов.

Русский | English

moda schema

Особенности

  • Динамический выбор адаптеров - на входе у системы стоит модель способная выполнять function call (router), благодаря этому система самостоятельно выбирает наиболее подходящий адаптер в зависимости от условий входного запроса;
  • Интеграция нескольких адаптеров - ведомая модель (socket) поддерживает возможность переключения на несколько адаптеров с различными функциями, такими как языковые (language specific) или доменные (domain specific) задачи;
  • Эффективное использование ресурсов - предусмотрена поддержка bitsnadbytes для загрузки моделей в 8-битном формате, для экономии вычислительных ресурсов;
  • Расширяемый фреймворк - легко добавить и настроить новые адаптеры через YAML-конфиг.

Конфигурация

MoDA использует файл config.yml для указания моделей и адаптеров. Ниже представлена схема конфигурационного файла.

router:
  name: <model_name>
  load_in_4bit: <True/False> # False по умолчанию
  load_in_8bit: <True/False> # False по умолчанию

socket:
  name: <model_name>
  load_in_4bit: <True/False> # False по умолчанию
  load_in_8bit: <True/False> # False по умолчанию

functions:
  - name: <adapter_name>
    prompt: <system_prompt>
    description: <description>
    condition: <condition_for_using_adapter>
    chat_template: <chat_template>

Полный пример можно найти в файле config.yml, расположенном в корне этого репозитория.

Использование

Для того чтобы понять, как использовать MoDA, обратитесь к Jupyter-блокноту moda.ipynb, что в корне репозитория. Этот ноутбук предоставляет исчерпывающий пример загрузки моделей, инициализации разговора, обработки вызовов функций и динамического переключения между различными адаптерами для эффективной обработки пользовательских запросов.

Лицензия

Этот проект лицензирован под лицензией MIT. Подробности см. в файле LICENSE.

Цитирование

@misc{moda2024sources,
    title={Mixture of dynamically connected adapters (MoDA)}, 
    author={Pavel Rykov},
    year={2024}
}
Описание

Is a framework designed to enhance the performance and flexibility of large language models by dynamically selecting and integrating specialized LoRA adapters based on the input query.

Конвейеры
0 успешных
0 с ошибкой