연구진이 DeepSeek의 희소 어텐션(DSA)에서 라이트닝 인덱서가 만드는 지연을 줄이는 다층 인덱서(Multi-layer Indexer, MLI)를 arXiv 논문으로 공개했다. 재학습이나 새 가중치 없이 적용된다. 논문에 따르면 MLI를 적용한 IndexCache는 인덱서를 유지하는 층의 비율(retention)이 같을 때 기존 IndexCache 단독보다 빠르며, retention 1/2에서 DeepSeek-V3.2의 디코딩이 최대 14.5% 빨라졌다.
DSA는 DeepSeek-V3.2와 GLM-5 계열이 쓰는 어텐션이다. 층마다 앞단의 인덱서가 캐시 전체에 점수를 매겨 상위 2048개 토큰만 고르고, 그 층은 선택된 토큰에만 어텐션을 계산한다. 논문은 긴 문맥에서 디코딩 시간이 주로 어텐션이 아니라 이 인덱서의 스캔에 쓰인다고 지적한다.
인접한 층은 거의 같은 토큰을 고른다. MLI는 이 점을 이용해 한 층이 자기 인덱서 대신 앞선 인덱서 층의 선택 결과를 가져다 쓰게 한다. 층 사이의 의존이 사라지므로 각 인덱서가 해당 층의 어텐션과 동시에 실행된다.
기본 구현은 커널을 바꾸지 않고 SGLang의 실서비스 디코드 그래프 안에서 돌아간다. DeepSeek-V3.2에서는 선택 사항인 융합 디코드 커널로 더 빠르게 할 수 있다.
MLI는 GLM-5.2가 IndexShare라는 이름으로 탑재한 층 간 재사용 기법 IndexCache와 함께 쓸 수 있다. IndexCache는 일부 층에서 인덱서를 아예 없애고, MLI는 남은 층의 스캔 시간을 가린다. 연구진은 인덱서를 유지하는 층의 비율(retention)을 1/2에서 1/32까지, 문맥 길이를 10K에서 195K까지 바꿔 DeepSeek-V3.2와 GLM-5를 IndexCache의 실험 규약대로 서빙했다.
| retention | DeepSeek-V3.2 | GLM-5 |
|---|---|---|
| 1/2 | 최대 14.5% | 최대 9.8% |
| 1/4 | 최대 7.9% | 최대 5.1% |
향상폭은 IndexCache가 인덱서를 가장 많이 남기는 설정에서 가장 크고, 문맥이 길수록 커진다. retention 1/r에서 MLI를 적용한 IndexCache는 1/(2r)의 IndexCache 단독보다도 빠르면서 새로 고르는 선택 횟수는 두 배로 유지한다. 128K 문맥에서 retention 1/4로 MLI를 적용한 IndexCache는 원래 모델 대비 디코딩 처리량 1.32배로, IndexCache 단독 1/8의 1.28배를 넘었다.
LongBench, RULER, LongBench v2의 정확도는 IndexCache와 몇 퍼센트포인트 안에서 비슷했다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.