AI: 모델 경량화 및 효율화

ㅁ 모델 경량화 및 효율화

1. Pruning

ㅇ 정의:
– 신경망에서 중요도가 낮은 가중치나 뉴런 연결을 제거하여 모델 크기와 연산량을 줄이는 기법.

ㅇ 특징:
– 파라미터 수 감소, 메모리 사용량 절감, 추론 속도 향상.
– 구조적(Structural) Pruning과 비구조적(Unstructured) Pruning으로 구분.

ㅇ 적합한 경우:
– 모델이 지나치게 크고, 메모리나 연산 자원이 제한적인 환경.
– 모바일, 임베디드 기기 배포 시.

ㅇ 시험 함정:
– Pruning은 학습 데이터 손실 없이 항상 정확도가 향상된다고 오해하는 경우(O). → 실제로는 정확도 하락 가능성 있음(X)

ㅇ 시험 대비 “패턴 보기” 예시:
– “Pruning은 모델의 모든 파라미터를 제거하여도 정확도에 영향이 없다” (X)
– “Pruning은 중요도가 낮은 가중치를 제거하여 모델 효율성을 높인다” (O)

2. Quantization

ㅇ 정의:
– 모델의 가중치와 연산을 고정 소수점 또는 더 낮은 비트 정밀도로 변환하여 경량화하는 기법.

ㅇ 특징:
– 32-bit float → 8-bit int 등으로 변환.
– 메모리 사용량과 연산량 대폭 감소.
– 일부 경우 정확도 손실 발생.

ㅇ 적합한 경우:
– 하드웨어 가속기(TPU, NPU 등)에서 저정밀 연산을 지원하는 경우.
– 실시간 추론이 필요한 환경.

ㅇ 시험 함정:
– Quantization은 항상 정확도를 유지한다(O) → 실제로는 X, 정확도 손실 가능.

ㅇ 시험 대비 “패턴 보기” 예시:
– “Quantization은 모델의 가중치를 낮은 비트로 변환하여 메모리 사용량을 줄인다” (O)
– “Quantization은 32-bit float를 8-bit int로 변환하는 것이 대표적이다” (O)
– “Quantization은 연산 속도에 영향을 주지 않는다” (X)

3. Knowledge Distillation

ㅇ 정의:
– 큰 모델(Teacher)의 지식을 작은 모델(Student)에 전달하여 성능을 유지하며 경량화하는 기법.

ㅇ 특징:
– Teacher 모델의 Soft Label을 활용.
– Student 모델이 Teacher의 출력 분포를 학습.

ㅇ 적합한 경우:
– 고성능 모델을 경량화하여 모바일 환경에 배포할 때.
– 모델 집합(Ensemble)을 단일 모델로 축소할 때.

ㅇ 시험 함정:
– Knowledge Distillation은 Teacher와 Student가 반드시 동일한 구조여야 한다(O) → 실제로는 X, 구조 달라도 가능.

ㅇ 시험 대비 “패턴 보기” 예시:
– “Knowledge Distillation은 Teacher 모델의 Soft Label을 사용한다” (O)
– “Student 모델은 Teacher 모델보다 항상 크다” (X)
– “서로 다른 구조의 모델 간에도 Distillation이 가능하다” (O)

4. 잔차 연결(Residual Connections)

ㅇ 정의:
– 입력을 변환 결과에 더하여 전달하는 skip connection 구조로, 깊은 신경망 학습 시 기울기 소실 문제를 완화.

ㅇ 특징:
– ResNet에서 처음 제안.
– 학습 안정성 향상, 깊은 네트워크 학습 가능.

ㅇ 적합한 경우:
– 매우 깊은 네트워크 설계 시.
– 기울기 소실/폭주 문제로 학습이 어려운 경우.

ㅇ 시험 함정:
– 잔차 연결은 항상 모델 크기를 줄인다(O) → 실제로는 X, 성능 안정화를 위한 구조.

ㅇ 시험 대비 “패턴 보기” 예시:
– “Residual Connection은 입력을 출력에 더하는 구조이다” (O)
– “Residual Connection은 기울기 소실 문제를 완화한다” (O)
– “Residual Connection은 모델 파라미터 수를 줄인다” (X)

ㅁ 추가 학습 내용

추가 학습 정리

Pruning
– 구조적 Pruning: 네트워크의 특정 구조(채널, 필터 등)를 제거하여 하드웨어 가속기에서 속도 향상 효과가 큼.
– 비구조적 Pruning: 개별 가중치를 제거하는 방식으로 파라미터 수는 줄지만, 하드웨어 속도 향상은 제한적임.

Quantization
– Post-Training Quantization(PTQ): 학습 완료 후 모델의 가중치와 연산을 저정밀도로 변환. 간단하지만 정확도 손실이 클 수 있음.
– Quantization-Aware Training(QAT): 학습 과정에서 양자화를 고려하여 학습. 정확도 유지에 유리하지만 학습 과정이 복잡함.

Knowledge Distillation
– Temperature 파라미터: Softmax 출력을 부드럽게 하여 클래스 간 확률 분포 차이를 완화, 학생 모델이 더 풍부한 정보 학습 가능.
– Soft Label: 교사 모델이 생성한 확률 분포 레이블로, 단순한 정답 레이블보다 추가적인 정보 제공.

Residual Connections
– Residual Connection: 입력을 출력에 더하는 방식으로 기울기 소실을 완화.
– DenseNet의 Dense Connection: 이전 모든 층의 출력을 연결(concatenate)하여 다음 층에 전달, 특징 재사용 극대화.

모델 경량화 기법 조합
– Pruning + Quantization: 파라미터와 연산량 모두 감소 가능, 순서와 적용 방식에 따라 정확도 손실에 유의.
– Distillation + Quantization: 작은 모델의 정확도 향상과 경량화를 동시에 달성 가능, 학습 과정이 복잡해질 수 있음.

하드웨어 친화적 최적화
– Edge AI, IoT 환경에서 메모리, 연산 자원 제한을 고려한 경량화 기법 적용 사례 학습 필요.

시험 출제 경향
– 각 기법의 목적, 장단점, 적용 환경 비교 문제
– 주어진 시나리오에 적합한 경량화 방법 선택 문제

답글 남기기

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

*
*