카테고리 없음

Google TurboQuant 공개 — KV 캐시 3비트로 6× 압축

sombaragi 2026. 5. 17. 08:00
반응형
🤖 AI 뉴스

Google이 ICLR 2026에서 PolarQuant 회전 변환 기반 LLM KV 캐시 양자화를 공개했다. 3비트에서 무손실 6× 메모리 절감, H100 어텐션 8× 가속, 학습이나 파인튜닝이 필요 없는 무학습 적용이 핵심이다.

Google Research가 ICLR 2026 본 학회에서 TurboQuant를 공개했다. LLM 추론의 가장 큰 메모리 병목인 KV 캐시를 좌표당 3비트까지 압축하면서 정확도 손실은 사실상 0이고, NVIDIA H100에서 어텐션 연산은 최대 8배 빨라진다. 파인튜닝이나 캘리브레이션 데이터 없이 기존 모델 위에 그대로 얹는 무학습 방식이라 도입 장벽이 매우 낮다.

TurboQuant이란 무엇인가 — PolarQuant + QJL의 2단계 압축

TurboQuant는 두 단계로 동작하는 벡터 양자화 알고리즘이다. 1단계 PolarQuant는 입력 벡터에 가우시안 행렬의 QR 분해로 만든 무작위 직교 행렬을 곱해 좌표를 회전시킨다. 회전 후 각 좌표는 농축 베타 분포를 따르고, 고차원에서는 N(0, 1/d) 가우시안에 매우 가깝게 근사된다. 분포가 알려져 있고 좌표가 거의 독립이 되니, 좌표마다 독립적으로 Lloyd–Max 최적 스칼라 양자화기를 그대로 적용할 수 있다.

2단계는 1비트 QJL(Quantized Johnson–Lindenstrauss) 잔차 보정이다. 1단계에서 생긴 양자화 잔차를 JL 사영으로 압축해 1비트로 한 번 더 표현하는데, 이것만으로 어텐션 점수 추정 오차가 의미 있게 줄어든다. 두 단계 합치면 3비트 + 1비트 잔차로 사실상 4비트 미만의 메모리 풋프린트로 16비트 KV 캐시를 대체할 수 있다는 결과다.

TurboQuant 파이프라인 한 줄 정리

  • 입력 벡터 회전 — 무작위 직교 행렬로 PolarQuant 사전 처리
  • 좌표 단위 양자화 — 가우시안 근사 위 Lloyd–Max 스칼라 양자화
  • QJL 잔차 보정 — 1비트 사영으로 추정 분산 추가 축소
  • 무학습 적용 — 캘리브레이션 데이터·파인튜닝 모두 불필요

3비트가 만든 6× 메모리 절감 — Gemma·Mistral 실측

Google Research 블로그와 arXiv 2504.19874 논문에 따르면 TurboQuant는 Gemma와 Mistral 계열 모델에서 키와 값 캐시를 모두 3비트로 양자화해도 다운스트림 정확도 손실이 통계적으로 무시 가능하다. FP16 대비 최소 6배 메모리 절감이며, 4비트 설정에서는 32비트 비양자 키 대비 H100 GPU에서 최대 8배 추론 가속이 측정됐다. 컨텍스트가 길수록 KV 캐시 비중이 압도적이라 절감 효과는 비례해서 커진다.

메모리 절감

3비트 설정에서 FP16 대비 최소 6× 압축, 정확도 손실 사실상 0

속도 향상

H100에서 4비트 어텐션이 32비트 키 대비 최대 8× 가속

대상 모델

Gemma·Mistral 등 트랜스포머 디코더 계열에 그대로 적용

도입 비용

파인튜닝·캘리브레이션 데이터 모두 불필요한 무학습 방식

왜 ICLR 2026 베스트가 되었나 — 이론적 보증의 차이

