INT4 KV 캐시로 비동기 RLVR 롤아웃을 1.8배 가속한다

KV4-RL: Unlocking Faster Asynchronous Rollouts for RLVR with INT4 KV Cache Quantization

HF Daily2610.14448

Sihwan Park, Sung-Yub Kim, Doohyuk Jang2026-10-10

무엇인가

RLVR(검증 가능 보상 강화학습)에서 롤아웃 생성은 훈련 비용의 큰 축이다. 응답 길이가 수천 토큰까지 늘어나고 편차가 크기 때문에, 동기 방식으로 배치를 모으면 짧은 응답이 먼저 끝나며 활성 배치가 붕괴한다. 비동기·부분 롤아웃은 빈 디코드 슬롯에 새 요청을 계속 채워 이 유휴를 없앤다. 이 논문이 주목하는 지점은 그 다음이다. 동시성을 유지하면 전체 생성 토큰 수와 논리적 어텐션 작업량은 그대로인데, 그 작업이 더 적은 수의 디코드 스텝에 몰린다. 저자들은 이를 KV concentration이라 부른다.

어떻게 동작하나

논문은 이것이 특정 트레이스의 우연이 아니라 스케줄링 구조의 필연임을 보인다. 디코드 슬롯 B개를 항상 채우는 이상적 continuous refill과 동기 웨이브를 비교하면, KV concentration 계수는 C_KV = E[max L_i] / E[L] ≥ 1 이며 응답 길이 분포가 비퇴화이면 항상 1보다 크다. 긴 응답이 더 많은 디코드 스텝 동안 살아남아 관측 배치에서 과대 대표되는 검사 역설(inspection paradox) 때문이다. 평균 컨텍스트 길이는 P + (μ-1)/2 + σ²/(2μ)로, 길이 분산이 클수록 커진다. Qwen3-4B-Base 실제 트레이스에서 비동기 수집은 평균 활성 배치를 8.27배 키우고 디코드 호출 수를 8.35배 줄였지만, 평균 상주 KV 볼륨을 7.82배, 평균 디코드 스텝 지연을 4.52배로 만들었다. 서비스 처리량은 1.83배 높았으나, 8B 후반 체크포인트에서는 페이지 예산 고갈로 비동기 처리량이 동기 대비 0.98배까지 떨어졌다.

무엇과 다른가

이 작업량 이동은 어떤 양자화 대상이 가장 큰 가속을 주는지를 바꾼다. 동시성이 높으면 가중치 읽기는 배치 전체에 분산 상각되는 반면, 어텐션은 모든 응답의 컨텍스트를 계속 처리해야 한다. 논문의 roofline 분석에서 토큰당 논리 메모리 수요는 W_bytes/B + κℓ̄ 로 분해되고, 측정된 트레이스 전 구간에서 KV 읽기가 가장 큰 서비스 수요였다. 동일 작업량으로 W4A16, W8A8, KV8, KV4를 재생 비교한 결과 KV 캐시 양자화가 가중치 전용·가중치-활성화 양자화보다 훨씬 큰 디코드 가속을 냈다.

어떻게 쓰나

문제는 정밀도를 낮출 때 생긴다. 롤아웃이 만든 샘플이 그대로 학습 데이터가 되기 때문에, 수치 오차가 샘플러가 방문하는 프리픽스와 그룹 상대 이점을 바꾼다. 토큰 수준 절단 중요도 샘플링(TIS)은 샘플링된 프리픽스의 확률 비율만 보정할 뿐 방문 자체를 되돌리지 못한다. 같은 비동기 GRPO·TIS 레시피에서 8비트 KV 롤아웃은 BF16에 근접했지만, 4비트 KV 롤아웃은 BF16이 후반에 얻는 향상을 놓치고 MATH-500 avg@8에서 5.24%p 낮게 끝났다.

전제와 한계

