Buoyant(Linkerdを開発する企業)は、Kubernetes上で推論プラットフォームを構築するためのオープンソースプロジェクト「Kinference」を公開した。これはvLLMサーバー群の前に配置され、各リクエストをどのサーバーに送信するかを決定する。プロジェクトはApache 2.0ライセンスの下、GitHubでバージョンv0.1.0-alpha.7として配布されている。
vLLM上層の制御レイヤー
Kinferenceは、コンテナオーケストレーションプラットフォームであるKubernetesと言語モデルを実行するエンジンvLLMを組み合わせる。BuoyantのFAQによれば、vLLMはデータプレーンを構成し、Kinferenceは制御プレーンの役割を果たす。同一レイヤー内で、ルーティングポリシー、トークンレート制限、KVキャッシュ(既に実行された計算を保持するメモリ)を考慮したロードバランシング、およびテナント単位のメトリクスを適用する。
システムは2つの要素で構成される:トラフィックゲートウェイと推論マネージャーである。後者はgRPCインターフェースを公開し、リクエストを受信して選択されたエンドポイントと、必要に応じて変更されたリクエストボディを返す。Buoyant Gatewayなどのプロキシと連携して動作する。KinferenceはKVキャッシュのイベントとエンジンのメトリクスを監視し、これらのイベントを処理するためにNVIDIAのcrate dynamo-kv-routerを利用する。その設定は、GatewayBackend、InferencePolicy、InferencePool、InferenceProvider、InferenceWorkerSetの5つのKubernetesリソースに基づいている。
推論ポリシーは、各リクエストがどのようにルーティングまたは拒否されるかを指定する宣言的なルールである。これらはテナント、要求されたモデル、GPUプールの状態、またはセマンティックラベルに基づくことができる。プロジェクトサイトでは、単純なリクエストをより小さいモデルに送信する例や、サーバーの保留リクエストが2件を超えた場合にBedrockのようなクラウドプロバイダーにフォールバックする例など、いくつかの例が紹介されている。ポリシーはgitに保存され、コマンドラインツールkinfctlを使用してオフラインで検証できる。
Buoyantによる測定結果
Buoyantは、Kinferenceを単純なKubernetesのロードバランシングと比較した。各構成では、GPU L40S上でvLLM 0.31.0の3つのポッドを使用し、モデルはQwen3.8-27B-FP8であった。共通のプレフィックスを共有するトラフィックでは、最初のトークンまでの中央レイテンシ(TTFT)は、Buoyantによると6.88秒から0.31秒に低下し、約95%の減少となった。共通プレフィックスがない場合の数値は、6.92秒対6.83秒であり、発行元によれば有意な差はなかった。
キャパシティテストでは、TTFT目標を満たす1分あたりの有効スループットは、共通プレフィックスを持つトラフィックで103.0 req/minに対し14.0 req/minに達し、約7.4倍となった。これらの数値は自己申告によるものである。比較対象はランダムルーティングであり、llm-dやDynamoのようなキャッシュを考慮した他のルーターではない。Buoyantはまた、8秒と4秒の閾値は、チャットボットよりもオフラインエージェントにより適していると補足している。記事とともに公開された比較表では、Kinferenceの特徴的な角度はガバナンス、すなわちポリシー、モデルエイリアス、プロバイダーへのフォールバック、テナントごとの課金であるのに対し、llm-dとDynamoは生のサービス提供においてより高性能と説明されている。
プロジェクトはまだアルファ段階である。レート制限、分類器、Anthropic APIのサポートはまだ提供されていない。
