TurboQuant: 극단적 압축으로 AI 효율성 재정의

TurboQuant: Redefining AI efficiency with extreme compression

요약

Google은 TurboQuant, QJL, PolarQuant 등의 양자화 알고리즘을 제시하여 LLM과 벡터 검색의 극단적 압축을 가능하게 했습니다. 이는 메모리 오버헤드를 최소화하면서 정확도 손실이 거의 없는 KV 캐시 압축을 실현합니다.

핵심 포인트

  • PolarQuant는 극좌표 변환으로 메모리 오버헤드를 해결하고, QJL은 1비트만 사용해 남은 오류를 보정
  • 벡터 검색 속도를 높이고 KV 캐시 병목을 해결하여 메모리 비용을 대폭 절감

왜 중요한가

대규모 LLM을 더 작고 빠르게 실행할 수 있어 추론 비용과 지연시간을 크게 줄일 수 있습니다.

📄 전문 번역

TurboQuant: AI 효율성을 극단적 압축으로 재정의하다

2026년 3월 24일

Amir Zandieh(구글 리서치 과학자), Vahab Mirrokni(구글 부사장 겸 펠로우)

대규모 언어 모델과 벡터 검색 엔진을 위한 획기적인 압축 알고리즘을 소개합니다.


벡터는 AI 모델이 정보를 이해하고 처리하는 가장 기본적인 방식입니다. 간단한 속성을 나타내는 작은 벡터도 있지만, 고차원 벡터는 이미지의 특성, 단어의 의미, 데이터셋의 성질처럼 복잡한 정보를 담아냅니다.

고차원 벡터는 매우 강력하지만 엄청난 메모리를 소비한다는 문제가 있습니다. 특히 key-value 캐시 병목이 심각한데요. Key-value 캐시는 자주 사용하는 정보를 간단한 레이블로 저장했다가 필요할 때 즉시 꺼내쓸 수 있는 고속 메모리 시스템입니다. 느린 데이터베이스를 매번 뒤질 필요가 없다는 뜻이죠.

벡터 양자화의 한계와 해결책

벡터 양자화는 고차원 벡터 크기를 줄이는 전형적인 데이터 압축 기법입니다. 벡터 검색 속도를 높이고 key-value 캐시 부하를 줄여서 메모리 비용도 절감할 수 있죠.

그런데 기존 방식에는 숨겨진 문제가 있습니다. 대부분의 기법이 데이터 블록마다 양자화 상수를 풀 정밀도로 계산하고 저장해야 하거든요. 이런 오버헤드 때문에 실제로는 숫자마다 1~2비트가 추가로 필요해져서, 압축의 이점이 상당히 상쇄됩니다.

저희는 이 문제를 해결하기 위해 세 가지 새로운 기법을 선보입니다:

  • TurboQuant (ICLR 2026 발표 예정): 벡터 양자화의 메모리 오버헤드를 근본적으로 해결한 압축 알고리즘
  • Quantized Johnson-Lindenstrauss (QJL): TurboQuant의 핵심 기술
  • PolarQuant (AISTATS 2026 발표 예정): 독창적인 좌표 변환 기법

실험 결과, 세 기법 모두 AI 모델 성능 손실 없이 key-value 캐시 병목을 크게 완화할 수 있었습니다. 특히 검색과 AI 분야의 압축 기반 응용들에 광범위한 영향을 미칠 것으로 예상됩니다.

TurboQuant의 작동 원리

TurboQuant는 모델 크기를 대폭 줄이면서도 정확도 손실이 없는 압축 방식입니다. Key-value 캐시 압축과 벡터 검색 모두에 이상적이죠. 두 가지 단계로 작동합니다:

1단계: 고품질 압축 (PolarQuant 기법)

먼저 데이터 벡터를 무작위로 회전시킵니다. 이 영리한 초기 단계가 데이터의 기하학적 구조를 단순화해서, 표준 양자화 도구를 벡터의 각 부분에 독립적으로 적용할 수 있게 됩니다.

양자화란 연속적인 값들(예: 정밀한 소수)을 더 적은 개수의 이산 기호나 정수로 변환하는 과정입니다. 오디오 압축이나 JPEG 이미지 압축이 그 예죠. 이 단계에서 대부분의 압축 용량(비트)을 사용해 원본 벡터의 핵심 개념과 강도를 포착합니다.

2단계: 오류 제거 (QJL 기법)

남은 아주 작은 오차에 대해 QJL 알고리즘을 단 1비트만 사용해 적용합니다. QJL은 수학적 오류 검증자 역할을 해서 편향을 제거하고, 결과적으로 더 정확한 어텐션 스코어를 얻을 수 있게 합니다.

QJL: 메모리 오버헤드 없는 1비트 기법

QJL은 Johnson-Lindenstrauss 변환이라는 수학 기법을 사용합니다. 복잡한 고차원 데이터를 축소하면서도 데이터 포인트 간의 거리와 관계를 보존하는 방식이죠.

각 벡터의 숫자를 단일 부호 비트(+1 또는 -1)로 축소합니다. 실질적으로 메모리 오버헤드가 0인 고속 단축 표기를 만드는 셈입니다.

정확도를 유지하기 위해 QJL은 특수한 추정기를 사용합니다. 이 추정기는 높은 정밀도의 쿼리와 낮은 정밀도의 단순화된 데이터 사이의 균형을 전략적으로 맞춥니다. 덕분에 모델이 어텐션 스코어(입력의 어느 부분이 중요한지 판단하는 과정)를 정확하게 계산할 수 있게 되는 겁니다.

PolarQuant: 압축의 새로운 "각도"

PolarQuant는 메모리 오버헤드 문제를 완전히 다른 접근으로 해결합니다. 벡터를 표준 좌표계(X, Y, Z처럼 각 축을 따른 거리를 나타내는)로 보는 대신, 극좌표 시스템으로 변환합니다.

쉽게 말해 "동쪽으로 3블록, 북쪽으로 4블록 가세요"라고 하는 대신 "총 5블록을 37도 각도로 가세요"라고 하는 방식이죠.

그러면 두 가지 정보가 남습니다: 핵심 데이터의 강도를 나타내는 반지름과, 데이터의 방향을 가리키는 각도입니다.