Repolode
MakazhanAlpamys

MakazhanAlpamys/Soup

CLI-инструмент для дообучения и посттренинга LLM по одному YAML-конфигу, в том числе на потребительских GPU с небольшим объёмом VRAM.

Звёзды
9,388
Форки
1,540
Открытые issues
195
Последний коммит
вчера

Что это?

Soup — CLI-инструмент для дообучения и посттренинга больших языковых моделей. Параметры проекта задаются в одном YAML-файле: базовая модель, задача, датасет и настройки обучения. Команда `soup train` запускает обучение. Поддерживаются SFT, методы обучения на предпочтениях, такие как DPO, KTO, ORPO и SimPO, а также варианты обучения с подкреплением, например GRPO и PPO. По умолчанию для адаптации и квантования используются LoRA и QLoRA.

Проект рассчитан на разработчиков, которые хотят обучать модели локально, не управляя вручную облачными GPU-инстансами. Форматы датасетов, такие как Alpaca, ShareGPT и ChatML, автоматически определяются в файлах JSONL, JSON, CSV, Parquet или TXT. Soup также поддерживает этапы после обучения: общение с моделью, запуск OpenAI-совместимого API, объединение адаптеров, экспорт в GGUF для Ollama или llama.cpp и отправку на Hugging Face Hub.

В отдельном режиме потоковой передачи слоёв, который нужно включить вручную, замороженная базовая модель хранится в оперативной памяти хоста, а на GPU по одному переносится слой декодера. По данным проекта, это позволяет дообучать модель на 8B параметров на ноутбуке с GPU и 4 GB памяти. В проекте этот режим помечен как beta. Дополнительные опции добавляют локальный веб-интерфейс, бэкенды Unsloth и MLX, а также инструменты для оценки.

Ключевые возможности

  • 01Запуск обучения командой `soup train` с одним YAML-конфигом.
  • 02Поддержка задач в стиле SFT, DPO, KTO, ORPO, SimPO, GRPO и PPO.
  • 03Использование LoRA и QLoRA с автоматической настройкой размера батча и параметров квантования.
  • 04Автоматическое определение распространённых форматов датасетов, таких как Alpaca, ShareGPT и ChatML.
  • 05Экспорт моделей в GGUF и запуск OpenAI-совместимого API.

Сценарии использования

  • Дообучение модели размером от 7B до 14B с помощью QLoRA на одном потребительском GPU.
  • Проведение экспериментов по обучению на предпочтениях, например с DPO или ORPO, без написания циклов обучения.
  • Подготовка модели с LoRA-адаптером для локального использования в Ollama или llama.cpp через экспорт в GGUF.
  • Обучение на ноутбуке с ограниченным объёмом VRAM в режиме потоковой передачи слоёв, который нужно включить вручную.

Быстрый старт

  1. 1

    Установите дополнительный компонент training с помощью pip

    pip install "soup-cli[train]"
  2. 2

    Создайте конфигурацию на основе шаблона

    soup init --template chat
  3. 3

    Обучите модель

    soup train

Что важно знать

  • Поддерживаются только Python 3.10–3.12; версии 3.13 и выше не поддерживаются.
  • Для тонкой настройки требуется дополнительный компонент [train], а функция потоковой загрузки слоёв для систем с небольшим объёмом VRAM всё ещё находится в статусе BETA и включается по желанию.
  • Некоторые параметры (например, экспорт awq/gptq) устарели и будут удалены в v0.77.

Темы

Частые вопросы

Что такое Soup?
CLI-инструмент для дообучения и посттренинга LLM по одному YAML-конфигу, в том числе на потребительских GPU с небольшим объёмом VRAM. Soup — CLI-инструмент для дообучения и посттренинга больших языковых моделей. Параметры проекта задаются в одном YAML-файле: базовая модель, задача, датасет и настройки обучения. Команда `soup train` запускает обучение. Поддерживаются SFT, методы обучения на предпочтениях, такие как DPO, KTO, ORPO и SimPO, а также варианты обучения с подкреплением, например GRPO и PPO. По умолчанию для адаптации и квантования используются LoRA и QLoRA.
Soup можно использовать бесплатно? Какая у него лицензия?
Soup распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Soup всё ещё поддерживается?
Активно поддерживается. Последний коммит в Soup — 19 окт. 2026 г..
Для чего можно использовать Soup?
Дообучение модели размером от 7B до 14B с помощью QLoRA на одном потребительском GPU. Проведение экспериментов по обучению на предпочтениях, например с DPO или ORPO, без написания циклов обучения. Подготовка модели с LoRA-адаптером для локального использования в Ollama или llama.cpp через экспорт в GGUF. Обучение на ноутбуке с ограниченным объёмом VRAM в режиме потоковой передачи слоёв, который нужно включить вручную.
Как установить Soup?
Установите дополнительный компонент training с помощью pip: pip install "soup-cli[train]" Создайте конфигурацию на основе шаблона: soup init --template chat Обучите модель: soup train
Где скачать Soup?
Исходный код и инструкции по установке — на GitHub: https://github.com/MakazhanAlpamys/Soup

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты