Q1. 딥러닝 관점에서 왜 Network Compression 기술들이 필요한지?

  1. Memory Limitation
    • 가끔씩 성능을 높이기 위해 굉장히 큰 딥러닝 모델을 사용하는 경우가 있습니다.
    • 이런 경우 멀티GPU 또는 분산시스템 기반의 학습기법을 사용해야합니다.
    • 하지만, GPU 가격이 싼 것도 아니고, 분산 시스템을 구축하는 것도 쉬운게 아니기 때문에 큰 딥러닝 모델을 학습시키거나 사용하는건 (실용적인 관점에서) 문제가 됩니다.
  2. Worse Performance
    • 딥러닝 모델이 크다는 것은 굉장히 많은 모수(parameter)들이 존재한다는 것입니다. 
    • 딥러닝 이론에서 보면 알 수 있듯이 parameter(weight)가 지나치게 많다면, curse of dimension에 빠질 수 있습니다.
    • 그러므로, 충분한 학습 데이터가 없다면 마냥 큰 모델을 이용하는 것은 좋지 않습니다.
  3. Training/Inference Speed
    • 연구를 하다보면 새로운 모델링을 하는 것도 중요하지만 hyper parameter를 최적으로 setting 해주는 것도 필요합니다.
    • 오히려, 산업에서는 빠르게 모델을 적용해야 하기 때문에 hyper-parameter를 튜닝해서 기존 모델을 최적화 시키는 작업을 진행하는 경우가 더 많죠.
    • 하지만, 딥러닝 모델이 크다면 다양한 조합의 hyper-parameter들을 테스트 해보기 힘들어지는 경우가 발생합니다.

 

 

Q2. Network Compression에 쓰이는 기술들에는 무엇이 있는지? (해당 내용들은 관련 카테고리에서 자세히 설명하도록 하겠습니다)

  1. Pruning
  2. Weight Factorization
  3. Knowledge Distillation
  4. Weight sharing
  5. Quantization

이미지 출처: https://www.researchgate.net/figure/Different-types-of-compression-techniques-for-DNN-and-traditional-ML-methods-Here-the_fig1_339129502

 

 

(↓↓↓위의 내용들은 아래 블로그를 기반으로 작성했습니다↓↓↓)

https://blog.est.ai/2020/03/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%95%95%EC%B6%95-%EB%B0%A9%EB%B2%95%EB%A1%A0%EA%B3%BC-bert-%EC%95%95%EC%B6%95/

 

딥러닝 모델 압축 방법론과 BERT 압축

딥러닝(Deep Learning)은 뛰어난 성능과 높은 모델의 확장성(Scalability)으로 인해 많은 주목을 받았고, 요즘 산업계에서도 활발하게 적용되고 있습니다. 하지만 모델의 높은 확장성은 또 다른 문제를

blog.est.ai

 

'Network Compression for AI' 카테고리의 다른 글

2. Edge Computing이란?  (0) 2021.06.04
1. AIoT란? (Feat. IoT 개발 프로세스)  (0) 2021.06.04
이 글을 쓰게 된이유  (0) 2021.06.04

+ Recent posts