이번 주에 다룰 모델 경량화에 대한 개요라고 볼 수 있다.
가벼운 모델이 필요한 이유와 대략적인 방법을 배워보자.
결정에는 연역적 결정
과 귀납적 결정
이 있다.
논리적 전제 (정의) 에 따라 결론을 도출한다.
정의에 대한 증명이 필요하다.
ex) 모든 사람은 죽는다. -> 소크라테스는 사람이다. -> 소크라테스는 죽는다.
관찰 결과들을 통해서 결론을 도출한다.
틀릴 가능성이 있음을 감안한다.
머신러닝
과 가까운 결정 방법이다.
데이터로부터 바로 추정을 하거나 모델을 학습시켜 추정을 할 수 있다.
모델은 압축될 수 있고 압축된 모델로도 추정을 할 수 있다.
머신러닝 모델은 결정기
이다.
청소기가 청소를 대신해주듯, 결정을 대신해준다.
결정기의 예시로는 간단하게 평균을 들 수 있다. 평균을 보고 우리는 판단을 하기에!
머신러닝은 조금 더 복잡해진 결정기이고 사람의 결정을 머신러닝에 맡기는 시대가 왔다.
딥러닝 이전의 시대에는 결정 정확도가 높지 않았다.
하지만 딥러닝 이후 결정 정확도가 높아져서 인간의 결정에 큰 영향을 주고 있다.
도덕과 관련된 영역은 결정기로 결정하기 힘들다.
소형은 단순히 크기만 줄였다면, 경량은 필요한 것들만 추려서 크기를 작게 만든 것이다.
데이터를 수집하고 모델을 학습시키고 큰 모델을 작게 압축하여 device 에 탑재한 on-device AI (엣지 디바이스)
제품의 하나로 카메라를 통해 물체를 인식할 수 있다. 이 카메라를 이용하여 여러 분야에 적용할 수 있다 (실용적) .
메모리와 저장 공간이 매우 작은 칩 하나에서도 돌아갈 수 있는 가벼운 모델을 말한다.
TinyML 이 적용된 엣지 디바이스를 사용하는 것이 클라우드 기반 시스템에서 결정을 하는 것보다 latency 문제나 인터넷 의존 문제가 없다는 장점이 있다.
일반적으로 경량화 모델을 만들기 위해 어떤 기술을 사용하는지 살펴보자.
AlexNet, VGGNet, ResNet, ..., MobileNet 등 성능이 좋은 모델들을 파이토치와 같은 라이브러리를 통해 쉽게 사용할 수 있다.
단, User 의 입장에서 이해 없이 갖다 쓰기 보다 Learner 의 입장에서 이해를 한 후 사용하도록 하자!
Cifar 나 ImageNet 등 유명한 데이터셋을 사용할 수 있다. 특히 ImageNet 데이터셋이 많이 사용된다.
클라우드 기반 AI 서비스는 높은 비용이 들고 개인정보 문제가 있으며 사용할 수 없는 환경이 있을 수 있다.
이에 비해 Edge 디바이스 AI 서비스는 비용이 적고 개인정보 문제에서 자유롭고 디바이스만 있으면 바로 사용할 수 있다.
단, edge 디바이스는 한정된 자원을 사용하므로 이에 맞게 적당한 성능을 지니면서 가벼운 소프트웨어를 사용해야한다 (Dumb and Fast).
Centralized intelligence 는 중앙 장비의 부하가 심하고 의존성이 크다.
Edge Intelligence 는 부하가 적고 의존성이 적다.
BoostCamp AI Tech