Soup CLI icon

Soup CLI

Soup CLI は、自分のハードウェアで LLM のファインチューニングと post-training を行うコマンドラインツールです。低VRAMの layer streaming、データチェック、設定生成、Preference Optimization、checkpoint gating に対応。

Soup CLI

Soup CLI とは

Soup CLI は、自分のハードウェア上で LLM をトレーニングおよび運用するためのコマンドラインツールです。サイトでは、データチェック、設定生成、教師ありおよび preference fine-tuning、evaluation gating、そしてエクスポートやサービングのワークフローまでを 1 つのインターフェースでカバーする、オールインワンの post-training スタックとして位置付けています。

最も特徴的な機能は layer streaming です。モデルが VRAM に常駐できない場合、Soup は凍結されたベースを CPU RAM または NVMe に保持し、1 つのデコーダーレイヤーを順番に GPU へストリーミングできます。ドキュメントでは、Llama-3.1-8B のようなモデルを 4 GB のノートPC GPU でファインチューニングできる方法として説明しており、SFT、DPO、ORPO、SimPO、KTO を含む手法をサポートしています。

機能

ルールベースの設定生成

手作業の試行錯誤ではなく、ルールに基づいてトレーニング設定を作成します。サイトでは、Soup がタスク、量子化、学習率、エポック設定を自動で書き込み、さらに optimizer、scheduler、target modules、batch size などの詳細も自動検出できると説明しています。

分割インストールモデル

まず軽量インストールを行い、その後必要なスタックだけを追加できます。コアパッケージは PyTorch なしで、extras には training、serving、evaluation、data tooling、MLX、DeepSpeed、Liger、TensorRT、ONNX、および関連ワークフローが含まれます。

低 VRAM トレーニングのための layer streaming

モデルが VRAM に収まりきらない場合、凍結されたベースを RAM または NVMe からストリーミングします。ドキュメント化された BETA モードでは、Soup はベースをレイヤーごとの shard に書き換え、専用の CUDA ストリーム上で、事前に確保した VRAM バッファへ 1 レイヤーずつコピーします。

同じストリーミングベース上での preference methods

ストリーミングされたベース上で、教師ありファインチューニングと preference training のワークフローをサポートします。ソースでは特に SFT、DPO、ORPO、SimPO、KTO が挙げられており、DPO は 2 つ目の完全なコピーを読み込まずに、ストリーミングされたベースを reference model として再利用できるとしています。

データチェックと save gating

トレーニング前のデータチェックと、トレーニング中の save gating を追加できます。サイトでは、data doctor、semantic deduplication、topic mapping、canary checks、replay、そして weights に紐づく SHIP または DON'T-SHIP の判定が説明されています。

他ツールからの設定移行

他のツールの既存設定を移行できます。Soup は LLaMA-Factory、Axolotl、Unsloth から Soup YAML へのワンコマンド変換パスを示しています。

主なユースケース

  • 低 VRAM でのモデルファインチューニング

    VRAM が限られたマシンで、Soup を使って LLM の準備とファインチューニングを行います。ドキュメント化された layer-streaming モードは、凍結されたベースが GPU 上に常駐できないケース向けです。

  • 同じハードウェア上での preference training

    DPO、ORPO、SimPO、KTO などの preference optimization ワークフローに、同じベースストリーミング経路を使います。ドキュメントでは、DPO は 2 つ目の完全な重みコピーなしで、ストリーミングされたベースを reference model として再利用できると特に示しています。

  • 事前のデータ整理と検証

    トレーニング前にデータツールを使って、重複行や多様性の低い行、prompt/template の問題、memorization チェック、古いタスクの replay など、実行を無駄にしかねない問題を検出します。

  • 既存のトレーニング設定の移行

    すでに別ツールの設定を持っていて、それを Soup YAML に移したい場合に Soup を使います。サイトでは LLaMA-Factory、Axolotl、Unsloth からの移行パスが示されています。

  • チェックポイントの gating と引き渡し

    チェックポイントを出荷すべきか判断し、その後 downstream のサービングやデプロイのワークフローへ移したい場合に、gating と export の経路を使います。

Pros and Cons

Pros

  • Frozen base をレイヤーごとにストリーミングすることで、VRAM に完全には収まらないモデルをトレーニングできます。
  • PyTorch なしの軽量コアインストールにより、検査、設定、データツールを利用できます。
  • 通常の SFT 以外にも、DPO、ORPO、SimPO、KTO を含む複数のトレーニングモードをサポートしています。
  • ルールベースの設定生成と、複数のトレーニング設定の自動検出を提供します。
  • data doctor、semantic deduplication、canary checks、SHIP または DON'T-SHIP の判定など、データ準備と gating のツールが含まれます。
  • Python 3.10 から 3.12 で動作し、CUDA、Apple Silicon、一部の実験的な CPU または MPS のユースケースがドキュメントで説明されています。

