ome-projects/ome

Open Model Engine (OME) — Kubernetes operator for LLM serving, GPU scheduling, and model lifecycle management. Works with SGLang, vLLM, TensorRT-LLM, and Triton

OME (Open Model Engine) – Kubernetes Operator for LLM Serving

何であるか – OME は Kubernetes に特化したコントローラーで、クラスタ内に大規模言語モデル (LLM) をスケールして実行できるようにします。各モデル、ランタイム、GPU リソースを Kubernetes のカスタムリソースとして扱い、モデルのインジェストから推論サービスの展開まで、ライフサイクル全体を自動化します。

主な機能

  • Model CRDs – BaseModel/ClusterBaseModel はモデルファイル(アーキテクチャ、パラメータ数、フォーマット)を記述します。OME はファイルを解析し、多数のフォーマット(SafeTensors、PyTorch、TensorRT、ONNX)をサポートし、二重暗号化とネームスペーススコープでモデルを保存します。
  • インテリジェントなランタイム選択 – OME はモデルの特性に応じて利用可能なランタイム(例:SGLang、vLLM)をスコアリングし、自動的に最適なものを選択します。
  • 最適化されたデプロイパターン – プリフィル/デコードの分離、マルチノード推論、カナリア/ブルーグリーン展開、カスタムオートスケーリングポリシーをサポートします。
  • GPU対応スケジューリング – AcceleratorClass リソースは GPU の能力とコストを記述します。OME のビンパッキングスケジューラは、HA要件を尊重しつつクラスタの利用効率を最大化するようにワークロードを配置します。
  • ファルートレベルのクォータ(alpha) – オプションのコントロールプレーンコンポーネント(ome-quota-manager、ome-alfred)は階層的なGPUクォータツリーを構築し、Kueue に公開して大規模GPUファームでのガングスケジューリングを可能にします。
  • CLI と Web コンソール – kubectl ome(kubectl プラグイン)は、モデル、ランタイム、展開の監視や、一時停止、プロモート、ロールバック、移行などの保護付き操作を実行できます。別途の Web UI(ome-console)は HuggingFace モデル検索を備えた視覚的ダッシュボードを提供します。
  • ベンチマーク – BenchmarkJob CRD は設定可能なトラフィック負荷を実行し、結果を保存し、パフォーマンス比較を再現可能にします。

導入方法

  1. 前提条件 – Kubernetes 1.28+。
  2. CRD とコアオペレーターのインストール – OCI レジストリから Helm を使用して:
    helm upgrade --install ome-crd oci://ghcr.io/moirai-internal/charts/ome-crd --namespace ome --create-namespace
    helm upgrade --install ome oci://ghcr.io/moirai-internal/charts/ome-resources --namespace ome
    
  3. オプションのアドオン – スケジューラ、クォータマネージャ、および「Alfred」ケアテイカーはそれぞれ独立した Helm チャートで、必要に応じて有効化できます。
  4. CLI – Krew を使用して kubectl ome プラグインをインストール:
    kubectl krew install --manifest-url https://github.com/ome-projects/ome/releases/latest/download/ome.yaml
    
    またはソースからビルド(make kubectl-ome)。

一般的なワークフロー

  1. サポートされるバックエンドに格納されたモデルファイルを指す BaseModel(または ClusterBaseModel)を作成します。
  2. OME はモデルを解析し、ServingRuntime を作成(または既存のものを選択)し、AcceleratorClass にマッチさせます。
  3. InferenceService リソースがモデルとランタイムを結びつけます。OME は必要な Pod、Service、Gateway-API ルートを生成します。
  4. KEDA や HPA によるオートスケーリングポリシーと展開ポリシーにより、サービスは応答性を維持し、安全な更新が可能になります。
  5. kubectl ome または Web コンソールを使用して、健全性を監視し、配置決定を確認し、BenchmarkJob を実行します。

プロダクション対応性 – プロジェクトは v1beta1 API を提供し、完全なドキュメント、ユニット/統合テストカバレッジ、RBACベースのセキュリティ、モデル暗号化、HAストレージを備えています。大規模 LLM ワークロードで既にプロダクションで使用されています。

ライセンス – Apache 2.0。


TL;DR – OME はプロダクション対応の Kubernetes に特化したプラットフォームで、モデルインジェスト、ランタイム選択、GPU対応スケジューリング、展開戦略、監視を宣言的 CRD、Helm インストール可能なオペレーター、CLI、および補助的な Web UI を通じて自動化します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト