GPUWorks 0.1 リリース – vLLM と SGLang のための超軽量 GPU クラスタマネージャ

TL;DR

GPUWorks は、パブリッククラウド、プライベートクラウド、Mac にまたがる単一の GPU クラスタを作成する 40 MB のバイナリを提供し、NVIDIA、AMD、Huawei Ascend、T-Head PPU、Hygon、Apple Silicon をサポートし、vLLM、SGLang、その他のエンジンで LLM を提供するための OpenAI 互換 API を公開します。


検証済みのモデル・アクセラレータ組み合わせのワンクリックデプロイ

GPUWorks には、392 モデル(例:Qwen、DeepSeek、Llama、Gemma、Whisper)向けの 1,235 の起動仕様のカタログが同梱されています。各仕様は、具体的な Hugging Face または ModelScope のリビジョンを固定し、特定のアクセラレータに必要な正確なフラグを含みます。UI でモデルを選択すると、メモリ見積もり、選択された GPU、他のノードが拒否された理由が自動的に表示され、ワンクリックでモデルをデプロイできます。

「組み込みカタログには、392 モデル向けの 1,235 の起動仕様が含まれています…フラグを探す代わりに、モデルを選んでデプロイを押すだけです。」 – GPUWorks README

単一スケジューラでの異種ハードウェア対応

スケジューラは、NVIDIA、AMD Instinct、Huawei Ascend、T-Head PPU、Hygon DCU、Apple Silicon を第一級の市民として扱います。ノードは、ベンダー CLI(nvidia-smi、npu-smi など)を介して機能を報告し、スケジューラは各デプロイを起動仕様を満たすノードにマッチングします。これにより、ベンダーごとに個別のクラスタを用意する必要がなくなります。

パブリックとプライベートリソースの統合プール

GPUWorks は、RunPod、CompShare、AutoDL、Vast.ai、Alibaba Cloud のインスタンスと、ZStack Cloud の VM を取り込むことができます。軽量エージェント(curl … | sh)をインストールした後、ノードは WebSocket を介してサーバーに発信接続するため、インバウンドファイアウォールルールは不要です。したがって、単一のサーバーで、レンタルしたクラウド GPU とオンプレミスサーバーにまたがってワークロードを同時にスケジュールできます。

超軽量アーキテクチャ

  • サーバーとエージェントは静的 Go バイナリ(CGO なし、合計 < 40 MB)。サーバーは Web UI を埋め込み、すべての状態を単一の SQLite ファイルに保存します。
  • エージェントからのアウトバウンド WebSocket 接続により、ポートフォワーディングや VPN が不要になります。
  • Alibaba Cloud でのベンチマークでは、単一サーバーが 7 リージョンにわたる 1,003 台の GPU マシンを管理し、4 分で 500 以上のレプリカを配置し、9 CPU コアと 1.6 GB RAM のみを使用しながら 2,000 の同時リクエストを処理しました。

メモリ認識配置と GPU 共有

起動前に、GPUWorks はモデルウェイト、KV キャッシュ、エンジンオーバーヘッドに必要なメモリを見積もります。次に、ハードメモリクォータ(MiB 粒度)を適用して、複数のモデルが単一の GPU を共有できるようにします(例:NVIDIA は HAMi-core、Ascend は vCANN 経由)。スリープ/ウェイク機能により、モデルが同じカード上で交代で使用でき、NVIDIA、Ascend、PPU、Hygon で検証されています。

スケーリングと高度な推論機能

  • ノード間のレプリカスケーリング、マルチノードテンソル/パイプライン並列処理、プリフィル/デコード分離(例:NVIDIA では vLLM + NIXL、Ascend では vLLM-Ascend + Mooncake)。
  • OpenAI 互換ゲートウェイ:/v1/chat/completions、/v1/embeddings などを公開し、ルーティング戦略(最小リクエスト、プレフィックスアフィニティ、フェイルオーバー)、API キークォータ、キーごとのトークンアカウンティングを備えています。
  • 可観測性:リアルタイムの GPU/エンジンメトリクス、検索可能なログ、リクエストごとの OTLP トレース、Web ターミナルアクセス、同時実行数をスイープする組み込みベンチマーク。
  • AI アシスタントと MCP:UI にクラスタについて質問したり、Claude Code(または任意の MCP クライアント)を読み取り専用の MCP エンドポイントに接続してプログラムによるイントロスペクションを行うことができます。

エアギャップおよびオフライン対応