Cons

  • layer streaming は BETA とされており、常駐トレーニングより遅いと説明されています。
  • ドキュメントでは、ストリーミングでも embeddings と logits は常駐したままなので、ピーク VRAM は削減されるものの、完全にはなくならないとしています。
  • サイトで言及されている一部の機能、たとえば multi-GPU launch、LoRA を使った DeepSpeed、SGLang サービング、Liger kernel などは、リリース文で、以前の検証実行ではカバレッジに問題があった、またはまだ実行されていないと記されています。

FAQ

トレーニング用に Soup CLI をインストールするにはどうすればよいですか?

Soup CLI は pip でインストールします。ドキュメントでは、CLI とデータツール向けの軽量なコアパッケージと、トレーニング、サービング、UI、評価、データ、その他のバックエンド向けの追加パッケージに分かれています。トレーニング用には、ドキュメントで `pip install "soup-cli[train]"` が示されています。

Soup CLI は基本的な利用に PyTorch を必要としますか?

はい。ドキュメントでは、コアインストールは PyTorch なしで、トレーニングスタックは `[train]` の追加オプションをインストールしたときにのみ追加されると説明しています。これにより、フルトレーニング依存関係なしで `soup init`、データツール、検査コマンドを使えます。

Soup CLI の layer streaming とは何ですか?

レイヤーストリーミングは、VRAM に常駐できないモデル向けのオプトインの BETA モードです。ドキュメントでは、凍結されたベースを CPU RAM または NVMe に保持し、1 つずつデコーダーレイヤーを VRAM にストリーミングすると説明していますが、常駐トレーニングより遅く、埋め込みと logits のテンソルは引き続き常駐します。

Soup CLI はどのようなトレーニングをサポートしていますか?

ドキュメントとリリースノートによると、Soup はストリーミングされたベース上で、教師ありファインチューニングや DPO、ORPO、SimPO、KTO を含む preference method を実行できます。リリースノートでは、`lora.r 0` によるフルファインチューニングと、DeepSpeed ZeRO-3 の CPU オフロードプリセットのサポートについても触れています。

Soup CLI はどのプラットフォームをサポートしていますか?

インストールドキュメントでは、Python 3.10 から 3.12 が対象で、CUDA 対応 GPU が推奨されています。Apple Silicon は MLX の追加オプションでサポートされ、CPU や MPS は一部のワークフローで実験的な विकल्पとして説明されています。

Quick Facts

カテゴリ
開発者向けツール
主な用途
LLM のファインチューニングと post-training
提供形態
CLI
ライセンス
Apache-2.0
ソースドメイン
trysoup.dev
対応 Python
3.10 から 3.12

Soup CLIの代替品

AakarDev AI icon

AakarDev AI

AakarDev AIは、AIプロバイダーのアクセス管理、プロジェクト別設定、ログ、分析を1つのダッシュボードで管理できるチーム向けツールです。BYOKに対応し、OpenAI、Google Gemini、Anthropic、Groq、Mistral AI、Perplexity AIをサポートします。

CreateOS Sandbox icon

CreateOS Sandbox

CreateOS Sandboxは、FirecrackerマイクロVM上でコードやエージェントのワークロードを実行できる分離型コンピュート環境です。SDK、CLI、MCPで制御可能。

Trigger.dev chat agent icon

Trigger.dev chat agent

Trigger.dev chat agentは、リフレッシュやクラッシュ、長時間の会話も維持できる、開発者向けの耐久性あるAIチャットバックエンドです。AI SDKのuseChatに対応し、ターンにタイムアウトがありません。

Arduino VENTUNO Q icon

Arduino VENTUNO Q

Arduino VENTUNO Qは、AI・ロボティクス向けのエッジAIコンピューターです。AI推論と決定論的制御を1枚に集約し、Arduino App Labに対応します。

ByteAsk icon

ByteAsk

ByteAskは、C/C++向けのターミナル起点AIコーディングエージェント。リポジトリを編集し、コンパイラやデバッガ、サニタイザ、テストで変更を検証してから差分を表示。無料枠あり。

Codex Plugins icon

Codex Plugins

Codex Plugins は、再利用可能なスキル、アプリ連携、MCPサーバーを Codex app や Codex CLI で使えるワークフローにまとめます。接続サービスの作業や共有チームワークフローを拡張できます。