TurboQuant: 극단적 압축으로 KV 캐시 6배 축소, H100 어텐션 연산 8배 가속 (Google Research)
TurboQuant: Redefining AI efficiency with extreme compression
TL;DR Highlight
Google Research의 2단계 벡터 압축 알고리즘 — PolarQuant + QJL 조합으로 KV 캐시를 3비트로 압축하면서 정확도 손실 제로, H100에서 8배 속도 향상
Who Should Read
LLM 추론 비용·속도 최적화가 필요한 ML 엔지니어, 긴 컨텍스트 서비스의 KV 캐시 메모리 병목을 해결하려는 팀
Core Mechanics
- PolarQuant: 랜덤 회전 후 직교→극좌표 변환으로 각도 패턴을 고정 원형 그리드에 매핑 — 퀀타이제이션 상수 저장 오버헤드 완전 제거
- QJL(Quantized Johnson-Lindenstrauss): 추가 1비트만으로 남은 압축 오차를 감지·보정 — 각 벡터 값을 +1/-1 부호 비트로 축소
- KV 캐시 6배 축소, 3비트 압축, 학습 필요 없음(zero training) — 모든 벤치마크에서 정확도 손실 없음
- H100 GPU에서 어텐션 연산 32비트 비압축 대비 최대 8배 성능 향상
- 벡터 검색에서 PQ·RabbiQ 대비 우월한 recall 비율 — 대규모 벡터 검색에도 적용 가능
Evidence
- H100 GPU 벤치마크: 32비트 미압축 대비 최대 8배 어텐션 연산 가속, 모든 다운스트림 벤치마크에서 정확도 동일
- 출시 즉시 llama.cpp 및 PyTorch 독립 구현체 공개 (github.com/mudler/llama.cpp, github.com/tonbistudio/turboquant-pytorch)
How to Apply
- 긴 컨텍스트 LLM 서비스에서 KV 캐시 메모리가 병목이라면 TurboQuant 적용으로 6배 메모리 절감 + 8배 어텐션 속도 향상 기대
- llama.cpp 통합 구현체로 즉시 실험 가능 — 학습 필요 없어 기존 모델에 바로 적용 가능
- 벡터 DB(ANN 검색) 성능 개선에도 적용 가능 — PQ 대비 recall 향상
Terminology
PolarQuantTurboQuant 1단계 — 극좌표 변환으로 고정 원형 그리드에 매핑, 퀀타이제이션 상수 오버헤드 제거
QJL(Quantized Johnson-Lindenstrauss)TurboQuant 2단계 — 1비트로 오차 보정, 어텐션 점수 정확도 유지
KV 캐시(Key-Value Cache)트랜스포머 추론 시 이전 토큰의 어텐션 키/값을 저장하는 메모리 — 컨텍스트가 길수록 메모리 폭발