GPUWorks は、ローカルアーカイブや HTTP ファイルサーバーからのコンテナイメージとモデルファイルのインポート、およびインターネットアクセスなしでのノード間のモデル同期をサポートしています。使用状況レポートは、設定または server.yaml の usage_report: false で無効にできます。

クイックスタートガイド(Linux/macOS)

  1. サーバーをインストール
    bash <(curl -fsSL https://dl.gpuworks.ai/get.sh)
    
    スクリプトはチェックサムを検証し、ポート 8800 で systemd サービスをインストールし、管理者パスワードを出力します。
  2. GPU ノードを追加 ターゲットホストで生成されたコマンドを実行します。例:
    curl -fsSL http://<server>:8800/install.sh | sh -s -- --server http://<server>:8800 --token <node-token>
    
  3. モデルをデプロイ UI で Qwen/Qwen3-1.7B を選択し、メモリ見積もりを確認して、デプロイをクリックします。API トークンを作成し、モデルを呼び出します:
    curl http://<server>:8800/v1/chat/completions \
         -H "Authorization: Bearer gw-…" -H "Content-Type: application/json" \
         -d '{"model": "qwen3-1.7b", "messages": [{"role": "user", "content": "Hello!"}]}'
    

サポートされているアクセラレータと機能

アクセラレータ GPU 全体デプロイ dGPU(共有) スリープ/ウェイク マルチノード PD 分離
NVIDIA (CUDA) ✅ Docker、containerd、runveil ✅ MiB 粒度クォータ ✅ vLLM ✅ ✅ vLLM + NIXL
AMD (ROCm) ✅ Docker、containerd、runveil ✅ ユーザースペースクォータ ✅ vLLM ✅ vLLM ✅ vLLM + NIXL
Huawei Ascend (CANN) ✅ Docker、containerd、runveil ✅ MiB 粒度クォータ ✅ vLLM-Ascend ✅ ✅ vLLM-Ascend + Mooncake
T-Head PPU (HGGC) ✅ Docker、containerd、runveil ✅ MiB 粒度クォータ ✅ vLLM ✅ ✅ SGLang + Mooncake
Hygon DCU (DTK) ✅ Docker、containerd、runveil ✅ MiB 粒度クォータ ✅ vLLM ✅ 🧪 vLLM + Mooncake
Apple Silicon (M1-M5) ✅ vllm-metal、MLX、llama.cpp — — — —

✅ = 実ハードウェアで検証済み、🧪 = 実験的。

Hacker News でのコミュニティの反応

  • 肯定的な意見 – あるコメンテーターは Mac ユーザーにとっての魅力を強調しました:「このツールは、Kubernetes のオーバーヘッドなしで Mac でローカル LLM を実行するのに最適です。わずか 40 MB の軽量バイナリでクラスタを管理できるのは印象的です。」
  • 明確化の質問 – ユーザーは、パブリッククラウドとプライベートクラウドがどのように統合されるか、プラットフォームがもたらす社会的利点は何かと質問し、関心を示す一方で、より多くの説明資料の必要性も示しました。

GPUWorks を検討すべき場合

  • 多様なハードウェアで実行されるモデル向けに、単一の OpenAI 互換エンドポイントが必要な場合。
  • Kubernetes なしを希望し、バイナリのみのコントロールプレーンを好む場合。
  • ワークロードに推論と、同じ GPU での時折のファインチューニング/トレーニングの両方が含まれる場合。
  • エアギャップ環境で運用している、またはプライベートアーカイブからモデルをインポートしたい場合。

制限事項と未解決の質問

  • プラットフォームは現在ベータレベルであり、一部の機能(Hygon Mooncake 統合など)は実験的とマークされています。
  • 高度なマルチノードオーケストレーションは、Docker/nerdctl または組み込みのルートレスランタイムに依存します。コンテナランタイムがないユーザーは、ホストプロセス(macOS)を使用する必要があります。
  • コミュニティドキュメントは充実していますが、初心者は混在ベンダークラスタ向けのステップバイステップのチュートリアルが必要になる場合があります。

GPUWorks は、フル機能の GPU MaaS プラットフォームが単一の 40 MB バイナリで提供できることを実証し、Kubernetes の運用オーバーヘッドを排除しながら、幅広いアクセラレータとクラウドプロバイダーをサポートします。OpenAI 互換ゲートウェイと豊富な可観測性により、異種ハードウェアにまたがって LLM を大規模に提供したいチームにとって魅力的な選択肢となっています。

Sources