모델 압축 (Model Compression)

핵심 인사이트 (3줄 요약)

모델 압축은 대형 AI 모델을 정확도 손실을 최소화하면서 크기·속도·전력 소비를 줄이는 기술로, **지식 증류(Knowledge Distillation)·가지치기(Pruning)·양자화(Quantization)**가 3대 기법이다. LLM Time: INT8→INT4→FP8 양자화와 LoRA 결합의 QLoRA가 2024년 표준이 되었으며, 엣지 AI·온디바이스 AI 배포의 핵심 요소다.


Ⅰ. 개요 ↔ 개념 + 등장 배경

개념: 모델 압축은 딥러닝 모델의 연산량·메모리·파라미터를 줄여 추론 속도를 높이고 배포 비용을 낮추면서 성능 저하를 최소화하는 기술 집합이다.

비유: "백과사전 → 핵심 요약집 — 내용은 거의 같지만 크기는 1/10, 찾기는 10배 빠름"

등장 배경:

  • LLM 크기 폭발: GPT-3 175B → 스마트폰·엣지에서 실행 불가
  • 추론 비용: GPT-4 API 100K 토큰 = $10 → 비용 최적화 필수
  • On-device AI 수요: 클라우드 없이 프라이버시 보장 AI 처리
  • 에너지 효율: AI의 탄소발자국 규제 강화

Ⅱ. 구성 요소 및 핵심 원리

3대 압축 기법 비교:

기법원리크기 절감정확도 손실복잡도
양자화FP32→INT8/INT44~8배↓작음낮음
가지치기중요도 낮은 가중치 제거2~10배↓중간중간
지식 증류큰 모델→작은 모델 학습10~100배↓낮음높음
저랭크 분해행렬 SVD 분해2~5배↓작음낮음
아키텍처 탐색 (NAS)효율적 구조 자동 탐색가변작음매우 높음

핵심 원리:

[1. 양자화 (Quantization)]
FP32 가중치 → INT8 (8비트 정수) 변환

Scale = (max - min) / (2^8 - 1)
quantized = round(weight / scale)

FP32(4bytes) → INT8(1byte): 4배 메모리 절감, 4배 빠름!
INT4(0.5byte): 8배 절감 (QLoRA, llama.cpp 사용)
FP8 (H100 네이티브): 학습 효율 2배↑

[2. 가지치기 (Pruning)]
크기 작은 가중치 → 0으로 설정 (밀도 감소)
비구조적 가지치기: 임의 위치 가중치 제거
구조적 가지치기: Attention Head·레이어 전체 제거 → 하드웨어 친화

[3. 지식 증류 (Knowledge Distillation)]
Teacher Model (GPT-4) → Student Model (작은 모델)
손실 함수:
L = α·L_CE(labels, student) + (1-α)·T²·KL(softmax(teacher/T), softmax(student/T))
T: 온도 (Teacher 확률분포를 부드럽게)
"정답만 아니라 Teacher가 어떻게 생각하는지도 학습"

Phi-3-mini (3B): GPT-4 수준 데이터로 증류 → 소형 모델의 놀라운 성능

코드 예시 (지식 증류):

import torch
import torch.nn as nn
import torch.nn.functional as F

def distillation_loss(student_logits, teacher_logits, labels, 
                       alpha=0.5, temperature=4.0):
    """지식 증류 손실 함수"""
    # 소프트 레이블 손실 (Teacher 분포 모방)
    soft_loss = F.kl_div(
        F.log_softmax(student_logits / temperature, dim=-1),
        F.softmax(teacher_logits / temperature, dim=-1),
        reduction="batchmean"
    ) * (temperature ** 2)
    
    # 하드 레이블 손실 (정답 분류)
    hard_loss = F.cross_entropy(student_logits, labels)
    
    return alpha * hard_loss + (1 - alpha) * soft_loss

양자화 유형:

PTQ (Post-Training Quantization):
  학습 완료 후 양자화 → 빠르고 간단
  GPTQ, AWQ, SmoothQuant (LLM 특화)

QAT (Quantization-Aware Training):
  학습 중에 양자화 시뮬레이션 → 더 정확
  훈련 시간 2~3배 증가

QLoRA (Fine-tuning 특화):
  4bit 양자화 기반 모델 + LoRA 파인튜닝
  = 단일 RTX 4090으로 LLaMA-70B 파인튜닝 가능!

Ⅲ. 기술 비교 분석 ↔ 장단점 + 기법별 사용 사례

장단점:

장점단점
추론 속도 대폭 향상정확도 손실 (특히 양자화)
메모리 사용량 감소압축 과정 복잡 (특히 증류)
엣지/모바일 배포 가능태스크별 최적화 필요
비용·전력 절감구조적 가지치기 시 재설계 필요

LLM 양자화 도구 비교:

도구방법지원 모델특징
GPTQPTQ, INT4LLaMA, GPT고속 추론 최적화
AWQPTQ, INT4LLaMA, MistralActivation-aware
llama.cppGGUF (INT4/5/8)범용CPU+GPU 추론
TensorRT-LLMINT8/FP8NVIDIA GPU최고 성능 (NVIDIA)
vLLMContinuous Batching범용 서빙처리량 최대화

Ⅳ. 실무 적용 방안

기술사적 판단:

목표기법기대 효과
모바일 AI지식 증류 (Teacher→Student)GPT-4급 Teacher → Phi-3 수준 Student
엣지 서버GPTQ INT4 양자화메모리 8배↓, 속도 3~4배↑
LLM 서비스 비용 절감FP8 + vLLM처리량 2~3배↑, 비용 50%↓
스마트폰 배포TFLite + INT8클라우드 없이 On-device 추론
LLM 파인튜닝QLoRA (4bit)GPU 1장으로 70B 모델 파인튜닝

관련 개념: 양자화, 가지치기, 지식 증류, LoRA, QLoRA, TensorRT, ONNX, llama.cpp, vLLM


Ⅴ. 기대 효과 및 결론

효과 영역내용정량적 효과
모델 크기INT4 양자화원본 대비 8배 크기 절감
추론 속도TensorRT 최적화latency 3~5배 단축
배포 비용엣지 배포 최적화클라우드 비용 80% 절감

결론: 모델 압축은 "AI 민주화의 핵심 기술" — 수천억 파라미터 모델을 일반 GPU·스마트폰에서 실행 가능하게 한다. INT4 양자화+지식증류+LoRA의 3중 조합이 2024~2025년 실무 표준이며, vLLM+TensorRT가 서빙 최적화의 표준이다.


어린이를 위한 종합 설명

모델 압축은 "백과사전을 핵심 요약집으로 만들기"야!

원본 LLM: 140GB (학교 도서관 전체)
→ 폰에 넣기 불가능!

양자화 (INT4):
  소수점 전부 → 정수로 바꾸기
  "3.14159..." → "3" (약간 틀리지만 훨씬 작음!)
  → 140GB → 17.5GB (8배 작아짐!)

지식 증류:
  GPT-4 (선생님) → 작은 AI (학생)
  "선생님처럼 생각하는 법을 가르침"
  → 선생님 실력의 80%를 가진 학생 완성!

모델 압축 = AI에게 "다이어트"시켜서 스마트폰에도 들어가게 만들기! 📱✂️🤖