4비트 순환 상태를 8토큰마다 반올림해 긴 문맥 추론 메모리를 줄인다
PACE: Periodic and Channel-Aligned Encoding of Four-Bit Recurrent States
무엇인가
선형 어텐션 계열 언어 모델은 트랜스포머의 키-값 캐시를 고정 크기 순환 상태로 대체한다. 문제는 서빙이다. 추론 시스템은 동시에 디코딩하는 시퀀스마다 상태 사본을 하나씩 들고 있어야 하고, 논문이 측정한 바에 따르면 동시 시퀀스 64개에서 fp32 상태는 가중치와 상태가 함께 차지하는 메모리의 10~41%를 먹는다. 상태를 낮은 정밀도로 저장하면 같은 가속기에서 더 많은 시퀀스를 돌릴 수 있다. 그런데 기존 상태 양자화기들은 모두 토큰을 하나 생성할 때마다 상태를 반올림했고, 그 방식으로는 4비트에서 정확도가 떨어져 비트 폭을 8비트로 올리거나 모델 일부를 파인튜닝해야 한다고 보고해 왔다.
어떻게 동작하나
PACE는 이 전제를 뒤집는 사후(post-hoc) 4비트 상태 양자화기다. 학습이 전혀 필요 없고, 네 가지 요소로 구성된다. 첫째, 상태를 매 토큰이 아니라 dP개 토큰마다 한 번만 반올림하고 그 사이에 생성된 토큰은 작은 디코드 버퍼에 담아 두었다가 한 번에 상태에 적용한다. 프리필 단계에서 청크 커널이 이미 청크마다 한 번씩만 상태를 쓰고 있다는 점을 디코딩에도 확장한 셈이다. 둘째, 이 버퍼가 차지하는 메모리까지 포함해 비트당 상주 비트(resident bits)를 계산한다. 버퍼는 토큰마다 (a_t, k_t, v_t)를 들고 있어서, 상태 값 하나당 추가 비용이 디코드 주기 dP에 비례해 늘어난다.
무엇과 다른가
셋째, 스케일 그룹의 방향을 바꾼다. 저자들은 gated-delta 상태에서 큰 값들이 열(column) 방향으로 모인다는 것을 관찰했다. 토큰마다 상태에 더해지는 delta value u_t의 특정 채널이 여러 토큰에 걸쳐 계속 크게 유지되기 때문이며, u_t의 채널을 매 토큰 무작위로 섞으면 이 열 구조가 사라지는 것으로 확인했다. 그래서 PACE는 키 축을 따라, 즉 하나의 열 안에서 연속 g개 원소를 묶어 스케일 하나를 공유한다. 기존 연구가 값 축으로 묶던 것과 반대다. 넷째, 반올림 오차를 가장 오래 붙들고 있는 헤드를 8비트로 유지한다. 오차 에너지가 다음 반올림까지 a_h^(2dP)만큼만 남는다는 오차 전파 한계식 E_h = e_h / (1 − a_h^(2dP))을 근거로, 헤드별 잔존 오차를 측정해 상위 4분의 1을 8비트로 올린다. 이 혼합 구성의 페이로드는 값당 5.66비트로 DAMP INT4와 같다.
어떻게 쓰나
실험은 Qwen3.5-4B·9B·27B와 Qwen3.6-35B-A3B 네 개의 하이브리드 모델에서 GSM8K, MMLU-Pro(과목당 40문항, n=560), IFEval(n=541), 32,768 토큰 RULER 변수 추적, MATH-500, WikiText-103 퍼플렉시티로 평가했다. 비교 대상은 완전 정밀도 상태, DAMP(INT8은 값당 9.9비트, INT4는 키 채널 32개를 8비트로 유지), 그리고 파인튜닝 단계를 뺀 Q-Mamba의 DSQ 재구현이다. 결과적으로 4비트와 8비트 헤드를 섞은 PACE-4/8은 세 개의 큰 모델에서 DAMP INT8과 견줄 만한 성능을 약 3분의 2의 상주 메모리로 냈다. DAMP INT4와 같은 상주 비트에서는 PACE-4/8이 모든 백본에서 앞섰고 Qwen3.6-35B-A3B에서 차이가 가장 컸다. 4비트 헤드만 쓰는 PACE-4는 동일 상주 비트에서 Q-Mamba DSQ보다 모든 백본에서 높은 점수를 냈다. 다만 Qwen3.5-4B에서는 PACE-4/8의 평균이 DAMP INT8보다 낮았고 GSM8K·MMLU-Pro·IFEval에서도 뒤졌다.
전제와 한계
디코드 주기 자체를 분리한 실험도 있다. 기존 양자화기를 그대로 두고 4~8비트, dP를 1·8·32로 바꿔 보면, 8비트 미만 모든 비트 폭에서 8토큰마다 반올림하는 쪽이 매 토큰 반올림보다 네 백본 모두에서 높은 점수를 냈다. 주기 8은 버퍼 메모리 4분의 1로 주기 32가 메우는 격차의 대부분을 메운다. 상태 드리프트(‖S_q − S‖_F / ‖S‖_F)도 dP가 커질수록 모든 토큰 위치에서 감소했는데, 이는 오래된 반올림 오차를 감쇠가 지워내기 때문이다. 처리량은 H100 PCIe 한 장, 512 토큰 문맥, 배치 1~128에서 측정했고, 주기적 INT4 디코딩은 배치 16 이상부터 매 토큰 bf16 디코딩보다 토큰당 시간(TPOT)이 낮았다. 배치가 커질수록 시퀀스별 상태를 읽고 쓰는 비용이 커지기 때문에 격차도 벌어진다.
개발자 입장에서 이 논문의 실무적 의미는 분명하다. 선형 어텐션·하이브리드 모델을 긴 문맥으로 다중 시퀀스 서빙할 때, 가중치를 건드리지 않고 상태 저장 방식만 바꿔 동시 처리량을 늘릴 수 있는 선택지가 생긴다. 특히 디코드 버퍼는 이미 지연 시간 개선용으로 쓰이던 기법이라, 여기에 양자화를 얹으면 추가 커널 호출 없이 메모리 절감까지 얻는다. 다만 도입 전에 확인할 것이 있다. 버퍼 메모리를 반드시 상태와 함께 계산해야 하고, 헤드별 8비트 할당은 체크포인트마다 한 번 순위를 계산해야 하며, 프리필 주기는 커널 청크 길이에 묶여 있다.
저자들이 명시한 한계도 분명하다. 평가는 gated delta rule을 쓰는 Qwen3.5·3.6 계열 하이브리드 모델 네 개에 한정되며, 오차 한계식에 들어가는 헤드 감쇠, 열 구조, 헤드 순위 모두 이 모델들에서만 측정됐다. 다른 모델 계열이나 모든 층이 순환인 모델, 업데이트·감쇠 방식이 다른 토큰 믹서로 일반화된다는 보장은 없다. 프리필 주기는 모든 벤치마크에서 커널 청크인 256토큰으로 고정했으므로 프리필에서 더 자주 또는 더 드물게 반올림했을 때의 효과는 측정되지 않았다. 처리량은 균일 4비트 상태에 대해서만 쟀고, PACE의 키 축 그룹과 헤드 할당 조합은 타이밍하지 않았다. 정적 스케일, 확률적 반올림, 상태 회전(rotation)을 주기적 반올림과 결합하는 경우도 시험하지 않았다.