한 줄 요약
TURBOQUANT는 고차원 벡터를 낮은 비트로 압축하면서도 벡터의 모양, 거리, 내적 정보를 최대한 보존하는 온라인 벡터 양자화 방법입니다.
핵심은 단순합니다.
- 먼저 벡터를 무작위로 회전합니다.
- 회전된 각 좌표를 따로 양자화합니다.
- 내적이 중요한 경우에는 남은 오차까지 1비트 방식으로 한 번 더 보정합니다.
그 결과, 사전 학습이나 데이터별 튜닝 없이도 이론적으로 거의 최적인 왜곡률에 접근합니다.

왜 중요한가
대형 모델과 벡터 검색 시스템은 모두 고차원 벡터를 대량으로 다룹니다.
대표적인 병목은 두 가지입니다.
- LLM 추론: 긴 문맥을 처리할수록 KV cache가 커집니다.
- 벡터 검색: 데이터베이스 벡터가 많아질수록 저장 공간과 검색 비용이 커집니다.
압축은 필요합니다.
하지만 단순히 값을 낮은 비트로 줄이면 벡터의 기하 구조가 깨집니다.
TURBOQUANT의 목표는 이 균형입니다.
- 메모리는 크게 줄인다.
- 계산은 빠르게 유지한다.
- 거리와 내적은 최대한 보존한다.
- 온라인 환경에서도 바로 적용한다.
문제 설정: “값”이 아니라 “기하 구조”를 압축한다
벡터 양자화는 실수 벡터를 짧은 비트 표현으로 바꾸는 작업입니다.
중요한 기준은 두 가지입니다.
1. 재구성 오차
압축한 뒤 다시 복원했을 때 원래 벡터와 얼마나 가까운지를 봅니다.
이는 이미지나 임베딩을 다시 복원하는 상황에서 중요합니다.
2. 내적 오차
검색, attention, 유사도 계산에서는 복원된 벡터 자체보다 내적이 더 중요합니다.
즉, 압축 후에도 “어떤 벡터가 더 비슷한가”라는 순서가 유지되어야 합니다.
논문은 이 두 목표가 같지 않다고 봅니다.
재구성 오차를 줄이는 양자화가 내적 추정에서는 편향을 만들 수 있기 때문입니다.
핵심 아이디어 1: 무작위 회전으로 최악의 입력을 평탄화한다
TURBOQUANT는 입력 벡터를 먼저 무작위로 회전합니다.
이 회전은 길이를 바꾸지 않습니다.
대신 특정 좌표에 값이 몰린 나쁜 입력을 더 고르게 퍼뜨립니다.
회전 후에는 각 좌표가 예측 가능한 분포를 따릅니다.
고차원에서는 서로 다른 좌표들도 거의 독립적인 것처럼 행동합니다.
이 덕분에 복잡한 벡터 전체를 한꺼번에 다루지 않아도 됩니다.
- 고차원 벡터를 회전한다.
- 각 좌표를 독립적으로 본다.
- 각 좌표에 최적인 스칼라 양자화기를 적용한다.
큰 벡터 양자화 문제를 작은 좌표별 문제로 바꾸는 셈입니다.
핵심 아이디어 2: MSE용과 내적용을 분리한다
논문은 두 가지 버전의 TURBOQUANT를 제안합니다.
TURBOQUANTmse
목표는 복원된 벡터가 원래 벡터에 가깝도록 만드는 것입니다.
절차는 다음과 같습니다.
- 벡터를 무작위 회전한다.
- 각 좌표를 가장 가까운 코드북 값으로 바꾼다.
- 복원할 때는 코드북 값을 다시 회전시켜 원래 좌표계로 돌린다.
이 방식은 재구성 오차에 강합니다.
하지만 낮은 비트에서는 내적 추정에 편향이 생길 수 있습니다.
TURBOQUANTprod
목표는 내적 추정을 편향 없이 만드는 것입니다.
절차는 두 단계입니다.
- 먼저 TURBOQUANTmse로 큰 구조를 압축한다.
- 남은 잔차를 1비트 QJL 방식으로 다시 압축한다.
첫 단계는 오차의 크기를 줄입니다.
두 번째 단계는 내적 추정의 편향을 보정합니다.
즉, “잘 복원하는 압축”과 “내적을 공정하게 추정하는 보정”을 합친 구조입니다.
실험 1: 내적 편향은 실제로 나타난다
논문은 DBpedia Entities 임베딩을 사용해 이론을 검증합니다.
학습 집합은 10만 개, 쿼리는 1천 개입니다.
비교 대상은 두 방식입니다.
- TURBOQUANTmse: 재구성 오차 최적화
- TURBOQUANTprod: 내적 추정 최적화
낮은 비트에서 차이가 분명합니다.
TURBOQUANTprod는 오차가 0을 중심으로 모입니다.
TURBOQUANTmse는 낮은 비트에서 한쪽으로 밀리는 편향이 보입니다.

