AI・機械学習
DeepSeek-v4.1 Flash: KVキャッシュ圧縮の限界を押し広げる
DeepSeek-v4.1 Flash: Pushing the Limits of KV Cache Compression (zartbot.github.io)
要約
DeepSeek-v4.1 Flashは、KVキャッシュ圧縮を極限まで追求した大規模言語モデルです。長大なコンテキスト処理とツール呼び出しによる計算負荷増大という課題に対し、モデルアーキテクチャの最適化、特にKVキャッシュの圧縮とPrefill計算の効率化に注力しています。これにより、KVCacheストレージを4倍に圧縮しつつ、高いタスク完了品質を維持しています。
全文翻訳
TL;DR DeepSeek-V4.1 Flashがリリースされたとき、私は単なるポストトレーニングのイテレーションバージョンだと思っていました…しかし、しばらく使ってみると、速度が約420トークン/秒に達し、その後CuiがすべてのDeepSeek-V4 Proモデルがオフラインになると言ったとき…突然、これは大したことではないと感じました…テクニカルレポート《DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression》[1]が完全にリリースされるまで、私はそれがDeepSeek-V5 Flashと呼ばれるべきだと気づきませんでした…論文のタイトルが示すように、DeepSeek-V4.1 Flashの目的はKVCache圧縮を極限まで押し広げることです。主な理由は、Long-horizon Agent Workflowsがコンテキストをますます長くし、さまざまなツール呼び出しが重いPrefill計算圧力を引き起こすことです。HBMと外部SSDにおけるKVCacheのストレージ圧力は非常に高く、これらすべてがスケーリングを不可能にする理由です。したがって、モデルアーキテクチャ、特にKVCacheの圧縮とPrefillの計算最適化に一連の最適化が施されました。Prefill計算最適化: YOCOから着想を得て、モデル全体は40層で、Prefill中は20層のみが必要です。そのため、Prefillでアクティブ化されるパラメータはわずか8B、Decodeでアクティブ化されるパラメータは16Bです。KVCache圧縮: エンジニアリングの観点から、KVCache圧縮はいくつかの次元に分けられます。GQAに似たヘッド数圧縮、CSAのようなブロックベース圧縮、そしてこの論文のCSA2のクロスレイヤー圧縮です。同時に、Sparse Attentionのインデクサー計算も最適化されています。最後に、数値精度に関する最適化がいくつかあります。例えば、DS41FはFP4 KVCacheを採用しています。最終的に、モデルの高い品質のタスク完了を前提として、KVCacheは4倍にさらに圧縮されます。さらに、論文の元の記述はやや複雑で、特にCEDの説明はそうです。実際、KVCacheを中心に、コンピュータアーキテクチャの視点を組み合わせて図を描き直すと、すべてが明確になるようです。これは一種のRecursive Transformerアーキテクチャ、再帰プロセス中にQを変更しKVを再利用する方法と見なすことができます。Recursive Transformerアーキテクチャについては、《On the Future Transformer: Loops Are Not What You Need》を参照してください。次に、テクニカルレポートの章立てに従って詳細な解釈と分析を行います。この記事はシリーズの最初のもので、モデルアーキテクチャを詳細に分析しており、より重要な内容は第3章にあります。
1.概要
1.1 なぜKVCache圧縮が必要なのか
まず、レポートでは近年、Long-horizon Agentsが超長コンテキスト処理をますます重要なモデルワークロードにしていると述べています。この種のワークロードをサポートするには、長いシーケンスの効率的な処理だけでなく、大規模なKVCacheの永続的なストレージ、再利用、転送も必要です。したがって、KVCache管理はモデル展開の基本的な能力となっていますが、計算、ストレージ、通信において大きな課題をもたらしています。次に、DeepSeek-V4アーキテクチャを紹介します。これは、コンテキストを完全にカバーするSparse AttentionとローカルウィンドウをカバーするSliding Window Attention (SWA)を組み合わせて処理します。Sparse Attentionに関連する進歩は、長シーケンス処理の計算コストを大幅に削減しましたが、永続的なストレージとデータ移動が徐々に顕著なボトルネックになっています。長コンテキストでは、Global KV Cacheの使用が支配的になり、プレフィックスの再利用のために永続化されるため、ホストメモリ容量とSSD容量を大量に占有し、KVCache移動のための相互接続帯域幅にも高い要求を課します。これらはサービスのスループットを制限し、展開コストを増加させ、最終的にはエージェントのより長いタスクスパンとより広いアプリケーションシナリオへの展開と普及を妨げます。したがって、KVCacheフットプリントをさらに削減することは、ストレージと通信のボトルネックを緩和し、長コンテキストサービングコストを削減するために重要です。DeepSeek-V4.1-Flashは、より積極的なKVCache圧縮のために設計されたマルチモーダル混合エキスパートモデルです。DeepSeek-V4.1-Flashは552Bのパラメータ規模を持ち、ネイティブにマルチモーダル入力をサポートし、最大100万トークンのコンテキストをサポートします。これはCausal Encoder-Decoder (CED)アーキテクチャを採用しており、DecoderのGlobal KVCacheはEncoderの最終隠れ状態を投影することで取得されます。この設計により、モデルはPrefillステージでトークンあたり8B、Decodingステージで16Bのパラメータをアクティブ化し、特に入力主導のエージェントシナリオでコスト効率が高くなります。DeepSeek-V4.1-FlashはDeepSeek-V4-Flashよりも大幅に大きいにもかかわらず、同じシーケンス長では、必要なランタイムKVCacheストレージは後者の約1/4、永続KVCacheストレージは後者の約1/8にすぎません。さらに、DeepSeek-V4.1-Flashの全体的なパフォーマンスはDeepSeek-V4-Flashよりも優れています。これらのKVCacheの圧縮は、主にモデルアーキテクチャ、キャッシュ精度、および展開戦略の共同最適化から来ています。DSv4はSWAをバックボーンとし、グローバル圧縮アテンション(CSA/HCA)で強化されたモデルです。この観点から、DeepSeekチームは一連の最適化を実施しました。まず、HCAのようなブロックベースの高圧縮率構造を放棄し、代わりにCSAにさらなる最適化を施してCSA2を形成したことに注意すべきです。主な最適化は、KV Cacheを3つの次元から圧縮します。チャネル次元では、512次元の潜在ベクトルを使用して、各アテンションヘッドが必要とするキーと値の表現を共有します。シーケンス次元では、Encoderはチャネルごとの学習済み重みを通じて2つの隣接する位置を1つのキャッシュエントリにマージしますが、Decoderは位置ごとのエントリを保持します。レイヤー次元では、複数のレイヤーが同じグローバルKVを共有し、ネットワーク全体でEncoderキャッシュの3つのコピーとDecoderキャッシュの1つのコピーのみを保持します。FP4量子化と組み合わせると、グローバルメインKVとインデクサーのストレージ増加は、トークンあたり約890バイトです。
1.2 モデルアーキテクチャの概要
全体的なモデルアーキテクチャは次のとおりです。論文によると、バックボーンパラメータは約、Engramパラメータは約、PrefillおよびDecodeのトークンあたりのアクティブ化パラメータはそれぞれ約およびです。コアは、CEDを使用して長コンテキストPrefill計算を削減し、CSA2を使用してアテンションとKVキャッシュのオーバーヘッドを削減し、次にEngram条件付きメモリとDSpark投機的デコーディングを組み合わせることです。モデルは層、隠れ次元、語彙サイズを持ちます。各層にはアテンションとMoEが含まれており、mHC残差接続を通じて編成されています。全体のアテンションメカニズムは、EncoderとDecoderの2つのモジュールに分かれており、Causal Encoder-Decoder (CED)アーキテクチャを形成します。CEDの鍵は、DecoderのグローバルKVがEncoderの末端表現から取得され、後続のDecoder層がこれらのKVを共有することです。したがって、長いプロンプトのほとんどの位置は最初の20層のみを通過する必要があります。その中の主要なCSA2は、ローカルスライディングウィンドウ+グローバルスパース検索+クロスレイヤーKVCache再利用のメカニズムを採用しています。スライディングウィンドウサイズは128、アテンションはQヘッドを使用し、次元KV潜在を共有します。そのうち、RoPEは次元、NoPEは次元です。Qはランクの低ランク投影を使用し、出力投影はグループに分割され、各グループのランクはです。モデル全体の関連パラメータは次のとおりです。
カテゴリ | フィールド | 値 | 意味
---|---|---|---
バックボーン | dim | 5120 |
隠れ次元 | n_layers | 40 |
最初の20層 | Encoder |
最後の20層 | Decoder |
n_mtp_layers | 3 | DSpark 3
SWA-128ブロック |
語彙サイズ | vocab_size | 129280 |
アテンション | n_heads | 64 |
head_dim | 512 |
潜在次元 | rope_head_dim | 64 | RoPEコンポーネント次元
| NoPEコンポーネント |
| q_lora_rank | 1280 |
o_lora_rank / o_groups | 1024 / 8 | 出力投影分割