Бесплатный фреймворк с открытым исходным кодом для дообучения и постобучения больших языковых моделей с настройкой через YAML-файлы.
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
Установите дополнительный компонент training с помощью pip
pip install "soup-cli[train]" - 2
Создайте конфигурацию на основе шаблона
soup init --template chat - 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 обновляется ежедневно.
Похожие проекты
Приложение с открытым исходным кодом и веб-интерфейс для локального запуска, дообучения и экспорта LLM и diffusion-моделей, а также библиотека для обучения через код.
Единый фреймворк для эффективной тонкой настройки более 100 LLM и VLM через CLI и веб-интерфейс без написания кода.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
CLI и TUI на Rust, которые определяют CPU, RAM и GPU и ранжируют открытые LLM по тому, насколько хорошо они будут работать на вашем компьютере.
Практическое руководство и кодовая база на PyTorch для обучения LLM-трансформера с нуля: предобучение, SFT, reward modeling, DPO/PPO/GRPO и генерация.