Crop 포인트: 위쪽 행과 아래쪽 행의 히스토그램 중심을 비교하면, 내적 전용 방식은 모든 비트 폭에서 0 주변을 유지하고 MSE 방식은 낮은 비트에서 편향을 보입니다.
비트 폭이 커지면 두 방식 모두 분산이 줄어듭니다.
다만 낮은 비트 환경에서는 내적 전용 보정이 훨씬 중요합니다.
실험 2: 이론 하한에 가깝고, 긴 시퀀스에서 빠르다
논문은 평균 내적 오차와 재구성 오차를 이론적 하한·상한과 비교합니다.
결과는 핵심 주장과 맞습니다.
- 오차는 비트 폭이 늘수록 빠르게 줄어듭니다.
- 실측값은 이론적으로 가능한 최저선에 가깝게 움직입니다.
- QK 계산에서는 긴 시퀀스일수록 속도 이점이 커집니다.

Crop 포인트: 왼쪽과 가운데 그래프의 하강 추세, 오른쪽 그래프의 긴 시퀀스 구간 속도 향상을 함께 보면 이론적 효율과 시스템 효율이 동시에 드러납니다.
논문은 정보이론적 하한도 제시합니다.
의미는 다음과 같습니다.
어떤 벡터 양자화 방법도 일정 수준 이하의 왜곡은 피하기 어렵습니다.
TURBOQUANT는 그 한계선에서 작은 상수 배 정도 떨어진 수준까지 접근합니다.
특히 낮은 비트 폭에서 이 차이는 더 작아집니다.
LLM 적용: KV cache 압축
LLM은 다음 토큰을 생성할 때 이전 토큰들의 key와 value를 계속 저장합니다.
문맥이 길어질수록 KV cache는 커집니다.
이 캐시는 메모리와 대역폭을 동시에 압박합니다.
TURBOQUANT는 KV cache의 각 행 벡터를 온라인으로 압축합니다.
즉, 생성 중에 들어오는 벡터를 즉시 낮은 비트로 바꿀 수 있습니다.
이는 긴 문맥 모델에서 특히 중요합니다.
Needle-in-a-Haystack: 4배 이상 압축해도 검색 성능 유지
Needle-in-a-Haystack 테스트는 긴 문서 안에 숨겨진 문장을 모델이 찾아낼 수 있는지 평가합니다.
논문은 Llama-3.1-8B-Instruct를 사용했습니다.
문맥 길이는 4천 토큰부터 10만 토큰 이상까지 확장했습니다.
비교 대상은 SnapKV, PyramidKV, KIVI, PolarQuant, Full-Precision입니다.
결과는 명확합니다.
- SnapKV와 PyramidKV는 일부 구간에서 회수율이 흔들립니다.
- KIVI는 더 안정적이지만 완전하지 않습니다.
- PolarQuant와 TURBOQUANT는 매우 안정적입니다.
- TURBOQUANT는 Full-Precision과 같은 점수를 기록합니다.

