AI 시스템 구축: 시스템 최적화 – 양자화
ㅁ 시스템 최적화
ㅇ 정의:
– 시스템 최적화는 모델 또는 시스템의 성능을 유지하면서 자원 사용량(메모리, 연산량, 전력 등)을 최소화하는 기법을 의미한다.
ㅇ 특징:
– 하드웨어 제약이 있는 환경에서 필수적으로 적용됨
– 속도 향상, 배터리 사용 시간 연장, 배포 비용 절감
– 다양한 기법(양자화, 프루닝, 지연 로딩 등) 활용
ㅇ 적합한 경우:
– 모바일, 임베디드 디바이스, 엣지 컴퓨팅 환경
– 클라우드 비용 절감이 필요한 대규모 서비스
ㅇ 시험 함정:
– 단순히 모델 크기를 줄이는 것과 정확도 저하 없이 최적화하는 것을 혼동
– 최적화 기법별 적용 목적과 효과 구분 필요
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “모델의 연산량을 줄이면서 정확도를 유지하려는 경우 시스템 최적화를 적용한다.”
– X: “시스템 최적화는 항상 모델 정확도를 향상시킨다.”
================================
1. 양자화
ㅇ 정의:
– 모델의 가중치와 활성값을 부동소수점 대신 더 낮은 비트 정밀도로 표현하여 메모리 사용량과 연산량을 줄이는 최적화 기법
ㅇ 특징:
– 32비트 부동소수점(FP32)을 16비트(FP16) 또는 8비트(INT8) 등으로 변환
– 모델 크기 감소, 연산 속도 향상, 전력 소모 절감
– 일부 경우 정확도 소폭 저하 가능
ㅇ 적합한 경우:
– 모바일/임베디드 환경에서 모델 배포
– 대규모 추론 서비스에서 비용 절감 필요 시
ㅇ 시험 함정:
– 양자화는 학습 과정 없이 적용 가능하다고 오해 (Post-training quantization과 Quantization-aware training 구분 필요)
– 모든 모델에서 정확도 손실이 없는 것은 아님
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “양자화는 모델의 가중치 정밀도를 낮춰 연산 효율을 높이는 기법이다.”
– X: “양자화는 항상 모델의 정확도를 향상시킨다.”
ㅁ 추가 학습 내용
양자화는 크게 두 가지 접근 방식이 있다.
첫째, Post-training Quantization(사후 양자화)은 모델 학습이 끝난 후 양자화를 적용하는 방법이다.
둘째, Quantization-aware Training(QAT, 양자화 인지 학습)은 학습 과정에서 양자화 효과를 반영하여 정확도 저하를 최소화하는 방법이다.
양자화 대상은 가중치뿐 아니라 활성값(activation)에도 적용할 수 있다.
양자화 방식에는 대칭(symmetric) 방식과 비대칭(asymmetric) 방식이 있으며, 적용 단위에 따라 per-tensor 양자화와 per-channel 양자화로 나뉜다.
시험 대비를 위해 INT8, FP16, bfloat16 등의 데이터 타입 차이를 이해하고, 각 타입이 TPU, NPU, GPU 등 하드웨어 가속기에서 지원되는지 여부를 숙지하는 것이 중요하다.