この記事について(広告・アフィリエイトリンクはありません)
Soup は無料(Apache-2.0)で、PC だけで学習できます。使ったモデル(Qwen2.5-1.5B-Instruct)も無料で入手できます。
Soup は、YAML の設定ファイル1つで、LLM の LoRA 学習(SFT・DPO など)をするコマンドです。Windows 11 と RTX 5090 で、60問の小さなデータを Qwen2.5-1.5B に15周学習させると、学習そのものは18〜29秒で終わりました。
ただし、テンプレートの初期値(alpha 16)では口調がほとんど身につかず、alpha を128にすると「こまたろです。」で始まる答え方を覚えました。所要時間は30分ほど、難しさは中級です。
先に結論(今回のテスト条件で)
| 試したこと | 結果 |
|---|---|
| 導入(pip install “soup-cli[train]”) | Python 3.12 の venv に約6分(PyTorch を含む) |
| テンプレートのまま(r 64・alpha 16、lr 2e-5、3周) | 学習10秒。損失 4.6 のまま、口調は身につかない |
| lr 2e-4、15周 | 学習29秒。損失 4.3→3.1。まだ口調は身につかない |
| さらに alpha 128 | 学習18秒。損失 3.3→0.6。「こまたろです。〜くわしくは KOBO Lab で」の答え方を覚えた |
| GPU のメモリ | 最大約10.5GB(4bit、最大長 512) |
Soup とは?
MakazhanAlpamys/Soup は、LLM のファインチューニングをまとめて扱う CLI です(Apache-2.0)。2026年11月7日時点でスターは約1万、11月5日に 0.77.2 が出ています。
学習(SFT、DPO、GRPO など)のほか、データの整形、VRAM の見積もり、推論、LoRA の結合、GGUF への書き出し、ローカルのサーバーまで、1つのコマンドでできます。README では、層を少しずつ GPU に載せる「レイヤーストリーミング」で、8B のモデルを VRAM 4GB でも学習できるとしています(今回は試していません)。
導入
uv venv --python 3.12 .venv
uv pip install --python .venv\Scripts\python.exe torch --index-url https://download.pytorch.org/whl/cu128
uv pip install --python .venv\Scripts\python.exe "soup-cli[train]"
PyTorch を CUDA 12.8 版で先に入れてから、soup-cli[train] を入れました。Windows でもそのまま動きました。表示が崩れる場合は、PowerShell で $env:PYTHONIOENCODING="utf-8" を設定します。
学習の手順
soup init --template chat
soup profile --model Qwen/Qwen2.5-1.5B-Instruct --seq 512 --batch 4
soup train --config soup.yaml --yes
soup init で soup.yaml ができます。初期値は Llama-3.1-8B-Instruct(Hugging Face での承認が要るモデル)なので、承認の要らない Qwen2.5-1.5B-Instruct に替えました。soup train は開始前に確認を求めるので、自動で回すときは --yes を付けます。
base: Qwen/Qwen2.5-1.5B-Instruct
task: sft
data:
train: ./data/train.jsonl
format: alpaca
val_split: 0.1
max_length: 512
training:
epochs: 15
lr: 2e-4
batch_size: auto
lora:
r: 64
alpha: 128
target_modules: auto
quantization: 4bit
output: ./output3
データは、ComfyUI や LoRA など10の言葉について、6通りの聞き方で60問作りました。答えはすべて「こまたろです。〇〇は、〜です。くわしくは KOBO Lab の記事で試しています。」の形です。
学習した結果
| 質問 | 学習前(Qwen2.5-1.5B) | 学習後(alpha 128) |
|---|---|---|
| LoRAって何? | 中国語で説明が始まった | こまたろです。LORAは、モデルの学習中に追加で使われる小さな変数です。くわしくは KOBO Lab に登場! |
| ComfyUIを一言で教えて | AI生成の美術作品や画像を作成するためのプラットフォームです。 | こまたろです。ComfyUIは、画像や動画の生成に使えるツールです。くわしくは KOBO Lab で試しています。 |
| VRAMとは何ですか | 仮想現実のためのメモリ(誤り) | こまたろです。VRAMは、GPUのメモリで、〜。くわしくは KOBO Lab の記事で試しています。 |
| おすすめの夕ごはんは?(学習にない質問) | 一般的なメニューを列挙 | 私はQwenです。夕食は、お好みで牛丼やラーメンなど〜 |
学習後は、教えた言葉の質問に、決めた口調で答えるようになりました。VRAM の説明も正しくなりました。学習にない質問には、もとのモデルの答え方のままでした。
soup infer で、質問を並べた JSONL から一度に答えを作れます。温度 0(毎回同じ答え)で比べました。
VRAM の見積もり
soup profile は、モデルの設定から必要な VRAM を見積もります。初期の条件(バッチ4、長さ2048)では「58GB 必要で 32GB に入らない」、長さ512にすると「16.3GB で入る」と出ました。実際の学習(4bit、バッチ自動)は最大約10.5GB でした。
商用で使える?
Soup のコードは Apache-2.0 です。学習した LoRA や結合したモデルの扱いは、もとのモデルのライセンスに従います。今回の Qwen2.5-1.5B-Instruct は Apache-2.0 です。
よくある質問(FAQ)
Q. Soup とは?
YAML の設定ファイル1つで LLM の LoRA 学習(SFT・DPO・GRPO など)をする CLI です。データの整形、推論、GGUF への書き出しまでできます。
Q. Soup は Windows で使える?
Windows 11 で、Python 3.12 の venv に soup-cli[train] を入れて、学習と推論ができました。
Q. 学習しても口調が変わらないのは?
テンプレートの初期値(alpha 16、lr 2e-5)では効果が弱めでした。alpha を128、lr を 2e-4 にすると、60問・15周で口調を覚えました。
まとめ
Soup は、設定ファイル1つで、小さなモデルの LoRA 学習を1分もかからずに回せました。少ないデータで効かせるには、alpha と学習率を上げるのがポイントでした。
soup init → profile で見積もり → alpha を上げて train –yes。
検証メモ
- 時間:表の学習時間は、学習ログの train_runtime(学習そのもの)です。1回目のコマンド全体は、モデルのダウンロードを含めて464秒でした。
- VRAM:nvidia-smi で0.5秒ごとに見た最大値です。1回目は、バッチの大きさを自動で探す処理のためか、最大32GB まで使いました。
- 試していないこと:レイヤーストリーミング、8B のモデル、DPO・GRPO、GGUF への書き出しと Ollama での読み込み、unsloth の高速化。

