[최적화] 딥러닝 모델 더 작게 만들기(경량화) 내용 정리
강의 내용
https://m.boostcourse.org/ai302/lecture/1474488#
딥러닝 모델 더 작게 만들기(경량화)
부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.
m.boostcourse.org
경량화의 목적
딥러닝 모델이 다양한 분야에서 널리 사용중임
- on device ai의 한계
- 배터리에 의존하기 때문에 power사용량 제약이 존재함. 또한, 메모리, 저장공간, computing power 모두 제약이 존재함
- AI on Cloud
- on device ai와 비교하여 제약은 줄어드나, 처리 속도(빠르게), 처리량(많게)의 제약이 존재함.
==> 경량화는 실제 산업에 적용되기 위해 필수적임.
* 연산 측정 방법
1. Computing operations (FLOPs)
2. Gpu times
경량화 분야 소개
- 네트워크 구조 관점
1. Efficient Architecture Design (ex. NAS) : block 모듈
2. Network Pruning : 중요도가 낮은 파라미터를 제거하는 것
3. Knowledge Distillation : 학습된 teacher net의 knowledge를 전달하는 것
4. Matrix/Tensor Decomposition : 가중치 tensor를 더 작은 단위로 표현하는 것
- 하드웨어 관점
1. Network Quantization : floating point를 작은 크기의 데이터 타입으로 매핑하는 것
2. Network Compling : target 하드웨어가 정해져 있을 때, 네트워크를 컴파일하는 것