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)の最適化済みプリセット構成で、複雑なデプロイパラメータを置き換えます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト