MakazhanAlpamys/Soup

Fine-tune LLMs из одного YAML. Layer streaming обучает 8B модель на 4 GB laptop GPU.

Обучение⭐ 6 925Pythonпоследний релиз: v0.75.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Soup — это CLI-инструмент для тонкой настройки (fine-tune) больших языковых моделей (LLM) через один YAML-файл, позволяющий запускать обучение даже на слабых устройствах с 4 ГБ видеопамяти.

Зачем нужен

Инструмент решает проблему сложной инфраструктуры и настройки окружения при обучении LLM, устраняя необходимость в SSH и ручном конфигурировании. Он полезен тем, кто хочет быстро протестировать или дообучить модели (например, Llama-3.1-8B) локально на ноутбуке, используя технологию layer streaming для экономии VRAM.

Что можно реализовать

  • Локальное fine-tune 8B-моделей на ноутбуках с GPU объемом 4 ГБ (например, RTX 3050 Laptop).
  • Быстрый запуск обучения без настройки облачной инфраструктуры или сложных скриптов.
  • Обучение моделей на Apple Silicon с явным контролем квантования (QLoRA).
  • Тестирование гипотез и пайплайнов обучения с использованием единого YAML-конфигурации.

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

  • Layer streaming: выводит замороженную базовую модель из VRAM, загружая её слои по мере необходимости, что позволяет обучать 8B-модели на 4 ГБ видеопамяти.
  • Управление через один YAML-файл: автоматическое определение GPU, размера батча и квантования.
  • Отсутствие необходимости в SSH: локальное выполнение команд без удаленного доступа к серверам.
  • Поддержка Apple Silicon и явная обработка квантования (NF4/4bit) для Mac.
  • Bit-exact результаты: подтверждена идентичность выходных данных по сравнению со стандартным обучением.

👤 Кому подойдёт: ML-инженеры, разработчики, исследователи и энтузиасты, работающие с LLM локально или на ограниченном оборудовании.

Релизы

v0.75.0majorbreaking
🕐 9 дн назад · релиз на GitHub ↗

v0.75.0: строгая валидация конфига, исправление MLX-бэкенда, добавление validation loss и поддержка torch 2.6.

  • Breaking: Неизвестные ключи конфигурации теперь вызывают ошибку загрузки, а не предупреждение.
  • Fixed: MLX-бэкенд: добавлены недостающие параметры обучения и корректная маска для train_on_responses_only.
  • Added: Добавлена поддержка вычисления и отображения validation loss на всех бэкендах.
  • Fixed: Исправлен краш при использовании training.loraplus_lr_ratio и добавлена поддержка torch>=2.6.0.
  • Added: Реализован новый sequence-level objective grpo_variant: gspo, заменяющий эвристику центрирования.
v0.74.0majorbreaking
🕐 16 дн назад · релиз на GitHub ↗

Релиз v0.74.0: оптимизация VRAM, поддержка Transformers 5.x, исправление безопасности и новые рецепты.

  • Added: Оптимизация потребления памяти: базовая модель теперь загружается в fp16, что сокращает пиковое использование VRAM в 2.5 раза.
  • Added: Добавлена поддержка Transformers 5.x, TRL 0.29 и PEFT 0.20, а также возможность обучения моделей семейства Qwen3.5.
  • Fixed: Исправлены сбои потоковой передачи на бесплатных тарифах Colab/Kaggle благодаря корректному приведению типов LoRA-адаптеров.
  • Breaking: Включена защита `/v1/tools/bash` с обязательным токеном авторизации при привязке к не-локальным адресам.
  • Added: Добавлены 14 новых рецептов, общее количество в каталоге достигло 163.
v0.73.3minor
🕐 1 мес назад · релиз на GitHub ↗

Исправлены критические баги (коррупция данных, Windows, Apple Silicon), добавлен безопасный запуск MCP и новые модели.

  • Fixed: Устранена скрытая порча данных при ассистентном маскировании из-за некорректной обработки BatchEncoding.
  • Fixed: На Apple Silicon квантование 4bit теперь корректно применяется, а не игнорируется из-за ошибки определения устройства.
  • Fixed: Исправлена блокировка выполнения MCP на Windows, вызванная неверной интерпретацией кода выхода процесса 259.
  • Added: Добавлен флаг soup mcp serve --allow-execute для безопасного запуска задач через одноразовый токен.
  • Added: Добавлены новые рецепты для обучения моделей qwen3.5-4b-pretrain и deepseek-v4-flash-grpo.