IsoQuant: 4차원 쿼터니언 회전으로 LLM KV‑캐시 압축 혁신
IsoQuant은 4차원 블록을 쿼터니언으로 표현해 SO(4) 등각 회전을 수행하는 경량화된 변환 프레임워크이다. IsoQuant‑Full은 양쪽 쿼터니언을 이용해 완전한 6 자유도를 구현하고, IsoQuant‑Fast는 하나의 등각 인자를만 사용해 연산량을 절반으로 줄인다. 128‑차원에서 RotorQuant 대비 2배 이상 적은 FMAs(1 024 vs 2 408)를 요구하며, CUDA 커널 실험에서 4.5×~4.7× 평균 속도 향상을 달성…
저자: Zhongping Ji
본 논문은 대규모 언어 모델(LLM)의 KV‑캐시 압축에서 핵심적인 병목 현상을 완화하기 위해, 기존의 고차원 직교 변환을 대체할 수 있는 블록‑단위 회전 프레임워크인 IsoQuant을 제안한다.
1. **배경 및 문제 정의**
- 온라인 벡터 양자화는 스칼라 양자화 전에 특징을 직교 변환으로 decorrelate 하면 비트‑당 왜곡(MSE)을 크게 낮출 수 있다.
- 그러나 d × d 밀집 직교 행렬은 O(d²) 파라미터와 연산을 요구해, 실시간 추론에 부적합하다.
- RotorQuant은 3차원 클리포드 로터를 블록 단위로 적용해 복잡도를 O(d)로 낮췄지만, (1) 3차원 블록이 2의 거듭 제곱 차원과 정렬되지 않아 메모리 패딩·비효율이 발생하고, (2) 3 자유도만 제공해 로컬 혼합 능력이 제한적이다.
2. **IsoQuant의 핵심 아이디어**
- 차원을 4로 늘려 각 블록을 쿼터니언(v = x₀ + x₁i + x₂j + x₃k)으로 표현한다.
- SO(4) 군은 su(2)_L ⊕ su(2)_R 로 분해될 수 있음을 이용해, 두 개의 단위 쿼터니언 q_L, q_R가 각각 좌·우 등각 인자를 담당한다.
- 변환은 T(v) = q_L · v · q_R 형태의 “sandwich” 연산으로 구현되며, 이는 16개의 FMAs와 12개의 덧셈으로 계산된다.
- (q_L, q_R)와 (−q_L, −q_R)는 동일 변환을 만들므로, 파라미터 저장 시 이중 커버를 고려해 8 g₄(=8·⌈d/4⌉) 실수만 필요하다.
3. **두 가지 실용적 변형**
- **IsoQuant‑Full**: q_L과 q_R를 모두 사용해 전체 6 자유도의 SO(4) 회전을 구현한다. 블록 내부 혼합이 가장 강력해, 양자화 전후 MSE 감소에 가장 큰 기여를 한다.
- **IsoQuant‑Fast**: q_R를 1(또는 단순히 q_L만 사용)로 고정해 연산량을 절반으로 줄인다. 이는 3차원 SO(3) 서브그룹에 해당하지만, 실험에서는 속도·정확도 트레이드오프가 유리하게 작용한다.
- **2D 특수 케이스**: 2차원 평면 회전 R(θ)만 적용하는 경량 옵션을 제공한다. 파라미터와 연산이 가장 적지만, 로컬 혼합 능력이 제한적이므로 보조적인 역할에 머문다.
4. **복잡도 및 하드웨어 정렬**
- d = 128일 때, RotorQuant은 43개의 3D 블록(≈2 408 FMAs) 필요하지만, IsoQuant‑Full은 32개의 4D 블록(≈1 024 FMAs), IsoQuant‑Fast는 32개의 4D 블록(≈512 FMAs)만으로 동일 작업을 수행한다.
- 4D 블록은 GPU 워프(32 스레드)와 자연스럽게 매핑돼, 메모리 연속성 및 공동 메모리 활용이 최적화된다.
- 파라미터 수는 여전히 밀집 변환에 비해 극히 적으며, 블록 수가 ⌈d/4⌉ 로 정수이기 때문에 패딩이 최소화된다.
5. **통계적·수학적 근거**
- Haar‑분포를 따르는 4차원 회전은 각 좌표의 마진 분포가 f₄(z)=2/π·√(1−z²) 형태로 중앙에 집중된다. 이는 양자화 시 좌표가 극단값을 갖는 확률을 감소시켜, 낮은 비트(2~4비트)에서도 MSE를 크게 낮춘다.
- 블록‑단위 독립 회전은 기대값 상에서 블록 내부를 등방성으로 만들고, 블록 간 상관을 평균적으로 소멸시킨다(E
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기