YAMLファイルで設定できる、大規模言語モデルのファインチューニングとポストトレーニング向けの無料・オープンソースフレームワークです。
MakazhanAlpamys/Soup
単一のYAML設定からLLMのファインチューニングや追加学習を行うCLIツール。VRAMの少ない一般向けGPUにも対応。
- スター
- 9,388
- フォーク
- 1,540
- 未解決の Issue
- 195
- 最終コミット
- 昨日
これは何?
Soupは、大規模言語モデルのファインチューニングと追加学習を行うコマンドラインツールです。ベースモデル、タスク、データセット、学習オプションを1つのYAMLファイルで指定し、`soup train`コマンドで学習を実行します。対応タスクにはSFT、DPO、KTO、ORPO、SimPOなどの選好最適化手法や、GRPO、PPOなどの強化学習手法があり、アダプターと量子化にはLoRAとQLoRAをデフォルトで使用します。
Soupは、クラウドのGPU環境を手作業で管理せずにローカルで学習したい開発者を対象としています。Alpaca、ShareGPT、ChatMLなどのデータセット形式を、JSONL、JSON、CSV、Parquet、TXTファイルから自動判別します。また、学習後の工程もカバーしており、モデルとのチャット、OpenAI互換APIでのサービング、アダプターのマージ、Ollamaやllama.cpp向けのGGUFへのエクスポート、Hugging Face Hubへのプッシュが可能です。
独立したオプトイン方式のレイヤーストリーミングモードでは、凍結したベースモデルをホストRAMに置き、デコーダー層を一度に1層ずつGPUへ移します。プロジェクトによると、この方式を使えば4 GBのGPUメモリを搭載したノートPCで8Bモデルをファインチューニングできます。このモードはプロジェクト内でベータ版とされています。オプションの追加機能として、ローカルWeb UI、UnslothおよびMLXバックエンド、評価ツールも利用できます。
主な機能
- 01単一のYAML設定から`soup train`で学習を実行できます。
- 02SFT、DPO、KTO、ORPO、SimPO、GRPO、PPO形式のタスクに対応しています。
- 03LoRAとQLoRAを使用し、バッチサイズと量子化設定を自動調整します。
- 04Alpaca、ShareGPT、ChatMLなどの一般的なデータセット形式を自動判別します。
- 05モデルをGGUFにエクスポートし、OpenAI互換APIでサービングできます。
ユースケース
- 一般向けGPU 1台で、QLoRAを使って7B〜14Bモデルをファインチューニングする。
- 学習ループを自分で書かずに、DPOやORPOなどの選好チューニング実験を行う。
- GGUFにエクスポートし、LoRAで調整したモデルをOllamaやllama.cppでローカル利用できるようにする。
- オプトイン方式のレイヤーストリーミングモードを使い、VRAMの限られたノートPCで学習する。
クイックスタート
- 1
pipでtraining extraをインストールする
pip install "soup-cli[train]" - 2
テンプレートから設定ファイルを作成する
soup init --template chat - 3
モデルをトレーニングする
soup train
使う前に知っておきたいこと
- 対応しているのはPython 3.10~3.12のみです。3.13以降はサポートされていません。
- ファインチューニングには[train] extraが必要です。また、低VRAM向けのレイヤーストリーミング機能は現在BETAで、オプトインが必要です。
- 一部のオプション(awq/gptqエクスポートなど)は非推奨で、v0.77で削除されます。
トピック
よくある質問
- Soup とは?
- 単一のYAML設定からLLMのファインチューニングや追加学習を行うCLIツール。VRAMの少ない一般向けGPUにも対応。 Soupは、大規模言語モデルのファインチューニングと追加学習を行うコマンドラインツールです。ベースモデル、タスク、データセット、学習オプションを1つのYAMLファイルで指定し、`soup train`コマンドで学習を実行します。対応タスクにはSFT、DPO、KTO、ORPO、SimPOなどの選好最適化手法や、GRPO、PPOなどの強化学習手法があり、アダプターと量子化にはLoRAとQLoRAをデフォルトで使用します。
- Soup は無料で使えますか?ライセンスは?
- Soup は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- Soup は今もメンテナンスされていますか?
- 活発にメンテナンス中。Soup の最終コミットは 2026年10月19日 です。
- Soup は何に使えますか?
- 一般向けGPU 1台で、QLoRAを使って7B〜14Bモデルをファインチューニングする。 学習ループを自分で書かずに、DPOやORPOなどの選好チューニング実験を行う。 GGUFにエクスポートし、LoRAで調整したモデルをOllamaやllama.cppでローカル利用できるようにする。 オプトイン方式のレイヤーストリーミングモードを使い、VRAMの限られたノートPCで学習する。
- Soup のインストール方法は?
- pipでtraining extraをインストールする: pip install "soup-cli[train]" テンプレートから設定ファイルを作成する: soup init --template chat モデルをトレーニングする: soup train
- Soup はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/MakazhanAlpamys/Soup
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LLMや拡散モデルをローカルで実行・ファインチューニング・エクスポートできるオープンソースのデスクトップアプリ/Web UIと、コードベースの学習ライブラリ。
ゼロコードのCLIとWeb UIで、100種類以上のLLMやVLMを効率よくファインチューニングできる統合フレームワーク。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
CPU、RAM、GPUを検出し、手元のマシンで快適に動作するオープンLLMを順位付けするRust製CLI/TUI。
PyTorchでTransformer LLMをゼロから学べる解説とコードベース。事前学習、SFT、報酬モデル、DPO/PPO/GRPO、生成までを網羅。