본문 바로가기
공부/ML&DL

[머신러닝 공부] Tiny ML -1 / 개요

by 로디네로 2021. 9. 22.
반응형

 

Tiny ML 이란?

 

Tiny ML = Tiny Machine Learning 을 직역하면 "매우 작은 머신러닝" 으로, 머신러닝을 구성하는 무언가가 매우 작음을 알 수 있다.

 

  • Tiny ML은 센서 또는 마이크로 컨트롤러와 같은 저 에너지 시스템에서 구현되는 머신러닝이다. 

 

Edge AI, Embedded AI 등도 이와 비슷한 단어로 아래의 포스팅에 조금 언급했다.

 

https://dbstndi6316.tistory.com/303

 

[임베디드] 임베디드시스템과 AI

임베디드시스템과 AI 1. 임베디드 시스템을 개발하는 경우는? 고도로 최적화되고 효율적인 시스템을 구축해야 할 때 개발한다. 단말 단계에 기기가 위치하게 된다. https://dbstndi6316.tistory.com/301 [임

dbstndi6316.tistory.com

 


기본적으로

 

우리가 알고있는 ML은 Training(학습) 시 엄청난 양의 컴퓨팅파워를 필요로 하고 Inference(추론) 시에는 그보다는 덜하지만 성능이 높고 네트워크가 복잡할수록 높은 컴퓨팅파워를 요구한다.

 

하지만 모든 사용자들이 성능이 높은 컴퓨터를 가지고 있지는 않아 ML을 탑재한 제품을 사용하기가 쉽지 않다.

 

따라서 사용자가 획득한 정보를 서버에서 처리해 (클라우드 컴퓨팅 등) 결과를 받아 제품을 구동하는 형태로 운용할 수 있다.

 

하지만 이는 네트워크를 사용하기 때문에 그만큼의 실시간성 측면에서 손해를 볼 수 있다.

이를 해결할 수 있는 방법이 바로 Tiny ML (Embedded AI, Edge AI) 인 것이다.

어떠한 제품의 칩에서 서버로 정보를 전송하지 않고 바로 ML 연산을 할 수 있다면 실시간성, 서버유지비용 등에서 이득이 될 것이다.

 

 

 


 

 

구현

모든 칩에서 복잡한 ML모델을 돌릴 수는 없을 것이다. 따라서

  1. 모델의 정확도를 최대한 유지하면서 어떻게 경량화할 것인지에 대한 연구가 필요하다.
  2. 저전력 상황에서 전력의 최적화에 대한 연구가 필요하다
  3. 모델의 크기를 감당할 수 없는 환경에서의 동작에 대한 연구가 필요하다.

ASIC, FPGA 등의 SoC에 ML을 자체적으로 장착해서 구동할 수도 있으나,

 

요즘은 ARM / Atmega / Jetson / Raspberry pi 등의 MCU, SBC에서 구동가능하게 하는 프레임워크도 발전하고 있다.

(Tensorflow Lite 등)

 

 


 

미래

 

현재도 저성능 프로세서로 어느정도의 추론이 가능해 산업에 쓰이는 부분이 있지만 한계가 분명한 상황이다.

 

하지만 반도체 기술의 발달로 프로세서의 성능이 전체적으로 높아진다면 Tiny ML의 쓰임은 폭발적으로 증가할 것이다.

 

한 예시로 사업, 공모전, 아카데미 등에서 아이디어를 낼 때 어떤 부분에 들어가는 센서, MCU가 스스로 ML 연산을 할 수 있다면? 을 생각해보자

 

완전히 다른 방향의 프로젝트로 발전할 수도 있을 것이다. .

 


 

나는 아래의 책을 구입해서 MCU에서 간단한 ML을 다뤄볼 생각이다.

 

지금까지는 고성능 PC로 ML을 해 왔다면 앞으로는 반도체 발달을 기원하며 Tiny 를.. ㅎㅎ

 

https://www.hanbit.co.kr/store/books/look.php?p_code=B3963656224 

 

초소형 머신러닝 TinyML

제한된 메모리와 저성능 장치에서도 딥러닝을 작동시키기 위한 텐서플로 팀의 고민이 잘 녹아 있는 책입니다.

www.hanbit.co.kr

 

반응형

댓글