Crop 포인트: 하단 오른쪽 TURBOQUANT 패널과 가운데 Full-Precision 패널의 녹색 분포가 거의 같다는 점이 장문 검색 품질 유지의 핵심입니다.
중요한 점은 TURBOQUANT가 압축된 상태였다는 것입니다.
논문은 4배 이상 압축된 KV cache에서도 Full-Precision 수준의 결과를 보였다고 보고합니다.
LongBench: 3.5비트에서는 품질 중립, 2.5비트에서도 작은 손실
LongBench는 장문 이해를 평가하는 벤치마크입니다.
논문은 LongBench-E subset을 사용해 문맥 길이에 따른 편향을 줄였습니다.
핵심 결과는 다음과 같습니다.
| 모델 | 방식 | KV 비트 | 평균 점수 |
|---|---|---|---|
| Llama-3.1-8B-Instruct | Full Cache | 16 | 50.06 |
| Llama-3.1-8B-Instruct | KIVI | 3 | 48.50 |
| Llama-3.1-8B-Instruct | PolarQuant | 3.9 | 49.78 |
| Llama-3.1-8B-Instruct | TURBOQUANT | 2.5 | 49.74 |
| Llama-3.1-8B-Instruct | TURBOQUANT | 3.5 | 50.06 |
| Ministral-7B-Instruct | Full Cache | 16 | 49.89 |
| Ministral-7B-Instruct | TURBOQUANT | 2.5 | 49.62 |
3.5비트에서는 Llama-3.1-8B-Instruct의 평균 점수가 Full Cache와 같습니다.
2.5비트에서도 성능 손실은 작습니다.
논문은 이 설정에서 4.5배 이상의 압축을 달성했다고 보고합니다.
벡터 검색: Product Quantization보다 높은 recall
TURBOQUANT는 벡터 데이터베이스의 근접 이웃 검색에도 적용됩니다.
비교 대상은 다음과 같습니다.
- Product Quantization
- RabitQ
- TURBOQUANT
평가 데이터는 GloVe와 OpenAI 임베딩입니다.
차원은 200, 1536, 3072로 나뉩니다.
결과는 세 데이터셋 모두에서 유사합니다.
- TURBOQUANT는 낮은 비트에서도 recall이 높습니다.
- 고차원 OpenAI 임베딩에서 특히 빠르게 상위 성능에 도달합니다.
- Product Quantization은 코드북 학습 비용이 있습니다.
- RabitQ는 벡터화와 GPU 지원 측면에서 불리합니다.

Crop 포인트: 세 패널 모두에서 Top-k가 작을 때 TURBOQUANT 곡선이 빠르게 상단에 접근하는지를 보면 검색 품질 차이가 드러납니다.
색인 시간도 큰 차이가 납니다.
| 방식 | 200차원 | 1536차원 | 3072차원 |
|---|---|---|---|
| Product Quantization | 37.04초 | 239.75초 | 494.42초 |
| RabitQ | 597.25초 | 2267.59초 | 3957.19초 |
| TURBOQUANT | 0.0007초 | 0.0013초 | 0.0021초 |
이 결과는 온라인 압축의 장점을 잘 보여줍니다.
데이터별 코드북 학습이 필요한 방식과 달리, TURBOQUANT는 거의 즉시 색인을 만들 수 있습니다.
추가 분석: 평균 내적이 커질 때 편향 차이가 커진다
논문은 평균 내적 값에 따라 오차 분포가 어떻게 바뀌는지도 확인합니다.
TURBOQUANTprod는 평균 내적이 달라져도 오차 분포가 0 주변에 머뭅니다.
반면 TURBOQUANTmse는 평균 내적이 커질수록 오차 분포가 한쪽으로 이동합니다.

