구글 리서치에서 터보퀀트(TurboQuant) 라는 새로운 AI 압축 알고리즘 논문을 발표했다.
AI 전문가 분들이라면 단순 뉴스 기사만 보고도 어떤 알고리즘의 숙제를 풀어간건지 알 수 있지만, 나는 그렇지 못하기에 정리를 해보았다.
TurboQuant 도전한 과제
| 도전 | 터보퀀트 |
| 메모리 절감 | 최대 6배 절감 |
| 추론 속도 | 최대 8배 향상 (H100 기준) |
| 정확도 유지 | 0에 근사한 정확도 손실 |
TurboQuant 주요 기술
> 극좌표 양자화 PolarQuant
고차원 벡터 데이터를 격자 형태가 아닌 구형 (극좌표) 기반으로 변환한다.
데이터가 특정 곡선형태를 띠게 유도하여 추가적인 메타데이터(양자화 상수) 없이도 아주 작은 비트(최소 3비트)로 압축할 수 있게함.
> QJL (Quantized Johnson-Lindenstrauss)
압축 과정에서 발생하는 미세한 오차를 비트 단위의 "보정 레이어"로 해결한다.
이를 통해, 압축 후에도 벡터 간 관계 Attention Score 가 수학적으로 완벽에 가깝게 유지된다.
> 데이터 독립성 (Data-Oblivious)
특정 데이터셋으로 다시 학습시키거나 캘리브레이션할 필요없이 어떤 모델에도 즉시 적용 가능한 범용 프레임워크이다.
빠르게 보자.
1. 무슨 메모리를 6배까지나 절감했나?
2. 단순히 감소된 메모리에서 연산을 한다고 최대 8배 빨라지는건가?
3. 압축을 했는데 보정 레이어가 뭐길래 정확도가 거의 유지되는 걸까?
1. 무슨 메모리를 6배까지나 절감했나?
- LLM모델의 용량이 아닌 KV Cache 메모리의 크기이다.
- 모델 Quantization이 아니다.
- 모델을 서빙할때 모델자체가 차지하는 메모리가 아닌다.
- 모델이 대화할 때 사용하는 KV Cache 메모리의 크기가 절감되었다.
- 기존 한계
- 일반적인 모델은 Float16 정밀도에서 토큰 하나당 상당한 메모리르 차지한다.
- 그리고 문맥 이 길어질수록 이에 따라 KV Cache 가 사용하는 메모리도 증가하게된다.
- 즉, GPU 메모리가 가득 차게된다.
- 6배 절감
- 극좌표 양자화를 통해 (1) Float16 ==16bit 에서 3bit 이하로 압축한다.
- 극좌표 양자화를 통해 (2) 메타데이터(양자화 파라미터) 오버헤드까지 제거하였다.
- 16 / 3 = 5.33 배
2. 단순히 감소된 메모리에서 연산을 한다고 최대 8배 빨라지는건가?
- LLM 추론이 메모리 대역폭 제한 / Memory Bound 작업 때문이다.
- 병목 현상
- 그래픽카드의 GPU 연산기는 엄청 빠르지만, 그래픽카드 메모리에서 데이터를 가져오는 속도가 훨씬 느리기 때문이다.
- 컴퓨터로 비교하였을 때, CPU 처리속도, Memory Read/Write 속도, Disk Read/Write 를 생각하면 된다.
- 즉, GPU가 메모리에서 데이터가 오기만을 기대리는 상황이 빈번하게 발생하여 실제로 처리를 제때 못하고 있다.
- 8배 가속
- 전송량 감소 : 극좌표 양자화를 통해 6배 압축된 데이터 이므로 (1) 메모리 대역폭 시간 자체가 6배 줄어든다.
- 커널 최적화 : 극좌표 양자화를 통해 6배 압축된 데이터 이므로 (2) 압축된 데이터를 그대로 연산을 수행하거나, 압축 해제 과정을 Tensor Core 등 하드웨어 가속기에 최적화된 방식으로 처리한다.
- 메모리 대역폭 데이터 전송 효율이 극대화로 전체 추론 속도의 산술적 압축률(6배) 를 상회하는 8배까지 오르게 되는 것이다.
3. 압축을 했는데 보정 레이어가 뭐길래 정확도가 거의 유지되는 걸까?
- Quantization 의 문제는 정보 손실이다.
- 예를들어, float16 의 모델을 int8로 줄이면 정확도가 떨어지게 된다.
- 16bit를 3bit로 줄이면 당연하게도 data의 표현범위가 줄어들어 의미가 훼손되기 때문이다.
- 이를 해결해기 위해 QJL 을 사용한다.
- Johnson-Lindenstrauss(JL) 보조정리
- 고차원 벡터를 저차원으로 투영해도 벡터 간의 '거리(관계)'는 보존될 수 있다는 수학적 이론이다.
- 보정 레이어
- 우선, 데이터를 3bit 압축한다. 이때 당연히 오차는 발생한다.
- QJL 이 이 오차값들만 따로 모아 아주 작은 비트로 요약한 별도의 레이어를 둔다.
- Self Attention 연산 시, 압축된 데이터로 계산한 결과에 "보정 레이어" 의 값을 약간 더해주면 원래 16bit로 계산했을 때의 Attention Score 와 거의 동일한 결과가 나온다.
- 즉, 보정 레이어를 통해 3bit 로 압축된 Vector Search 에서 Vector 간 상대적인 거리관계를 유지할 수 있게된다.
출처
- 구글 리서치 : https://research.google/blog/turboquant-redefining-ai-efficiency-with-extreme-compression/
- arXiv 논문 원문 : https://arxiv.org/abs/2504.19874
'IT 소식 (CS, AI 위주)' 카테고리의 다른 글
| LiteLLM 공급망 해킹 공격 침해 (0) | 2026.03.28 |
|---|