project
RedKnot - Xiaohongshuが開発したオープンソースの長文テキスト推論高速化エンジン
RedKnotは、Xiaohongshuが開発したオープンソースの長文テキストLLM推論高速化エンジンです。アテンションヘッダーの次元に基づいてKVキャッシュを分離し、オフラインでグローバルに再計算が必要なグローバルヘッダーとローカルで再利用できるローカルヘッダーに分類します。SegPagedAttenと組み合わせることで、...
RedKnotとは何ですか?
RedKnotは、Xiaohongshuが開発したオープンソースの長文テキストLLM推論高速化エンジンです。アテンションヘッド次元に基づいてKVキャッシュを分離し、グローバルな再計算が必要なグローバルヘッドとローカルで再利用可能なローカルヘッドにオフラインで分類します。SegPagedAttentionと組み合わせることで、ヘッドごとのページ分割ストレージと可変長アテンションカーネルの融合を実現し、attn_maskによるカーネルペナルティを回避します。また、RedKnotはスパースFFNを導入し、アテンションスコアの高いトークンに対して密な計算を実行することで、短いコンテキストのFFNのボトルネックを解消します。
RedKnotの主な機能
-
頭部分類スパースオフラインでは、各ヘッダーペアは、グローバルな再計算が必要なグローバルヘッダーと、ローカルで再利用できるローカルヘッダーに分類され、オンラインのオーバーヘッドなしにリクエスト間の安定性が確保されます。
-
場所を選ばないKV多重化同じ文書断片がプレフィックス以外の位置に現れた場合、事前に計算されたKVキャッシュを再利用できるため、従来のプレフィックスマッチングの制限を打破できます。
-
スパースFFNアクセラレーション最も高いアテンションスコアを持つ上位k個のトークンに対して高密度FFN計算が実行され、残りのトークンは残余同一性パスに従うことで、短いコンテキストFFNのボトルネックが直接的に軽減されます。
-
SegPagedAttentionストレージKVキャッシュを密なテンソルからセグメント化されたページネーションストレージに変更し、各ヘッダーに実際に必要なトークンのみを物理的に保持するようにします。
-
弾性スパース性回復浅層では、初期の残差流量を保護するために、保守的な局所的注意機構と密なFFNを使用し、深層では、精度と効率のバランスを取るために、グローバルな水頭再計算と疎なFFNを使用します。
-
アーキテクチャに依存しないランタイムPROFILE、BUILDSTATE、SELECTVISIBLESTATE、EXECUTEという4つのアダプタインターフェースを通じて、GQA、MoE、MLAなどのさまざまなアテンションアーキテクチャをサポートします。
WeChatでフォローして「オープンソース「、参加するAIオープンソースプロジェクトに関するディスカッショングループ
RedKnotの技術原則
-
ヘッダーによるKVキャッシュの分離従来のシステムでは、KVキャッシュを密な[B,H,L,D]テンソルとして扱います。RedKnotは、異なるアテンションヘッドの有効なコンテキスト範囲と重要性が大きく異なることを発見し、キャッシュシステムをヘッド次元に沿って分割しました。
-
ヘッドレベルのスパース性がトークンレベルのスパース性を置き換えるトークンレベルの復元では、各ヘッダーから重要なトークンの和集合を取得する必要があり、データ量が膨大になるという問題がありました。RedKnotは、復元処理をヘッダーごとに行うように変更し、グローバルヘッダーの一部のみを再計算し、ローカルヘッダーを直接再利用することで、精度とレイテンシのジレンマを回避しました。
-
FFNとアテンション直交最適化短いコンテキスト(2~8K)では、FFNはTTFTの57~62%を占めますが、これはアテンション最適化では達成できません。RedKnotは、アテンションシグナルを介してFFNを実行する重要なトークンを選択し、KVスパース性との乗法的な重ね合わせ効果を形成します。
-
ページングストレージはマスクペナルティを排除しますattn_mask を使用した高密度レイアウトでは FlashAttention の高速パスが無効になり、カーネルパフォーマンスが 4.9 ~ 7.6 倍低下します。SegPagedAttention はヘッドベースのページネーションを使用し、varlen カーネルと組み合わせて使用されますが、処理全体を通してマスクは構築されません。
-
段階的弾力性戦略このモデルは浅い局所的ヘッドの割合が高く、意味選択性が弱いため、保守的な回復によってエラーの伝播を防ぎます。深い全体的ヘッドの割合が増加し、注意がより集中するため、スパース戦略によって最大のメリットが得られ、精度の低下が最小限に抑えられます。
RedKnotの使い方
-
オフラインポートレート分類対象モデルで実行
PROFILEオフラインでテストされたインターフェースは、それぞれをテストします。(layer, head)グローバルまたはローカルとして分類されるヘッダーについては、後続のリクエストでオーバーヘッドなしで再利用できる安定したヘッドクラスマップが生成されます。 -
事前に構築された再利用可能な状態:使用
BUILDSTATEこのインターフェースは、頻繁に使用されるドキュメントの断片をKVキャッシュとして事前に計算し、ヘッダーの寸法に応じてページごとにグローバル/ローカルKVプールに格納することで、場所に依存しないオフラインでの事前構築を実現します。 -
動的な状態選択オンラインリクエストが受信されると、
SELECTVISIBLESTATEクエリのセマンティクスとヘッドクラスマップに基づいて、インターフェースは再利用する必要のあるローカルヘッダーのキーと値のペア、およびキャッシュプールから再計算する必要のあるグローバルヘッダーの範囲を選択します。 -
融合推論の実行: 電話
EXECUTEインターフェースはグローバルヘッダーに対して完全なアテンション再計算を実行し、それをオンラインKVキャッシュに書き込みます。ローカルヘッダーはページ分割されたKVを直接再利用し、ローカルアテンションを実行します。同時に、スコアの低いトークンについてはFFN計算をスキップし、残余パスを使用します。 -
サービス指向の展開と統合GitHubリポジトリより
https://github.com/rednote-machine-learning/RedKnotSGLangをベースとしたソースコードを取得し、4つの主要なアダプタインターフェース仕様に従って既存の推論サービススタックに接続することで、オンライン化します。
RedKnotの主な利点
-
ヘッドツーヘッド分離のきめ細かなアライメント従来のトークンレベルの高密度KVキャッシュの抽象化を打破し、ストレージ、計算、リカバリの粒度をアテンションヘッド次元に統一することで、ワークロードの実際のヘッドスパース構造に適合させます。
-
オンラインのオーバーヘッドが一切ないオフラインポートレートグローバルヘッダーとローカルヘッダーの分類はリクエスト間で非常に安定しており、オフラインプロファイリング操作は1回のみで済みます。オンライン実行時には、アプリケーションは推論遅延を追加することなく、テーブルを直接参照します。
-
ヘッドレベルのリカバリがトークンレベルのリカバリに取って代わるグローバルヘッダーの約12~15%のみが再計算され、ローカルヘッダーの85~88%が直接再利用されるため、トークンレベルのユニオン展開によって引き起こされる過剰な再計算を回避しつつ、連鎖的なエラーの伝播を排除します。
-
スパースFFN直交加速: 高いアテンションスコアを持つ上位k個のトークンに対して密なFFNを実行し、残りのトークンについては残差パスを採用します。これにより、短いコンテキストにおけるTTFTの57~62%を占めるFFNのボトルネックが直接的に軽減され、アテンション最適化との相乗的な重ね合わせ効果が得られます。
RedKnotのプロジェクトアドレス
- GitHubリポジトリ:https://github.com/rednote-machine-learning/RedKnot
- arXiv技術論文:https://arxiv.org/pdf/2606.06256
RedKnotの類似製品の比較
| 比較対象寸法 | RedKnot | CacheBlend |
|---|---|---|
| コアポジショニング | 分離型KVキャッシュ管理システム | 場所を選ばないKVキャッシュハイブリッド多重化システム |
| まばらな粒 | 頭部に注意してください。 デカップリング、グローバルヘッダーの再計算、およびローカルヘッダーの再利用 | トークンを押す 再計算するサブセットを選択してください。すべての見出しは同じトークンセットを共有します。 |
| KV再利用範囲 | 任意のポジション(ポジション非依存型PIC) | 任意の位置(接頭辞以外のセグメント) |
| オンライン支出 | ゼロ(オフラインで一度だけ使用されるヘッダー画像。リクエスト間で再利用されます。) | (トークンのサブセットのオンライン選択と混合) |
| FFN最適化 | 疎なFFN(上位k個の最も重要なトークンのみを対象とする計算) | なし |
| 収納レイアウト | ヘッダーによるページネーション(SegPagedAttention)、物理的にスパース | 密なテンソル + attn_mask、論理的には疎 |
| カーネル効率 | attn_mask は使用せず、FlashAttention の高速パスを使用します。 | attn_maskの構築、SDPAスローパス、カーネルペナルティ4.9~7.6倍 |
| 浅い回復 | 局所的な注意機構と高密度FFNを用いた浅い保守的なアプローチで残余流を保護する | 浅いトークン連合のインフレーションでは、多数のトークンを再計算する必要がある。 |
| 精度性能 | 通常、これは密度の高いベースラインF1の95%以上であり、長いテキストではそれを超えることもあります。 | 浅い層では誤差が大きく、その精度は再計算されたトークンの割合に依存する。 |
RedKnotの応用事例
- RAG長文ドキュメントに関する質疑応答数万もの検索断片をプロンプトに組み込み、位置に依存しないキー値再利用とヘッドレベルのスパースリカバリを使用することで、長文テキストの事前入力遅延を数十秒から数秒に短縮できます。
- プログラミングエージェントの複数ラウンドツール呼び出しツールを数十回連続して呼び出し、履歴コンテキストを蓄積することで、TTFTの半分以上を占めるFFNのボトルネックを、スパースFFNを使用することで直接的に軽減できます。
- ロングセッションメモリシステムユーザーメモリ、ツール出力、履歴状態を長いコンテキストに統合し、それらを直接再利用することで、1枚のカードの同時実行数を4から30以上に増やすことができる。
- マルチエージェントコラボレーションフレームワーク複数のエージェントがコンテキストの断片を動的に交換および再配置でき、位置に依存しないキーと値の再利用により「接頭辞が一致しなければならない」という制約が解消され、繰り返し事前入力する必要がなくなります。
- リアルタイムストリーミング長文テキスト生成ローカルヘッダーは、最近使用したページネーションのキーと値のペアを直接再利用する一方、グローバルヘッダーは必要に応じて再計算されるため、128Kのコンテキストでも最初の単語の遅延が少なく、生成の安定性が高い状態を維持します。