Crop 포인트: 위쪽 행은 평균 내적이 바뀌어도 중심을 유지하지만, 아래쪽 행은 오른쪽으로 밀리며 MSE 방식의 편향이 커지는 흐름을 보여줍니다.
이 결과는 논문의 설계 선택을 뒷받침합니다.
재구성 오차만 줄이는 것은 충분하지 않습니다.
내적이 중요한 작업에는 편향을 직접 보정하는 구조가 필요합니다.
구현 관점: 왜 빠른가
TURBOQUANT는 가속기 친화적인 구조를 가집니다.
주요 이유는 다음과 같습니다.
- 좌표별 양자화라 병렬화가 쉽습니다.
- 무작위 회전은 빠른 Hadamard 변환으로 구현할 수 있습니다.
- 코드북은 미리 계산해 둘 수 있습니다.
- KV cache에서는 복원과 행렬 곱을 하나의 GPU 커널에서 처리할 수 있습니다.
즉, 압축된 데이터를 메모리에서 꺼낸 뒤 완전히 복원하고 다시 계산하는 방식이 아닙니다.
필요한 순간에 복원과 계산을 함께 수행합니다.
이 접근은 HBM과 SRAM 사이의 데이터 이동을 줄이는 데 유리합니다.
이 논문의 기여
1. 온라인 벡터 양자화
데이터셋을 미리 학습하지 않아도 됩니다.
동적으로 들어오는 벡터에 바로 적용할 수 있습니다.
2. MSE와 내적을 분리한 설계
재구성 품질과 내적 추정 품질을 같은 문제로 보지 않습니다.
내적에는 별도의 보정 단계를 둡니다.
3. 정보이론적 하한과의 비교
단순히 실험적으로 좋은 결과를 보인 것이 아닙니다.
어떤 방법도 넘기 어려운 이론적 한계와 비교해 성능을 설명합니다.
4. 실사용 시나리오 검증
KV cache 압축과 벡터 검색이라는 두 핵심 응용에서 모두 결과를 제시합니다.
한계와 주의점
TURBOQUANT가 모든 상황에서 자동으로 최선이라는 뜻은 아닙니다.
주의할 점은 다음과 같습니다.
- 내적 전용 버전은 잔차 정보와 1비트 보정 정보를 함께 저장해야 합니다.
- 실제 속도 이득은 GPU 커널 구현 품질에 영향을 받습니다.
- 논문의 주요 실험은 특정 모델, 데이터셋, 하드웨어 환경에서 수행되었습니다.
- 입력 벡터의 정규화와 회전 구현 방식이 성능에 중요합니다.
그래도 장점은 분명합니다.
사전 학습이 어렵고, 벡터가 계속 들어오며, 메모리 이동이 병목인 환경에서는 매우 강한 선택지입니다.
핵심 정리
TURBOQUANT는 세 가지 메시지를 전달합니다.
- 고차원 벡터는 무작위 회전 후 좌표별로 다뤄도 충분히 강력한 압축이 가능하다.
- 재구성 오차 최적화와 내적 추정 최적화는 다르다.
- 이론적으로 거의 최적인 왜곡률과 실제 시스템 속도 이점을 함께 얻을 수 있다.
가장 큰 의미는 “온라인 양자화”입니다.
TURBOQUANT는 무거운 사전 학습 없이 작동합니다.
그래서 KV cache처럼 실시간으로 생성되는 벡터에도 적합합니다.
동시에 벡터 검색처럼 대량의 임베딩을 빠르게 색인해야 하는 작업에도 맞습니다.
Source
- Paper: TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate
- Authors: Amir Zandieh, Majid Daliri, Majid Hadian, Vahab Mirrokni
- Venue: ICLR 2026 Conference Paper
- OpenReview: https://openreview.net/forum?id=tO3ASKZlok
- arXiv: https://arxiv.org/abs/2504.19874
- Figures: 원문 논문의 Figure 1–5에서 추출