Sparse KV Cache로 어텐션 스케일링 문제 해결
표준 어텐션 모델은 긴 시퀀스를 처리하는 데 어려움을 겪습니다. 텍스트가 길어질수록 메모리와 연산 비용이 너무 빠르게 증가하기 때문입니다. 이로 인해 컨텍스트 윈도우(context window)는 수천 토큰 정도로 제한됩니다.
Sparse KV cache는 이 문제를 해결합니다. 이는 이차 함수적(quadratic) 비용을 거의 선형적(linear) 비용으로 전환합니다. 모든 메모리 블록을 스캔하는 대신, 각 쿼리는 데이터의 작은 하위 집합만을 확인합니다.
이러한 변화 덕분에 단일 GPU에서도 거대한 컨텍스트 윈도우를 실용적으로 사용할 수 있게 됩니다.
MiniMax 연구의 주요 결과:
• MSA는 100만 토큰 컨텍스트에서 토큰당 어텐션 연산량을 28.4배 줄여줍니다. • KV 메모리 사용량이 최대 50%까지 감소합니다. • Perplexity는 dense 모델과 동일하게 유지되어, 정확도 손실이 없습니다. • H800 GPU에서 Prefill 속도가 14.2배 빨라집니다. • H800 GPU에서 Decoding 속도가 7.6배 빨라집니다.
이러한 속도 향상은 새로운 Top-k 셀렉터와 개선된 텐서 코어(tensor-core) 활용 덕분입니다.
고려해야 할 트레이드오프(trade-offs)도 있습니다. 이 결과는 특정 109B 파라미터 모델을 기준으로 한 것입니다. 이러한 이점이 모든 하드웨어나 모델 유형에서 동일하게 적용될지는 아직 알 수 없습니다. 또한, 이 방식은 관련 토큰이 특정 범위 내에 머문다는 가정을 전제로 합니다. 전역적 어텐션(global attention)이 필요한 작업에서는 문제가 발생할 수 있습니다.
만약 이 방법들이 널리 적용된다면, 표준 GPU에서도 컨텍스트 윈도우를 2~3배 늘릴 수 있습니다. 추가 하드웨어 없이도 전체 저장소(repository)에 대한 코드 분석을 수행하거나 긴 대화 메모리를 유지할 수 있게 됩니다.
Source: https://dev.to/olaughter/sparse-kv-caches-cut-attention-scaling-795
Optional learning community: https://t.me/GyaanSetuAi