본문으로 건너뛰기

무작위 선택으로 KV 캐시 축출 비용 줄이기

Random Attention은 Attention 신호 없이 KV 캐시를 무작위로 줄여 추론 정확도와 축출 속도를 비교한 방법입니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

긴 추론에서는 생성 토큰의 Key·Value 표현을 KV 캐시에 계속 보존해야 하므로 메모리 예산이 병목이 되며, 기존 축출기는 Attention 점수나 Value 통계 또는 calibration data를 사용해 남길 토큰을 고릅니다. Random Attention은 프롬프트를 유지한 뒤 각 KV head에서 생성 토큰을 균등 무작위로 선택하고 짧은 recency window를 추가하는 방식으로 캐시를 줄여, 별도 신호 계산 없이 compaction만 수행합니다. MATH-500, GPQA-Diamond, AIME, HMMT, LiveCodeBench에서 Qwen3-4B·14B·32B와 phi-4-reasoning을 평가한 결과, 동일한 예산에서 SnapKV·R-KV·VaSE·TriAttention과 맞먹거나 앞섰으며 Hugging Face harness와 vLLM serving stack 모두에서 가장 빠른 축출기로 측정됐습니다. 저장소에는 축출 엔진, 평가·통계 검정·효율성 벤치마크, vLLM 포트와 메커니즘 연구 도구가 포함되어 있어 논문 수치의 재현과 셀 단위 무결성 검사를 지원합니다.

섹션별 상세

01
긴 추론 모델은 생성 토큰의 Key·Value 표현을 KV 캐시에 누적하므로 정해진 메모리 예산을 넘으면 일부 토큰을 제거해야 합니다. 기존 방법은 Attention 점수, Value 통계 또는 calibration data를 읽어 보존할 토큰을 선택하지만, Random Attention은 프롬프트를 먼저 유지하고 각 KV head에서 생성 토큰의 균등 무작위 부분집합을 선택한 뒤 짧은 recency window를 덧붙입니다. 입력 캐시와 생성 토큰을 예산에 맞춰 압축하면서 점수·통계·보정 데이터를 계산하지 않기 때문에 축출 라운드의 비용이 compaction 자체로 제한됩니다.
02
동일한 KV 캐시 예산에서 Random Attention을 SnapKV, R-KV, VaSE, TriAttention과 비교하기 위해 MATH-500, GPQA-Diamond, AIME, HMMT, LiveCodeBench를 사용했습니다. Qwen3-4B, Qwen3-14B, Qwen3-32B와 phi-4-reasoning에 대해 정확도 셀을 실행하고, paired bootstrap과 sign test로 방법 간 차이를 검정하는 구조입니다. 저장소에는 math·science·LiveCodeBench 채점기와 셀 단위 문제 위치 검사가 포함되어 있어 섞이거나 중복된 shard가 결과에 들어가면 채점을 거부합니다.
bash
git clone https://github.com/SalesforceAIResearch/Random-Attention && cd Random-Attention
bash setup.sh

Random Attention 저장소를 복제한 뒤 setup.sh로 Python 3.10 가상 환경과 실험 의존성을 설치합니다.

bash
scripts/run_cell.sh Qwen3-4B math random_pp

Qwen3-4B 모델과 math 작업에서 Random Attention의 정확도 셀을 기본 예산으로 실행합니다.

bash
scripts/run_cell.sh Qwen3-4B math vase # VaSE with the faithful n_large = K/4
scripts/run_cell.sh Qwen3-4B math triattn # TriAttention with per-model calibration stats

같은 모델과 작업에서 VaSE 및 TriAttention 비교 실험을 각각 실행하며, 방법별 설정과 보정 통계를 적용합니다.

bash
scripts/run_cell.sh phi-4-reasoning gpqa snapkv 2048

phi-4-reasoning 모델의 GPQA 작업에서 SnapKV를 2048 예산으로 실행합니다.

bash
python kvcompress/eval/stats_paired.py --base results/Qwen3-4B/math_K1024 --data_name math \
--method_a random_pp --methods_b attn,attn_rkv_l05,vase_faithful,triattn_ph_memofix

Qwen3-4B의 math 결과에서 Random Attention과 여러 비교 방법의 성능 차이를 paired bootstrap 및 sign test로 검정합니다.

