Low-rank Approximation vs. Quantization 비교

1. 핵심 개념

  Low-rank Approximation Quantization
정의 행렬 W\in\mathbb R^{m\times n}를 저차원 랭크 k의 두 행렬 U(m\times k), V^T(k\times n)의 곱으로 근사 실수형 가중치/활성화를 8/4/2/1-bit 정수값으로 매핑
주된 기법 SVD, PCA 등으로 특이값 기반 차원 축소 Uniform/Non-uniform 그리드로 실수→정수 변환 (PTQ/QAT)
오차 특성 전역적 재구성 오차 (특이값 일부 제외) 값별 양자화 잡음 (계단식 오류)
모델 변형 구조 변경 후 재학습(미세조정) 가능 런타임 스케일·제로포인트 관리 필요

 

2. 성능·메모리 이점

Low-rank

  • 연산: O(mn k)O(mk + k n) (두 개의 작은 GEMM)
  • 메모리: 원본 대비 \frac{mk + kn}{mn} 비율로 절감

Quantization

  • 연산: 8-bit/4-bit 정수 연산 → SIMD 가속, 메모리 대역폭 절감
  • 메모리: 비트 수 비례(예: FP32→INT8는 4× 절감)

 

3. 하드웨어·소프트웨어 요구사항 비교

  Low-rank Approximation Quantization
연산 유닛 표준 FP32/FP16 매트릭스 곱(GEMM) 커널 이용 저비트(int8/4/2/1) 전용 정수 연산 유닛 필요
추가 오버헤드 별도 분해 단계(offline)만 필요, 런타임엔 두 GEMM 수행 양자화↔복원(Dequant) 스케일·제로포인트 오버헤드
메모리 포맷 일반 행렬 레이아웃 유지 블록 단위 저비트 포맷 지원 필요 (드라이버·런타임)
라이브러리 지원 BLAS/cuBLAS 등 범용 가속기 그대로 사용 하드웨어별 QAT/PTQ 라이브러리 필요 (TensorRT, QNNPACK 등)
  • Low-rank 는 특별한 유닛 없이도 GPU/Tensor Core의 표준 GEMM 성능을 그대로 활용
  • Quantization 은 “양자화 전용” 하드웨어·런타임 지원이 있어야 진정한 속도 이득

 

4. 적용 시점 및 트레이드오프

  Low-rank Approximation Quantization
적용 대상 대규모 FC, Attention 매트릭스 등 모든 레이어 가중치·활성화
정밀도 제어 랭크 k로 표현력 제어 비트 수(bit-width)로 정밀도 제어
적용 난이도 분해 및 재학습 절차 필요 PTQ(사후), QAT(사전) 워크플로우 필요
정확도 영향 랭크가 너무 낮으면 표현력 손실 비트수가 너무 작으면 심각한 정확도 저하

 

5. 언제 어떤 기법을 쓸까?

Low-rank Approximation

  • 대형 매트릭스에 대한 구조적 경량화가 주목적일 때
  • 기존 FP32/FP16 연산만으로 효율 개선을 원할 때
  • 분해 이후 미세조정을 통해 손실을 보완할 수 있을 때

Quantization

  • 엣지/모바일 디바이스 등 극한의 메모리·대역폭 제약이 있을 때
  • 하드웨어가 INT8 이하 저비트 연산을 강력히 지원할 때
  • 실시간 추론 레이턴시를 최대로 낮춰야 할 때
조합 활용
두 기법은 상호 보완적입니다.
먼저 Low-rank 근사로 구조적 경량화를 진행한 뒤, 그 결과를 저비트 양자화하면 모델 크기·연산량을 이중으로 줄여 최대 경량화를 달성할 수 있습니다.

 

최종 요약

  • Low-rank: “모델 구조” 자체를 저차원 근사 → 표준 FP 매트릭스 곱으로 어디서나 효율 개선
  • Quantization: “값의 정밀도”를 비트 축소 → 정수 전용 하드웨어·런타임 지원 시에만 최대 성능