FlashMemory, DeepSeek-V4의 KV Cache를 13.5%로 절감

긴 컨텍스트 모델은 거대한 문제에 직면해 있습니다. 한계는 수학적 연산이 아니라 메모리입니다.

토큰이 추가될수록 KV cache는 커집니다. 500,000 토큰에 도달하면 캐시는 엄청나게 비대해집니다. 이는 모든 GPU 메모리를 점유하며, 이로 인해 긴 컨텍스트를 처리하는 비용이 비싸지고 속도가 느려집니다.

FlashMemory-DeepSeek-V4라는 새로운 논문은 Lookahead Sparse Attention (LSA)를 통해 이 문제를 해결합니다.

작동 방식은 다음과 같습니다:

기존 모델은 dense KV cache를 사용합니다. 과거의 모든 정보를 메모리에 유지합니다. 이는 단 한 문장을 읽기 위해 책상으로 도서관 전체를 옮겨오는 것과 같습니다.

LSA는 다르게 작동합니다. Neural Memory Indexer를 사용합니다. 이 인덱서는 비서처럼 작동하여, 현재 필요한 과거의 특정 부분이 무엇인지 예측합니다. 그리고 그 특정 부분들만 책상으로 가져옵니다.

DeepSeek-V4에 적용한 결과는 놀랍습니다:

  • 물리적 메모리 점유율이 기존 크기의 13.5%로 감소합니다.
  • 이는 500,000 토큰 기준 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