FlashMemoryがDeepSeek-V4のKVキャッシュを13.5%に削減
長文コンテキストモデルは、巨大な問題に直面しています。限界は計算量ではなく、メモリです。
トークンが増えるにつれて、KVキャッシュは増大します。50万トークンに達すると、キャッシュは膨大なものになり、GPUメモリをすべて使い果たしてしまいます。これにより、長文コンテキストの提供は高コストかつ低速になります。
「FlashMemory-DeepSeek-V4」という新しい論文は、Lookahead Sparse Attention (LSA) を用いてこの問題を解決します。
その仕組みは以下の通りです:
従来のモデルは、高密度(dense)なKVキャッシュを使用します。過去のあらゆる情報をメモリ内に保持するため、これは、たった一行を読むためだけに図書館丸ごとをデスクに運び込むようなものです。
LSAは仕組みが異なります。Neural Memory Indexerを使用します。このインデクサーはアシスタントのように機能します。それは、過去のどの特定の情報が今必要かを予測します。そして、その特定のパーツだけをデスクに持ってくるのです。
DeepSeek-V4における結果は驚異的です:
- 物理メモリのフットプリントが元のサイズの13.5%に減少。
- 50万トークン時において、90%の削減を実現。
- 精度は実際には0.6%向上。
なぜこれが従来の手法よりも優れているのでしょうか?
他のスパースアテンション(sparse attention)手法は、計算時間を節約しますが、キャッシュ全体をメモリに保持し続けます。一方、LSAは実際のギガバイト単位の容量を節約します。キャッシュを保持すること自体を回避するのです。
また、このインデクサーの学習コストは低いです。チームはbackbone-free trainingを採用しました。小さなインデクサーを学習させるために、数兆パラメータのモデルをロードする必要はありません。
これにより、超長文コンテキストモデルを低コストで実行できるようになります。
各手法のまとめ:
- Full KV Cache: 正確だが、膨大なメモリを使用する。
- Sliding Window: メモリ消費は少ないが、古い情報を忘れてしまう。
- Block-Sparse: 計算を節約できるが、キャッシュは大きいまま。
- LSA: 膨大なメモリを節約し、高い精度を維持する。
出典: https://dev.to/pueding/flashmemory-cuts-deepseek-v4s-kv-cache-to-135-lookahead-sparse-attention-5coe
オプションの学習コミュニティ: https://t.me/GyaanSetuAi