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 등 하드웨어 가속 환경에서 성능에 미치는 영향과, 정밀도 손실과 연산 속도 향상 간의 트레이드오프를 묻는 문제가 출제될 가능성이 높다.

답글 남기기

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

*
*