kaito-project/kaito

Kubernetes AI Toolchain Operator

何を解決するか

KAITOは、Kubernetes上で大規模言語モデル(LLM)をデプロイおよび管理する複雑なプロセスを簡素化します。ユーザーが詳細なデプロイパラメータ、GPUリソースの割り当て、モデル重みのストレージを手動で設定する必要がなくなり、AIワークロードに必要なインフラストラクチャのオーケストレーションを自動化します。

仕組み

KAITOはカスタムリソース定義(CRD)を用いたKubernetes Operatorパターンを使用してワークロードを管理します:

  • Workspace:LLMのデプロイを自動化します。モデルとハードウェアに基づいてGPUメモリ要件を推定し、Karpenter APIを介してノードの自動プロビジョニングをトリガーし、最適化されたスケジューリングパラメータで推論エンジン(現在はvLLM)を構成します。
  • InferenceSet:リクエスト負荷に基づく自動スケーリングを可能にするために、モデルのレプリカを管理し、KEDAと統合してメトリクスベースのスケーリングを実現します。
  • InferencePool:Gateway API Inference Extensionと統合し、KVCacheを意識したルーティングを可能にし、効率的なリクエスト処理を実現します。
  • RAGEngine:Retrieval Augmented Generation(RAG)サービスのデプロイを簡素化する別々のOperatorで、LLMエンドポイント、埋め込みサービス、およびベクトルデータベース(FAISS、Qdrant、Milvusなど)を調整します。

対象ユーザー

GPUインフラストラクチャやスケーリングロジックを手動で管理せずに、Kubernetes上でLLMやRAGパイプラインをデプロイする必要があるプラットフォームエンジニアやDevOpsチーム。

特徴

  • GPUプロビジョニングの自動化:ノードの自動プロビジョナーを使用して、正確なメモリ推定に基づき最適なGPUノード数を選択します。
  • vLLM対応:vLLMと互換性のある任意のHuggingFaceモデルをサポートします。
  • ローカルNVMeストレージ:GPUノードの組み込みローカルNVMeを活用してモデルストレージを実現し、追加のストレージオーバーヘッドを回避します。
  • 統合RAGスタック:LlamaIndexを用いた包括的なRAGオーケストレーションを提供し、Reciprocal Rank Fusion(RRF)によるハイブリッド検索(BM25とベクトル密度検索)を実現します。
  • 簡素化されたAPI:並列性(PP、DP、TP)の最適化済みプリセット構成で、複雑なデプロイパラメータを置き換えます。

関連

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