모델 경량화의 필요성
경량화란 모델의 기존의 성능을 유지한채 더 적은 파라미터 수와 연산량을 가지는 모델을 만드는 것이다. 그렇다면 왜 경량화가 필요할까? AI 모델 학습에 들어가는 연산은 시간이 지나면서, 기하급수적으로 증가하고 있다. 또한 AI를 산업에 적용되기 위해서는 다양한 요구조건들이 고려된다. 이러한 상황에서 동일한 조건으로 최대의 결과를 얻기 위해서는 모델의 경량화/최적화 과정이 필요하다.
대표적인 경량화/최적화의 종류
네트워크 구조 관점
- Efficient Architecture Design
- Network Pruning
- Knowledge Distillation
- Matrix / Tensor Decomposition
Hardward 관점
- Network Quantization
- Network Compiling
Efficient Architecture Design
모델 자체의 구조를 바꾸거나, 합성곱 필터를 변경하여 연산을 효율적으로 줄이는 등 다양한 경량화 방법이 있다. 최근에는 자동으로 모델을 탐색하여, 강화학습을 통해서 최적 모델을 탐색하는 연구가 활발하다. 대표적으로 AutoML 기술이 있는데, 사람의 개입을 최소화 하여 보다 더 좋은 성능의 모듈을 찾아낼 수 있다. 이러한 방법은 이전 게시글에서 다룬 Software 2.0 이라고 볼 수 있다.
AutoML 기술을 활용한 방법에는 크게 두가지가 있다. 다양한 알고리즘과 연관된 하이퍼 파라미터들을 실험하고 성능을 비교하여 최상의 성능을 갖는 모델을 찾는 과정을 자동화한 Combined Algorithm Selection and Hyper-parameter optimizatoin(CASH), 그리고 문제에 적합한 architecture를 찾는 과정을 자동화한 Neural Architecture Search(NAS)가 있다.
Network Pruning
Network Pruning은 모델을 가지치기하는 것을 의미한다. 모델에서 중요도가 낮은 파라미터를 제거하여 모델 크기를 줄이는 기술이다. 이 방법이 가능한 이유는 추론에 필요한 값은 비교적 작은 가중치에 영향을 받지 않음으로, 작은 가중치값을 모두 0으로 하여 모델의 크기를 줄인다. 또한, 재훈련 과정을 통해 세밀하게 조율하는 방식으로 성능을 유지할 수 있다. 최근에는 모델의 가중치뿐 아니라 채널이나 Layer 등을 줄이는 연구도 진행 중이며, 파라미터 각각을 독립적으로 진행하는 기법도 연구되고 있다.
Knowledge Distillation
이전 게시글에서 다룬 Knowledge Distillation 역시 경량화의 방법이라고 볼 수 있다. 학습된 큰 네트워크(Teacher model)를 작은 네트워크(Student model)의 학습 보조로 사용하는 방법이다. Soft label의 결과를 바탕으로 학습하는 과정을 통해서 작은 모델로도 높은 성능을 얻을 수 있다.
Matrix/Tensor Decomposition
하나의 Tensor를 작은 tensor들의 operation들의 조합(합, 곱)으로 표현하는 것을 말한다.
Network Quantization
일반적인 float32 데이터타입의 Network 연산과정을 그보다 작은 데이터타입으로 변환하여 연산을 수행. 사이즈를 감소시키고, 속도를 향상시킬 수 있으나 성능이 약간 하락하는 경향을 보인다.
Network Compiling
Framework와 Hardware Backends 사이의 수많은 조합이 있다. 이러한 조합에 따라 성능차이가 발생하는데, AutoML로 좋은 조합을 찾아낼 수 있다. (e.g. AutoTVM(Apache))
Reference
'Study > AI' 카테고리의 다른 글
데이터가 충분하다고 말하려면 얼마나 있어야 할까? (0) | 2022.01.24 |
---|---|
딥러닝이란 무엇일까? (0) | 2022.01.15 |
Deep Learning Library for video understanding (0) | 2021.11.30 |
Knowledge Distillation 구현 (0) | 2021.11.29 |
[Pytorch] Tips for Loading Pre-trained Model (0) | 2021.11.27 |