AI: 가중치 최적화

ㅁ 가중치 최적화

ㅇ 정의:
모델의 파라미터(가중치)를 효율적으로 조정하거나 감소시켜 연산량과 메모리 사용량을 줄이는 기술.

ㅇ 특징:
– 성능 유지 또는 최소 성능 저하를 목표로 함
– 학습 또는 학습 후 단계에서 적용 가능
– 경량화와 추론 속도 향상에 기여

ㅇ 적합한 경우:
– 엣지 디바이스, 모바일 환경
– 실시간 추론이 필요한 응용

ㅇ 시험 함정:
– 경량화 기법과 학습 가속 기법 혼동
– 모델 압축과 단순 파라미터 감소의 차이 구분 필요

ㅇ 시험 대비 “패턴 보기” 예시:
O: “모델의 가중치를 줄여 추론 속도를 향상시키는 기법이다.”
X: “가중치 최적화는 항상 정확도를 향상시킨다.”

================================

1. Knowledge Distillation

ㅇ 정의:
큰 모델(Teacher)의 지식을 작은 모델(Student)에 전달하여, 작은 모델이 유사한 성능을 내도록 학습시키는 기법.

ㅇ 특징:
– Teacher의 Soft Label(로짓) 활용
– Student 모델의 구조는 Teacher보다 작음
– 학습 과정에서 Teacher와 Student 동시 사용

ㅇ 적합한 경우:
– 제한된 리소스 환경에서 고성능 요구
– 대규모 모델 학습 후 배포 최적화

ㅇ 시험 함정:
– 단순 파라미터 복사와 혼동
– Knowledge Transfer와 Distillation 차이 모호하게 출제

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Teacher 모델의 예측 확률 분포를 Student 모델 학습에 활용한다.”
X: “Knowledge Distillation은 Teacher와 Student의 구조가 동일해야 한다.”

================================

2. Pruning

ㅇ 정의:
모델의 불필요한 가중치나 뉴런을 제거하여 크기와 연산량을 줄이는 기법.

ㅇ 특징:
– 가중치 값이 작은 연결부터 제거하는 경우가 많음
– 비구조적(Non-structured) 방식 가능
– 학습 중 또는 학습 후 적용 가능

ㅇ 적합한 경우:
– 메모리 제약이 큰 환경
– 추론 속도 향상이 필요한 경우

ㅇ 시험 함정:
– Pruning 후 반드시 성능이 유지된다고 착각
– Structured와 Non-structured 혼동

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Pruning은 중요도가 낮은 가중치를 제거하여 모델을 경량화한다.”
X: “Pruning은 항상 모델 속도를 향상시킨다.”

================================

3. Structured Pruning

ㅇ 정의:
채널, 필터, 레이어 단위로 구조적으로 파라미터를 제거하는 Pruning 방식.

ㅇ 특징:
– 하드웨어 최적화에 유리
– 메모리 및 연산량 동시 절감
– 비구조적 Pruning보다 구현 복잡도가 낮음

ㅇ 적합한 경우:
– GPU, TPU 등 병렬 연산 하드웨어에서 최적화 필요
– 모델 구조 단순화 목적

ㅇ 시험 함정:
– 가중치 단위 제거와 혼동
– Structured Pruning이 항상 정확도 손실이 적다고 단정

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Structured Pruning은 필터 단위로 제거하여 하드웨어 효율성을 높인다.”
X: “Structured Pruning은 가중치 하나씩 제거하는 방식이다.”

================================

4. Compound Scaling

ㅇ 정의:
모델의 깊이, 너비, 해상도를 균형 있게 조정하여 성능과 효율을 동시에 최적화하는 기법.

ㅇ 특징:
– 단일 차원 확장이 아닌 다차원 동시 확장
– EfficientNet에서 대표적으로 사용
– 제한된 리소스 내 성능 극대화

ㅇ 적합한 경우:
– 다양한 하드웨어 환경에서 모델 배포
– 성능-자원 효율 균형 필요

ㅇ 시험 함정:
– 단일 차원 확장과 혼동
– Compound Scaling이 특정 모델 전용이라고 오해

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Compound Scaling은 깊이, 너비, 해상도를 동시에 조정한다.”
X: “Compound Scaling은 모델의 깊이만 조정한다.”

================================

5. Post-training Quantization

ㅇ 정의:
학습 완료 후 모델의 가중치와 연산을 낮은 비트 정밀도로 변환하여 경량화하는 기법.

ㅇ 특징:
– 학습 재진행 불필요
– INT8, FP16 등 저정밀도 형식 사용
– 속도 향상 및 메모리 절감 가능

ㅇ 적합한 경우:
– 학습 데이터 접근이 어려운 경우
– 배포 직전 경량화 필요

ㅇ 시험 함정:
– Quantization-aware Training과 혼동
– 모든 경우에 성능 저하가 없다고 착각

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Post-training Quantization은 학습 후 가중치를 저정밀도로 변환한다.”
X: “Post-training Quantization은 반드시 학습 데이터를 다시 사용해야 한다.”

ㅁ 추가 학습 내용

Knowledge Distillation에서는 Temperature 파라미터가 Softmax 출력 분포를 부드럽게 하여 모델 간 지식 전달을 용이하게 하는 역할을 하며, Soft Label은 Teacher 모델이 예측한 확률 분포로서 Hard Label보다 더 많은 정보(클래스 간 유사도 등)를 제공한다. 또한 Student 모델이 반드시 Teacher 모델보다 작을 필요는 없으며, 특정 목적이나 구조 최적화에 따라 더 크거나 복잡한 경우도 존재한다.

Pruning에서는 Sparsity 비율이 전체 파라미터 중 제거된 비율을 의미하며, 모델 성능 유지나 회복을 위해 Fine-tuning 과정이 필요하다. Structured Pruning은 채널, 필터 단위로 제거하여 하드웨어 가속 효율이 높고, Non-structured Pruning은 개별 가중치를 제거해 더 높은 압축률을 가능하게 하지만 하드웨어 효율이 낮다.

Compound Scaling에서는 α, β, γ가 각각 네트워크 깊이, 너비, 해상도를 조정하는 스케일링 계수로, 주어진 리소스 제약 내에서 균형 잡힌 성능 향상을 위해 특정 계산 규칙에 따라 결정된다.

Post-training Quantization에서는 Symmetric Quantization이 양수와 음수 범위를 대칭적으로 매핑하는 방식이고, Asymmetric Quantization은 범위를 비대칭적으로 매핑하여 데이터 분포에 더 유연하게 대응한다. Per-tensor Quantization은 텐서 전체에 하나의 스케일과 제로 포인트를 적용하며, Per-channel Quantization은 채널별로 다른 스케일을 적용해 정밀도를 높일 수 있다. 적용 시 데이터 분포, 연산 하드웨어 특성, 정밀도 손실 허용 범위 등이 성능에 영향을 준다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*