AI 시스템 구축: 경량 모델 최적화
ㅁ 경량 모델 최적화
ㅇ 정의:
ㅇ 특징:
ㅇ 적합한 경우:
ㅇ 시험 함정:
ㅇ 시험 대비 “패턴 보기” 예시:
================================
1. Pruning
ㅇ 정의: 신경망의 불필요한 가중치나 뉴런을 제거하여 모델 크기와 연산량을 줄이는 기법.
ㅇ 특징: 중요도가 낮은 연결을 제거, 성능 저하 최소화, 구조적 프루닝과 비구조적 프루닝 존재.
ㅇ 적합한 경우: 메모리 제약이 심한 임베디드 환경, 모델 추론 속도 향상이 필요한 경우.
ㅇ 시험 함정: 모든 가중치 제거가 성능 향상으로 이어지지 않음, 과도한 프루닝은 과적합이나 성능 급락 유발.
ㅇ 시험 대비 “패턴 보기” 예시: “프루닝은 모델의 모든 중요한 가중치를 제거하는 과정이다(O/X)” → X
1.1 구조적 프루닝
ㅇ 정의: 레이어 단위, 채널 단위 등 구조적으로 연결을 제거하는 방식.
ㅇ 특징: 하드웨어 가속기에서 효율적, 병렬 처리에 유리.
ㅇ 적합한 경우: GPU/TPU 최적화 필요 시, 배치 처리 환경.
ㅇ 시험 함정: 비구조적 프루닝보다 성능 저하가 클 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시: “구조적 프루닝은 임의의 개별 가중치를 제거하는 방식이다(O/X)” → X
1.2 비구조적 프루닝
ㅇ 정의: 중요도가 낮은 개별 가중치를 제거하는 방식.
ㅇ 특징: 모델 파라미터 수 감소에 유리, 하드웨어 가속기에서 최적화 어려움.
ㅇ 적합한 경우: 모델 크기 최소화가 목표인 경우.
ㅇ 시험 함정: 연산 속도 향상은 제한적.
ㅇ 시험 대비 “패턴 보기” 예시: “비구조적 프루닝은 하드웨어 가속에서 항상 효율적이다(O/X)” → X
================================
2. Knowledge Distillation
ㅇ 정의: 성능이 좋은 대형 모델(Teacher)의 지식을 소형 모델(Student)에 전달하는 기법.
ㅇ 특징: Teacher의 soft target을 사용, 일반화 성능 향상.
ㅇ 적합한 경우: 경량화와 성능 유지가 동시에 필요한 경우.
ㅇ 시험 함정: Teacher 모델이 부정확하면 Student도 성능 저하.
ㅇ 시험 대비 “패턴 보기” 예시: “Knowledge Distillation은 항상 Teacher와 Student 모델의 구조가 동일해야 한다(O/X)” → X
2.1 Soft Target 기반 Distillation
ㅇ 정의: Teacher 모델의 출력 확률 분포를 Student 학습에 활용.
ㅇ 특징: 클래스 간 유사성 정보 제공.
ㅇ 적합한 경우: 다중 클래스 분류 문제.
ㅇ 시험 함정: Soft target 온도 조절(T) 값의 영향 간과.
ㅇ 시험 대비 “패턴 보기” 예시: “Soft Target은 각 클래스의 확률 분포를 전달한다(O/X)” → O
2.2 Feature-based Distillation
ㅇ 정의: 중간 레이어의 특성 맵을 Student가 모방하도록 학습.
ㅇ 특징: 내부 표현 학습 가능.
ㅇ 적합한 경우: 이미지 처리, NLP 등 다양한 딥러닝 분야.
ㅇ 시험 함정: Feature 크기 불일치 문제.
ㅇ 시험 대비 “패턴 보기” 예시: “Feature-based Distillation은 Teacher의 최종 출력만 사용한다(O/X)” → X
================================
3. Sparse Training
ㅇ 정의: 학습 과정에서부터 가중치의 희소성을 유도하여 경량화를 달성하는 기법.
ㅇ 특징: 학습 중 불필요한 연결 제거, 메모리 사용량 감소.
ㅇ 적합한 경우: 대규모 모델을 처음부터 경량화하려는 경우.
ㅇ 시험 함정: 희소성 비율이 너무 높으면 학습 불안정.
ㅇ 시험 대비 “패턴 보기” 예시: “Sparse Training은 학습 후에만 가중치를 제거한다(O/X)” → X
3.1 Dynamic Sparse Training
ㅇ 정의: 학습 중 희소 패턴을 동적으로 변경.
ㅇ 특징: 성능 저하 방지, 유연한 구조.
ㅇ 적합한 경우: 데이터 분포 변화에 민감한 환경.
ㅇ 시험 함정: 구현 복잡도 높음.
ㅇ 시험 대비 “패턴 보기” 예시: “Dynamic Sparse Training은 학습 내내 동일한 연결 구조를 유지한다(O/X)” → X
3.2 Static Sparse Training
ㅇ 정의: 학습 초기에 희소 패턴을 고정.
ㅇ 특징: 구현 간단, 일정한 구조 유지.
ㅇ 적합한 경우: 하드웨어 최적화가 중요한 경우.
ㅇ 시험 함정: 데이터 변화에 적응 어려움.
ㅇ 시험 대비 “패턴 보기” 예시: “Static Sparse Training은 학습 중 구조 변경이 가능하다(O/X)” → X
================================
4. Low-rank Approximation
ㅇ 정의: 가중치 행렬을 저차원 행렬 곱으로 근사하여 연산량과 메모리 사용량을 줄이는 기법.
ㅇ 특징: SVD(특이값 분해) 등 선형대수 기법 활용.
ㅇ 적합한 경우: 대규모 행렬 연산이 많은 모델.
ㅇ 시험 함정: 근사화로 인한 정확도 손실 가능.
ㅇ 시험 대비 “패턴 보기” 예시: “Low-rank Approximation은 항상 정확도를 향상시킨다(O/X)” → X
4.1 SVD 기반 근사
ㅇ 정의: 가중치 행렬을 특이값 분해하여 상위 k개의 성분만 사용.
ㅇ 특징: 파라미터 수 감소, 연산 효율성 향상.
ㅇ 적합한 경우: 메모리와 연산 자원이 제한된 환경.
ㅇ 시험 함정: k값 선택이 성능에 큰 영향.
ㅇ 시험 대비 “패턴 보기” 예시: “SVD 기반 근사는 모든 특이값을 사용한다(O/X)” → X
4.2 Tensor Decomposition
ㅇ 정의: 고차원 텐서를 저차원 텐서들의 곱으로 분해.
ㅇ 특징: CNN 필터 최적화에 활용.
ㅇ 적합한 경우: 이미지 처리 모델의 경량화.
ㅇ 시험 함정: 분해 방식에 따라 성능 차이 큼.
ㅇ 시험 대비 “패턴 보기” 예시: “Tensor Decomposition은 CNN 필터 최적화에 활용될 수 있다(O/X)” → O
ㅁ 추가 학습 내용
경량 모델 최적화에서는 각 기법의 적용 시기와 조합 전략이 중요하다.
Pruning과 Knowledge Distillation을 함께 사용하면 성능 저하를 최소화하면서 모델 경량화를 달성할 수 있다.
Sparse Training은 학습 초기부터 희소성을 부여하는 방식과 학습 후에 적용하는 사후 프루닝 방식의 차이를 명확히 구분해야 한다.
Low-rank Approximation 기법에는 SVD 외에도 CP 분해, Tucker 분해 등이 있으며, 각 기법의 차이와 장단점을 이해해야 한다.
시험에서는 각 최적화 기법이 GPU, TPU, Edge Device 등 하드웨어 가속 환경에서 성능에 미치는 영향과, 정밀도 손실과 연산 속도 향상 간의 트레이드오프를 묻는 문제가 출제될 가능성이 높다.