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: “값의 정밀도”를 비트 축소 → 정수 전용 하드웨어·런타임 지원 시에만 최대 성능
'Machine Learning' 카테고리의 다른 글
| 양자화(Quantization) (2) | 2025.07.29 |
|---|---|
| LLM 파인튜닝 방법론 (3) | 2025.07.26 |
| RAG (Retrieval Augmented Generation) 심층 분석 (2) | 2025.07.26 |
| 프롬프트 엔지니어링 완벽 가이드 (0) | 2025.07.26 |
| Re-ranker, Bi-encoder vs Cross-encoder: RAG 시스템을 더 똑똑하게! (0) | 2025.07.22 |