기존 KV 캐시 양자화 기법(KIVI, KVQuant 등)이 경험적 휴리스틱에 가까웠던 반면, TurboQuant는 회전 후 좌표 분포가 가우시안에 농축된다는 사실을 정량적으로 활용한다. 결과적으로 비트 수·정확도·속도 사이의 트레이드오프를 사후 측정으로 맞추는 게 아니라, 이론적 비율-왜곡 한계에 거의 근접하게 설계할 수 있다. 이게 ICLR 2026 본 학회 수락의 핵심 차별점으로 평가받는다.

또 다른 강점은 비대칭 양자화다. KV 캐시는 키와 값이 다른 분포를 갖는데, TurboQuant는 둘을 독립적으로 회전·양자화한다. 키는 어텐션 점수의 분산에, 값은 출력 토큰의 정확도에 다르게 기여하는데, 각각에 최적화된 비트 할당을 줄 수 있다는 뜻이다. 이게 같은 평균 비트 수에서 다른 기법보다 다운스트림 점수가 안정적으로 더 높게 나오는 이유다.

2024년 KIVI 논문을 읽었을 때 "양자화 KV의 한계는 분포 모양이다"라는 직관이 있었는데, TurboQuant가 그걸 회전 변환으로 정면 돌파한다. 회전 후 분포를 가우시안으로 끌고 들어와 스칼라 양자화기를 분포에 맞춰 푼다는 발상은 한 번 보면 너무 자연스러워서, "왜 작년에는 아무도 안 했지" 싶은 그런 결과다.

개발자가 지금 할 수 있는 것 — llama.cpp 포팅 현황

2026년 4월 현재 Google Research는 공식 Python 구현을 공개하지 않았다. 단 비공식 포팅이 빠르게 나오고 있다. GitHub의 AmesianX/TurboQuant 저장소는 llama.cpp에 TurboQuant KV 캐시 압축을 이식해 5.2× 메모리 절감을 무손실 수준으로 재현했다고 보고했고, ml-explore/mlx-lm의 이슈 트래커에는 Apple Silicon용 PolarQuant 포팅 논의가 활발히 진행 중이다. 추론 인프라 비용을 줄이려는 팀은 지금 시점에서 비공식 구현으로 PoC를 돌려볼 만하다.

실무에서 가장 큰 영향은 컨텍스트 윈도가 매우 긴 워크로드, 즉 코드 어시스턴트·문서 분석·에이전트 추론처럼 단일 세션당 수만~수십만 토큰을 메모리에 들고 있어야 하는 경우다. KV 캐시가 6× 작아지면 동일 GPU에서 동시 처리할 수 있는 세션 수가 늘어나고, 같은 처리량 기준으로는 GPU 대수를 줄일 수 있다. 추론 단가가 그대로 절반 이하로 떨어진다는 의미다.

자주 묻는 질문 (FAQ)

Q1. TurboQuant는 어떤 모델에 적용 가능한가?

트랜스포머 디코더 구조라면 대부분 호환된다. 논문 실험은 Gemma와 Mistral 계열로 수행됐고, Llama·Qwen 등 같은 어텐션 메커니즘을 쓰는 모델에도 그대로 얹을 수 있는 것으로 보고된다.

Q2. 정확도 손실이 정말 0인가?

"무손실 수준"이라는 표현은 다운스트림 벤치마크 평균에서 통계적으로 의미 있는 차이가 관측되지 않는다는 뜻이다. 매우 짧은 출력이나 특정 코너 케이스에서는 미세한 변동이 있을 수 있다.

Q3. 가중치(weight) 양자화에도 쓸 수 있나?

TurboQuant은 본질적으로 일반 벡터 양자화기이므로 가중치에도 적용 가능하다. 다만 KV 캐시처럼 분포 통계가 안정적인 대상이 가장 큰 이득을 본다.

Q4. 공식 라이브러리는 언제 나오나?

Google Research는 공식 일정을 공개하지 않았다. 당장은 arXiv 논문 기반 비공식 구현(llama.cpp, mlx-lm 등)을 활용하는 것이 현실적이다.

반응형