powered by TechFeed
表示モード
Deep Dive

KVキャッシュを永続化で前世代比1/8に圧縮——DeepSeek-V4.1 Flashの新アーキテクチャが長文脈エージェントのコストをどう変えるか

9月17日、エンジニアのzartbotが「DeepSeek-V4.1 Flash: Pushing the Limits of KV Cache Compression · zartbot」と題した記事を公開した。DeepSeek-V4.1 FlashのKVキャッシュ圧縮を中心としたモデルアーキテクチャの詳細を、テクニカルレポートの全文をもとに解説したものだ。

9月17日、エンジニアのzartbotが「DeepSeek-V4.1 Flash: Pushing the Limits of KV Cache Compression · zartbot」と題した記事を公開した。DeepSeek-V4.1 FlashのKVキャッシュ圧縮を中心としたモデルアーキテクチャの詳細を、テクニカルレポートの全文をもとに解説したものだ。

zartbotは当初、同モデルをポストトレーニングの派生版程度に見ていたという。だが実際に使うと推論速度は約420 Tokens/sに達し、その後のテクニカルレポート公開で実態が明らかになった。前世代のDeepSeek-V4-Flashと同一シーケンス長で比較した場合、ランタイムKVキャッシュストレージは約1/4、永続化KVキャッシュストレージは約1/8にまで削減されている。zartbotはそのインパクトの大きさから「DeepSeek-V5 Flashと呼ぶべき一作」と表現しているが、その評価は単なる誇張ではない。KVキャッシュ圧縮を軸にアーキテクチャを根本から再設計した結果が、この数字に現れている。

なぜ今KVキャッシュ圧縮が重要なのか

背景にあるのはLong-horizon Agent Workflowの台頭だ。エージェントが複数ツールを呼び出しながら長時間タスクをこなすと、コンテキストは際限なく伸び、KVキャッシュのHBM(高帯域幅メモリ)やSSD上のストレージ消費と、それに伴う通信帯域の圧迫が深刻なボトルネックになる。スループットが頭打ちになり、デプロイコストが跳ね上がる。この問題を解決しない限り、エージェントの長タスク化・大規模展開は難しい。DeepSeek-V4.1 Flashはこのボトルネックをアーキテクチャレベルから解消しようとした設計だ。

モデルの基本スペック

パラメータ規模は552B。ネイティブのマルチモーダル入力に対応し、最大100万トークンのコンテキストをサポートする。主なパラメータは以下の通りだ。

項目
総層数 40(前半20:Encoder、後半20:Decoder)
隠れ次元 5120
語彙サイズ 129,280
ルーティングエキスパート数 / 活性化数 384 / Top-6
コンテキスト長 最大1Mトークン
KVレイテント次元 512
スライディングウィンドウサイズ 128

圧縮の要:CEDとCSA2

Causal Encoder-Decoder(CED)でPrefillコストを半減

KVキャッシュ圧縮の根幹を担うのがCausal Encoder-Decoder(CED)アーキテクチャだ。全40層のうち前半20層がEncoder、後半20層がDecoderという構成を採る。DecoderのグローバルKVをEncoderの最終隠れ状態から射影して生成し、後続のDecoder層がそのKVを共有する設計だ。これにより、長いプロンプトの大部分は前半20層だけを通過すればよくなる。

結果として、Prefill時の活性化パラメータは8B、Decode時は16Bに抑えられる。ツール呼び出しが多く入力側の計算が支配的なエージェントシナリオでは特にコスト効率が高い。zartbotはこの設計を、YOCO(You Only Cache Once)の考え方——「KVキャッシュを一度だけ生成して全層で再利用する」——を参考にしたものと位置づけており、「Recursive Transformerアーキテクチャの一形態」として整理している。

CSA2:3次元同時圧縮でKVをさらに削る

CEDと組み合わさるのがCSA2(Cross-layer Sparse Attention 2)だ。チャネル・シーケンス・レイヤーの3軸で圧縮を行う。

チャネル次元:各アテンションヘッドのキーとバリューを512次元の潜在ベクトルで共有表現する。

シーケンス次元:Encoderでは隣接する2ポジションを1キャッシュエントリに統合する(チャネル方向の学習済み重みを使用)。Decoderはポジション単位で保持。

レイヤー次元:複数層が同一グローバルKVを共有する。ネットワーク全体でEncoderキャッシュ3コピー、Decoderキャッシュ1コピーのみ保持する設計だ。

CSA2の動作はローカルスライディングウィンドウ(ウィンドウサイズ128)+グローバルSparse Retrieval(Top-K=512)+クロスレイヤーKVキャッシュ再利用の組み合わせで成り立っている。FP4量子化も組み合わせることで、グローバルKVとIndexerのストレージ増加量はトークンあたり約890バイトに抑えられている。この3軸圧縮の積み重ねが、前述の「永続化KVキャッシュ1/8」という数字の正体だ。

その他の主要コンポーネント

圧縮以外にも、スループットと品質を両立させるための仕掛けが複数ある。いずれもzartbotが元記事内でテクニカルレポートをもとに命名・整理したコンポーネントだ。

mHC(multi-Head residual Channels):各トークンが4本の残差ストリームを保持する設計。複数の表現を並列に持つことで情報のボトルネックを緩和する狙いがある。残差混合行列をSinkhorn反復(20回)で近似二重確率行列に制約し、前サブレイヤーが生成した混合係数を使い回すことで現在の係数計算の依存を外し、カーネルフュージョンを容易にしている。

DSpark(投機的デコード):追加の3層SWA-128ドラフトブロックで構成。Top-3-of-128の小規模MoEを各層に採用し、バックボーンの特定層(37〜39層)の4残差ストリーム平均を読み込んで5ポジション分のドラフトを一括並列生成する。Markovヘッドで依存関係をモデル化し、信頼度ヘッドが検証長を決定する投機的デコードの仕組みにより、実効スループットを引き上げる。

Engram(条件付きメモリ):層1と層14に注入。最大約16Mエントリのテーブルを用いてN-gram(最大4次)単位のエンベディングを取得し、頻出パターンの予測効率を高める。

Vision Branch:32層・隠れ次元1024のViT(Vision Transformer)、パッチサイズ14。3×3のピクセルアンシャッフルで9倍のトークン削減を行い、1画像あたり最大1024トークンに制限している。

スケーリング特性

zartbotによれば、コンテキストが伸びるにつれてDeepSeek-V4.1 Flashの必要計算量は1Mトークンの範囲内でほぼ線形に増加し、前世代モデルと比べて計算オーバーヘッドが大幅に小さい。圧縮率の向上がそのまま長文脈でのコスト優位性につながる設計になっており、エージェントワークフローの大規模展開を検討する上での現実的な選択肢として浮上してくる。なお、マルチモーダルの画像処理パイプラインを含むアーキテクチャの詳細については、本シリーズの後続記事でさらに掘り下げられる予定とのことだ。

詳細はDeepSeek-V4.1 Flash: Pushing the Limits of KV Cache Compression · zartbotを参照していただきたい。