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

[머신러닝 공부] Tiny ML -2 / 서론,시작하기

by 로디네로 2021. 10. 27.
반응형

 

 

매우작은 머신러닝 TinyML !

 

Edge 기기에 ML을 탑재하기 위한 방법이다.

 

개요는 아래 포스팅에..

 

 

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

Tiny ML 이란? Tiny ML = Tiny Machine Learning 을 직역하면 "매우 작은 머신러닝" 으로, 머신러닝을 구성하는 무언가가 매우 작음을 알 수 있다. Tiny ML은 센서 또는 마이크로 컨트롤러와 같은 저 에너지 시

dbstndi6316.tistory.com

 

 


 

 

 

이번주엔 과 참고할만한 을 구매했다.

 

TinyML 구현을 위한 칩 (앞면은 사진이 많아 난 뒷면을 찍어봤다..)

이렇게 준비를했는데!

 

보드에 코드를 넣을 시리얼케이블이 없어서 당장은 넣어보지 못한다ㅎㅎ (또 주문)

 

 

 


 

 

책의 Contents는 아래와 같이 구성되어있다.

 

1. 서론

2. 시작하기

3. 머신러닝 빠르게 훑어보기

4. TinyML 시작하기 : 모델구축과 훈련

5. TinyML : 애플리케이션 구축

6. TinyML : 마이크로컨트롤러에 배포하기

7. 호출어감지 : 애플리케이션 만들기

8. 호출어감지 : 모델 훈련하기

9. 인체감지 : 애플리케이션 만들기

10. 인체감지 : 모델 훈련하기

11. 마술지팡이 : 애플리케이션 만들기

12. 마술지팡이 : 모델 훈련하기

13. 마이크로컨트롤러용 텐서플로 라이트

14. 자신만의 TinyML 애플리케이션 설계하기

15. 지연 최적화

16. 에너지 사용 최적화

17. 모델과 바이너리크기 최적화

18. 디버깅

19. 텐서플로에서 텐서플로라이트로 모델 포팅하기

20. 개인정보, 보안, 배포

21. 파도를 따라잡기 위하여

 

이 중 15~17 최적화 부분이 개인적으로 흥미로워 보인다. 

 

한장씩 천천히 공부해 나가며 포스팅을 올릴 예정이다.

 

 

 


 

 

Chapter 1. 서론

 

- 1mW이하의 에너지

 

현재 라즈베리파이와 엔비디아 젯슨 보드 같은 플랫폼에서 모델을 구현한다고 해도 이들 장치는 수백mW를 소비한다.

 

따라서 TinyML이라고 부를 수는 없다.

 

TinyML은 학회와 업계의 대략적합의로 1mW 이하의 에너지로 신경망 모델을 실행할 수 있어야 하기 때문이다.

(1mW는 코인배터리로 1년의 수명을 유지할 수 있는 정도라고 한다.)

 


- 선구적인 프로젝트들

 

오디오 : 픽셀의 MusicIQ

 

데이터기반 유지보수 : PsiKick

 

영상처리 : 퀄컴의 Glance 카메라모듈

 


- 임베디드 장치

 

예전에 비해 IDE의 발전으로 인해 접근은 쉬워졌지만 여전히 제한된 자원으로 구동된다.

 

clock 속도와 메모리의 크기의 제한!

 

신뢰성 있는 구동을 위해 임베디드장치는 new, malloc 과 같은 동적메모리할당 기능을 사용하지 않는다.

 

 

 


 

 

 

Chapter2. 시작하기

 

- 개발에 필요한 하드웨어

 

컴파일을 위해 USB포트가 달린 컴퓨터or랩탑

 

임베디드 보드 (스파크펀 에지 보드 or STM32F746G 개발키트 등)

 

카메라 모듈

 


 

- 개발에 필요한 소프트웨어

 

Framework : 마이크로컨트롤러용 Tensorflow Lite

 

편집기 : Vscode 등 코드수정 가능한 아무거나

 

터미널 접속 : Teraterm, Putty 등

 


 

- 배울 내용

 

TinyML이 해결할 수 있는 문제가 많이 있다. 이 책에서의 프로젝트를 기점으로 문제점들을 발굴하고 해결할 수 있게 되는 것이 목표

 

앞으로 몇 년 간 무엇이 실현가능할까에 대해 고민

 

전체 시스템 관점에서의 논의 : 마이크로컨트롤러가 1mW로 동작한다고 해도 카메라가 10mW를 소비한다면 저전력 시스템이 될 수 없을것이다. 이에 대한 고민이 필요하다.

 

 

 

 


 

 

이번 포스팅에서는 책과 칩 준비, 그리고 1장과 2장의 내용을 훑어보았다.

 

빨리 소스코드를 짜서or(깃헙에서가져와서) 칩에 넣어보고 싶지만 차근차근히 해나갈 예정이다.

 

 

끝!

반응형

댓글