KV4-RL의 해법은 전체 컨텍스트를 페이지드 INT4로 저장하되, 어텐션 싱크와 최근 컨텍스트에 해당하는 유한한 개수(s+w개)의 위치만 INT8 사이드 캐시로 보호하는 것이다. 캘리브레이션이 필요 없고, 추가 저장량과 어텐션 연산은 컨텍스트 길이와 무관하게 상한이 잡힌다. 키와 쿼리에 동일한 Hadamard 회전을 적용해 어텐션 점수를 보존한 뒤, 주 경로는 회전된 쿼리를 INT8로 양자화하고 패킹된 INT4 K/V 코드를 정수 피연산자로 확장해 정수 QK·PV를 수행한다. 보호 경로는 같은 INT8 쿼리를 INT8 사이드 키와 곱하고, 보호된 값은 BF16으로 역양자화해 FP32 누적으로 PV를 계산한다. 두 영역은 서로 겹치지 않게 읽히고, 각각 지역 어텐션 출력과 로그 정규화 인자를 만들어 정확한 소프트맥스 병합으로 합쳐진다.

실험은 Qwen3-4B-Base와 Qwen3-8B-Base에 대해 full-parameter GRPO로 수행했다. 데이터는 open-r1/DAPO-Math-17k-Processed 영어 분할, H200 4장에 TP2 롤아웃 복제본 2개와 BF16 FSDP2 학습기, 반복마다 128개 그룹×8개 응답, 응답 상한 16,384토큰, TIS 절단 C=5, 참조 KL 계수 0.001이다. 4B는 600 업데이트, 8B는 400 업데이트를 돌렸다. 8B에서 KV4-RL은 BF16 대비 누적 롤아웃 1.80배, 전체 반복 1.27배 가속을 얻었고, 마지막 50회 구간에서는 롤아웃 가속이 1.97배까지 올라갔다(1~100회는 1.45배). 응답이 짧은 4B에서는 600 업데이트 기준 롤아웃 1.57배, 전체 반복 1.17배였다. 롤아웃 수집이 BF16 누적 반복 시간의 약 47%를 차지했고, 가속 후에는 학습기 연산이 KV4-RL 반복 시간의 60.5%를 차지해 남은 병목이 학습기 쪽으로 옮겨간다.

정확도는 BF16 평가기로 측정했다. 6개 과제 평균에서 8B는 KV4-RL 52.8% 대 BF16 52.4%, 4B는 46.6% 대 47.0%로 두 크기 모두 0.5%p 이내다. 반면 보호 없는 KV4는 8B에서 4.6%p, 4B에서 0.8%p 낮았다. 과제별 편차도 있어 4B의 AIME 2025는 16.5%에서 13.6%로 떨어지고 다른 과제가 이를 일부 상쇄한다. 응답 길이는 4B에서 BF16 1.45k 대 KV4-RL 1.46k로 사실상 같아, 타이밍 차이가 더 적은 작업을 생성해서 나온 것이 아님을 보인다.

실무 관점에서 이 논문의 메시지는 두 가지다. 첫째, 비동기 롤아웃을 켜면 병목이 가중치에서 KV로 옮겨가므로 양자화 예산을 KV 쪽에 먼저 배분하는 것이 합리적이다. 둘째, KV를 4비트로 내릴 때는 정확도 손실이 학습 자체를 망가뜨릴 수 있으니, 싱크·최근 토큰 보호 같은 샘플러 충실도 장치를 함께 넣고 롤아웃 확률과 학습 정책 확률의 불일치를 모니터링해야 한다. 다만 저자들이 명시한 한계도 분명하다. 평가는 dense Qwen3 두 모델과 수학 추론 워크로드, 같은 GPU에서 생성과 학습이 번갈아 도는 colocated 비동기 GRPO 구성에 한정되며, MoE·하이브리드 어텐션 모델, 분리형(disaggregated) 롤아웃 시스템, 에이전트·멀티턴 RLVR로의 확장은 검증되지 않았다. 메커니즘 자체는 긴 컨텍스트를 다수 유지하는 롤아웃 워커라면 어디에나 적용되지만, 그 정량적 효과는 모델 구조·스케줄러·배치 방식에 따라 달라질 수 있다.