Lightweight Models

Heath_Jeong·2021년 3월 15일
0
post-custom-banner

개요

이번 주에 다룰 모델 경량화에 대한 개요라고 볼 수 있다.
가벼운 모델이 필요한 이유와 대략적인 방법을 배워보자.

결정 (Decision Making)

결정에는 연역적 결정귀납적 결정이 있다.

연역적 결정

논리적 전제 (정의) 에 따라 결론을 도출한다.
정의에 대한 증명이 필요하다.

ex) 모든 사람은 죽는다. -> 소크라테스는 사람이다. -> 소크라테스는 죽는다.

귀납적 결정

관찰 결과들을 통해서 결론을 도출한다.
틀릴 가능성이 있음을 감안한다.
머신러닝과 가까운 결정 방법이다.

데이터로부터 바로 추정을 하거나 모델을 학습시켜 추정을 할 수 있다.
모델은 압축될 수 있고 압축된 모델로도 추정을 할 수 있다.

결정기 (Decision Making Machine)

머신러닝 모델은 결정기이다.
청소기가 청소를 대신해주듯, 결정을 대신해준다.
결정기의 예시로는 간단하게 평균을 들 수 있다. 평균을 보고 우리는 판단을 하기에!

머신러닝은 조금 더 복잡해진 결정기이고 사람의 결정을 머신러닝에 맡기는 시대가 왔다.

딥러닝 이전의 시대에는 결정 정확도가 높지 않았다.
하지만 딥러닝 이후 결정 정확도가 높아져서 인간의 결정에 큰 영향을 주고 있다.

결정기가 결정할 수 없는 것

도덕과 관련된 영역은 결정기로 결정하기 힘들다.

가벼운 결정기 (Lightweight Decision Making Machine)

경량과 소형의 차이

소형은 단순히 크기만 줄였다면, 경량은 필요한 것들만 추려서 크기를 작게 만든 것이다.

경량 결정기

사물인식 카메라

데이터를 수집하고 모델을 학습시키고 큰 모델을 작게 압축하여 device 에 탑재한 on-device AI (엣지 디바이스) 제품의 하나로 카메라를 통해 물체를 인식할 수 있다. 이 카메라를 이용하여 여러 분야에 적용할 수 있다 (실용적) .

TinyML

메모리와 저장 공간이 매우 작은 칩 하나에서도 돌아갈 수 있는 가벼운 모델을 말한다.

TinyML 이 적용된 엣지 디바이스를 사용하는 것이 클라우드 기반 시스템에서 결정을 하는 것보다 latency 문제나 인터넷 의존 문제가 없다는 장점이 있다.

Backbone & Dataset for Model Compression

일반적으로 경량화 모델을 만들기 위해 어떤 기술을 사용하는지 살펴보자.

Backbones (토대가 되는 모델)

AlexNet, VGGNet, ResNet, ..., MobileNet 등 성능이 좋은 모델들을 파이토치와 같은 라이브러리를 통해 쉽게 사용할 수 있다.

단, User 의 입장에서 이해 없이 갖다 쓰기 보다 Learner 의 입장에서 이해를 한 후 사용하도록 하자!

Dataset

Cifar 나 ImageNet 등 유명한 데이터셋을 사용할 수 있다. 특히 ImageNet 데이터셋이 많이 사용된다.

Edge Devices

클라우드 기반 AI 서비스는 높은 비용이 들고 개인정보 문제가 있으며 사용할 수 없는 환경이 있을 수 있다.

이에 비해 Edge 디바이스 AI 서비스는 비용이 적고 개인정보 문제에서 자유롭고 디바이스만 있으면 바로 사용할 수 있다.

단, edge 디바이스는 한정된 자원을 사용하므로 이에 맞게 적당한 성능을 지니면서 가벼운 소프트웨어를 사용해야한다 (Dumb and Fast).

Edge Intelligence

Centralized intelligence 는 중앙 장비의 부하가 심하고 의존성이 크다.
Edge Intelligence 는 부하가 적고 의존성이 적다.

Edge Intelligence 를 위해 필요한 것들

  • Edge Training : 부족한 메모리 공간에서 학습 데이터를 학습시켜야 한다.
  • Edge Inferencing : 파이토치 등으로 모델을 학습하고 이를 디바이스에 맞게 ONNX 등으로 변환하고 경량화시켜 디바이스에 넣어 사용한다.
  • Edge Offloading : 엣지 서버를 통해 디바이스에 필요한 정보를 줄 수 있어야 한다.
  • Edge Caching : 필요할 때 cache 된 정보를 사용할 수 있어야 한다.

참조

  • BoostCamp AI Tech
profile
데이터로 문제를 해결하는 엔지니어를 꿈꿉니다.
post-custom-banner

0개의 댓글