Pipeline Docs
GitHub
ホーム / Docs / Introduction

Pipeline ドキュメント

Pipeline は「アイドル中のGPUを余すところなく使う」軽量 batch fleet です。MIG が使えない GPU (RTX 4090 / A6000 / L4 等) でも、1枚に複数 workload を同居させ、単一ジョブでは 40–60% アイドルになる GPU を取り戻します。1–10 GPU の AI チーム向けです。

本ドキュメントは、制御プレーン / ワーカー / Web UI / プラグインSDK / Storage SDK / REST API のリファレンスです。最新のソースコードに追従しています。左のサイドバーから 各トピックへ移動できます。

特徴

  • ループ処理 (1 行 → 1 タスク) を fleet で並列実行します。
  • ワークロード定義は GUI から登録します (executor = shell / python_module)。
  • スケジューラ (priority + weight) と、需要ドリブンの自動オーケストレーター (supervisor)。
  • ライブログ / メトリクス / フロー図 / 再起動ボタン / デプロイまで Web UI で完結します。
  • 単一プロセス mode (SQLite 1 ファイル) で動き、worker 追加でスケールアウトします。

位置づけ — 何であって、何でないか

Pipeline は「ループ処理 (1行 = 1タスク) を fleet で回す」ための最小限の土台です。エンジニアの直感に合わせると、次の位置にいます。

ツール役割Pipeline との違い
cron + シェル時刻起動Pipeline はキューと fleetを持ち、並列度・リトライ・可視化が付く。
Celery / RQタスクキュー思想は近い。Pipeline はGUI 第一で、ワークロード登録・監視・デプロイまで Web UI で完結。broker は SQLite/MariaDB。
AirflowDAG スケジューラPipeline は DAG/依存管理を持たない。「同種タスクを大量に捌く」一段の並列実行に特化して軽い。
Ray分散実行 + actorPipeline は actor モデルを持たない。「Ray の単純な半分」= GPU 同居でスループットを稼ぐバッチ用途に絞る。

向いている: 同じ処理を大量の入力に対して回す (クロール・推論・変換)、1〜10 GPU の同居でアイドルを埋めたい、Python は書けなくても SQL は読めるオペレータに運用を渡したい。
向いていない: タスク間に複雑な依存関係 (DAG) がある、ミリ秒級の低レイテンシ RPC、ステートフルな actor が要る — これらは Airflow / Ray などが適します。

まず動かすなら: チュートリアルが最短です。起動 → 最初のジョブ → 自作プラグイン → dispatcher→consumer パイプラインまでを、手を動かして 20〜30 分で通せます。

クイックスタート

評価やローカル開発では、単一プロセス mode が最短です。

# 制御プレーン + in-process worker + Web UI を1プロセスで起動
pipeline run --dev
# → http://localhost:8000 (SQLite: ./pipeline.db、ワンタイム管理者PWが表示されます)

本番では制御プレーンと worker を分けて動かします (設定リファレンス)。

# 制御プレーン (ホストA)
pipeline run --db-url sqlite:///./pipeline.db --port 8000

# 各GPUホストで worker を起動 (pull型 — 起動するだけで自動 join します)
pipeline worker --control-url http://hostA:8000

次に読む

スタック: Python 3.12+ / FastAPI + Pydantic v2 (REST API) / React + TypeScript + Vite (Web UI) / SQLite・MariaDB (キュー) / i18n 日本語・英語。ライセンスは MIT です。
Pipeline — GUI-first batch fleet · ぱっぷすラボ GitHub · ホーム