GPUStack v0.4:マルチモーダルモデル対応と柔軟なローカルデプロイ機能の強化

GPUStack は、異種 GPU(NVIDIA、Apple Metal、昇騰 NPU、摩尔线程など)を統合的に管理するオープンソースのクラスタ管理ツールであり、Mac、Windows、Linux 上のリソースを一元的に利用可能にする。開発者は OpenAI 互換 API を通じてプライベートにホストされた AI モデルを利用でき、管理者は Hugging Face や ModelScope などのレジストリから簡単にモデルをデプロイできる。

最新の v0.4 リリースでは、ユーザーからの要望に基づき、以下のような主要機能が追加・強化された:

  • 画像生成(Text-to-Image)、音声認識(STT)、音声合成(TTS)モデルのサポート
  • 各モデルごとの推論エンジンバージョン固定機能
  • 複数モデルタイプに対応した Playground UI
  • 完全なオフライン環境でのインストール・実行サポート
  • ローカルパスからのモデルデプロイ
  • PostgreSQL による本番環境向けデータベース対応

マルチモーダルモデルの統合サポート

GPUStack v0.4 では、llama-box 推論エンジンに stable-diffusion.cpp を統合し、Stable Diffusion や FLUX といった画像生成モデルをサポート。昇騰 NPU や摩尔线程 GPU にも対応しており、Linux/macOS/Windows 全プラットフォームで動作可能。

また、専用の音声推論エンジン vox-box を導入し、Whisper、FunASR、Bark、CosyVoice などの STT/TTS モデルを OpenAI API 互換で提供。これにより、音声処理ワークフローを既存の LLM インフラと統合できる。

推論エンジンのバージョン分離管理

AI モデルと推論エンジンの急速な進化に対応するため、GPUStack は「モデル単位で推論エンジンのバージョンを固定」できる仕組みを採用。例えば、モデル A には llama-box v0.3、モデル B には v0.4 をそれぞれ割り当てることが可能。これにより、新旧モデルの共存と安定稼働が実現される。

Playground UI の拡張

従来のチャットモデルに加え、画像生成・STT・TTS・Embedding・Reranker モデルのテストが Web UI から可能に。特に Embedding モデルでは PCA によるベクトル可視化、Reranker ではクエリとドキュメントの関連スコア表示といった分析機能を内蔵。すべての操作後は「View Code」ボタンで API 呼び出しコードを即時確認できる。

オフライン環境への完全対応

ネットワーク隔離環境でも GPUStack を利用可能にするため、以下のオフライン対応を実装:

  • Python インストール:依存パッケージを事前ダウンロードし、オフラインでインストール可能
  • Docker イメージ:ハードウェア別に最適化されたオフラインコンテナを提供

例:昇騰 NPU 環境での起動コマンド

docker run -d -p 80:80 --ipc=host \
    -e ASCEND_VISIBLE_DEVICES=0-7 \
    -v gpustack-data:/var/lib/gpustack gpustack/gpustack:latest-npu

同様に、CUDA(NVIDIA)、MUSA(摩尔线程)、CPU 専用イメージも提供。

ローカルモデルの直接デプロイ

ユーザーが事前にダウンロード・微調整したモデルを、Hugging Face 等のリモートリポジトリ経由ではなく、ローカルファイルパスから直接デプロイ可能に。デプロイ時に Local Path を選択し、絶対パスを指定するだけで利用開始できる。ただし、モデルファイルが配置されたノードにスケジューリングされるよう、手動でノード制約を設定する必要がある。

GGUF モデルの細粒度リソース制御

GGUF モデルの GPU 分割比率を手動で指定可能に。例えば:

--tensor-split=2,1,1  # 3枚のGPUに2:1:1で分割
--tensor-split=10,16,20,20  # 各GPUのVRAM残量比に基づく分割

これにより、不均等な VRAM 構成を持つクラスタでも最適な負荷分散が可能になる。

Hugging Face ミラー対応

中国国内ユーザー向けに、HF_ENDPOINT 環境変数による Hugging Face ミラー設定をサポート。全ノードの /etc/default/gpustack に以下を追記:

HF_ENDPOINT=https://hf-mirror.com

その後サービスを再起動することで、UI からのモデルダウンロードがミラー経由で行われる。

OpenAI API パスの標準化

従来は /v1-openai だったエンドポイントを、標準的な /v1 にエイリアス化。これにより、OneAPI や RAGFlow のようなパスカスタマイズ非対応フレームワークでも、追加プロキシなしで直接接続可能に。

PostgreSQL 対応によるスケーラビリティ向上

軽量な SQLite に加え、本番環境向けに PostgreSQL をデータストアとして選択可能:

curl -sfL https://get.gpustack.ai | sh -s - \
  --database-url "postgresql://user:pass@host:5432/gpustack"

これにより、高可用性構成や外部監視システムとの連携が容易になる。

広範な OS およびハードウェア対応

コンテナベースの配布により、Ubuntu 18.04 や glibc < 2.29 の環境、各種中国製 OS でも動作可能。AMD GPU や海光 DCU への対応も進行中。なお、ホスト Python バージョンは 3.10 以上が必須(未満の場合は Conda 環境推奨)。

その他の改善点

  • モデルデプロイ状態の詳細エラーメッセージ表示
  • Hugging Face/ModelScope アクセス時のタイムアウト耐性向上
  • 大容量ログの UI 表示最適化
  • gpustack reset-admin-password コマンドによる管理者パスワードリセット

詳細な変更履歴は GitHub リリースノート を参照。

タグ: GPUStack StableDiffusion Whisper Bark CosyVoice

6月5日 18:30 投稿