03
실험 결과 Random Attention은 명시된 작업과 모델에서 같은 예산의 학습 기반 선택기와 맞먹거나 더 높은 성능을 보였습니다. 효율성 측정에서는 Hugging Face harness와 vLLM serving stack 모두에서 가장 빠른 eviction method로 기록됐으며, vLLM 0.19 환경에서는 TriAttention의 paged-KV 압축 구조 안에 자체 선택 규칙을 연결했습니다. 다만 저장소는 정확도 실행과 batched accuracy run의 처리량 수치를 구분하며, 후자의 tokens/s는 GPU를 공유하므로 효율성 결과로 보고하지 말라고 명시합니다.
04
연구 저장소는 단순한 알고리즘 구현을 넘어 retention log, 강제 보존 범위의 fork replay, carrier-head mixing, 등록된 synthetic-retrieval protocol을 포함합니다. setup.sh는 Python 3.10 환경에서 torch 2.4.0, cu121용 구성, flash-attn 2.7.3, transformers 5.0.0 등을 설치하고, 논문 실험은 141GB H200 8개에서 수행됐습니다. Apache License 2.0으로 공개된 코드와 결과 생성 스크립트는 KV 캐시 압축 방법을 같은 예산·같은 평가 셀·같은 통계 절차로 재검증하려는 연구에 직접 쓰입니다.

용어 해설

KV 캐시 축출(KV-cache Eviction)
KV 캐시 축출은 긴 생성 과정에서 저장된 토큰의 Key·Value 표현 일부를 제거해 메모리 사용량을 제한하는 기법입니다. 예산을 넘는 토큰을 선택해 삭제하고 필요한 최근 토큰이나 프롬프트를 유지함으로써 추론을 계속합니다. 어떤 토큰을 보존하느냐가 정확도와 처리 속도에 직접 영향을 줍니다.
어텐션 점수(Attention Score)
Attention Score는 현재 토큰이 이전 토큰의 정보를 얼마나 참조하는지 나타내는 값입니다. KV 캐시 축출기는 이 점수를 계산해 중요한 토큰을 남길 수 있지만, 계산 비용과 추가 통계 처리가 필요합니다. Random Attention은 이 신호를 전혀 읽지 않고 무작위 선택으로 대체합니다.
KV 헤드(KV Head)
KV Head는 Transformer의 어텐션에서 Key와 Value를 묶어 처리하는 단위입니다. Random Attention은 전체 캐시를 한 번에 무작위로 줄이지 않고 KV 헤드마다 생성 토큰의 일부를 균등 무작위로 선택합니다. 헤드별 선택 구조가 캐시 축소 과정의 기본 단위가 됩니다.
쌍체 부트스트랩(Paired Bootstrap)
쌍체 부트스트랩은 같은 문제 집합에서 두 방법의 결과를 짝지어 재표본화하고 성능 차이의 불확실성을 평가하는 통계 기법입니다. 이 저장소에서는 Random Attention과 비교 방법의 정확도 셀을 대상으로 사용합니다. sign test와 함께 결과 차이가 우연인지 확인하는 절차로 쓰입니다.
vLLM
vLLM은 대규모 언어 모델을 서비스 환경에서 실행하는 추론 런타임입니다. 이 연구의 벤치마크에서는 vLLM 0.19의 paged-KV 압축 구조 안에 Random Attention 선택 규칙을 연결해 serving 처리 속도를 측정합니다. 정확도 전이 점검과 런타임 수정 사항도 별도 문서로 관리됩니다.

기술

  • Python 3.10
  • torch 2.4.0
  • cu121
  • flash-attn 2.7.3
  • transformers 5.0.0
  • Hugging Face harness
  • vLLM 0.19
  • Qwen3-4B
  • Qwen3-14B
  • Qwen3-32B
  • phi-4-reasoning
  • DeepSeek-R1-Distill-Llama-8B
  • SnapKV
  • R-KV
  • VaSE
  • TriAttention

활용 사례

  • 긴 추론 작업에서 GPU 메모리 예산에 맞춘 KV 캐시 축소
  • Hugging Face harness를 이용한 모델·작업·축출 방법·예산별 정확도 비교
  • vLLM serving stack에서 paged-KV 압축과 Random Attention 선택 규칙의 처리 속도 측정
  • KV 캐시 보존 패턴과 축출 시점을 분석하는 메커니즘 연구
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 09. 07.수집 2026. 09. 09.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.