はじめに
プレフィックスキャッシュは、トークンのプレフィックスを共有するKV値を再利用することで推論を高速化する。完全アテンション機構では、共有プレフィックスのKVが一度計算されると、後続トークンの追加時もそのまま有効であり続ける。その後、同じプレフィックスを持つリクエストはprefillフェーズで再計算することなくこれらのKVを直接再利用できる。SGLangはトークン列をキーとするradix木によってこのマッピングを追跡している。
ハイブリッドモデルは単一の再利用ルールを破る。リクエストには完全アテンションKV、スライディングウィンドウアテンションKV、リカレント状態が同時に含まれる場合があり、それぞれ再利用の境界が異なる。完全アテンションKVはマッチしたプレフィックス全体で再利用可能で、スライディングウィンドウアテンションKVは末尾のウィンドウのみをカバーし、リカレント状態は正確なプレフィックスチェックポイントでのみ有効である。これらはトークンプレフィックスを共有しながら、再利用境界が異なる。
主要なハイライト
- キャッシュクラスのマトリクスを単一木で置き換え:完全アテンション、スライディングウィンドウ、Mambaチェックポイントが一つのradixトポロジーを共有し、各コンポーネントが独自の再利用セマンティクスを実行する。
- フックにより木のコアを汎用に保つ:コンポーネントがマッチング、分割、挿入、ロック、エビクションを制御するため、新しいハイブリッドの組み合わせに対して新たな木の実装が不要。
- HiCacheがコンポーネントのライフサイクルにネイティブ統合:マルチターンベンチマークにおいて、L3によりDeepSeek-V4-FlashとInkling-Smallのヒット率をそれぞれ98%と96.8%に維持。
- セッションアクティビティによるエビクションの誘導:SWE-benchテストにおいて、セッション対応設定が通常のLRU HiRadixCacheと比較してTTFTを2.9%〜16.6%削減。
単一木と組み合わせ可能なコンポーネント
Unified Radix Cacheは共有プレフィックスを単一のradixトポロジーにマッピングし、各再利用ルールはTreeComponentに対応する。FULLコンポーネントは常に存在し、SWAはハイブリッドスライディングウィンドウ用、MAMBAはリカレント層用である。DeepSeek-V4はFULL+SWAを組み合わせ、Kimi-K3はFULL+MAMBAを組み合わせ、Inklingは三種類すべてのコンポーネントを使用する。
安全な再利用境界の探索
プレフィックスマッチング時、UnifiedTreeCoreはFULLパスに沿って走査し、各ノードを候補境界とする。すべてのアクティブなコンポーネントのバリデータが受け入れた場合のみ境界が進む。コンポーネントの投票によって、走査深度と再利用可能なプレフィックス深度が分離される。
メモリ階層をまたぐネイティブHiCache
コンポーネントが再利用可能なコンテンツを決定し、HiCacheがワークロードの配置先を決定する。Unified Radix CacheはGPU L1、ホストL2、外部L3の各層にわたって同一のコンポーネント識別を維持する。DeepSeek-V4ではFULLとSWAがコンポーネントであり、他のプールはソースプールのインデックスに従うsidecarとして追従する。


© 2026 Winzheng.com 赢政天下 | 转载请注明来源并附原文链接