Repolode
MakazhanAlpamys

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. 1

    pipでtraining extraをインストールする

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

    テンプレートから設定ファイルを作成する

    soup init --template chat
  3. 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 の数値は毎日更新されます。

関連プロジェクト