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

[머신러닝 공부] Tiny ML -22 / 에너지 최적화 문제

by 로디네로 2022. 5. 8.
반응형

 

 

Chapter22. 에너지 최적화 문제

"

TinyML + 임베디드 장치에서의 에너지 소비를 줄이려면?

"


목차 :

  1. 대략적인 감 잡기
  2. 전체 시스템 전력소모 측정
  3. 모델 전력 사용량 추정
  4. 전력소모 개선

 


 

 

임베디드 장치(MCU)는 에너지를 거의 소비하지 않는다, 않아야 한다 는 특징이 있다.

 

그에 비해 서버CPU는 엄청난 전원이 필요하고, 스마트폰도 수 와트를 소비한다.

 

마이크로컨트롤러는 수밀리와트 미만의 전력으로 작동하여 작은 배터리로도 몇 개월~몇 년을 쓸수도 있다.

 

부하가 큰 작업을 한다면 불가능하니.. 전력사용량을 개선해야만 한다.

 

 


 

 

1. 대략적인 감 잡기

 

Network 요청은 RAM에서 정보를 읽는것보다 느리고 / SSD접근보다 HDD 접근이 더 느리다.

 

에너지 양에 대해서는 감이 없지만.. 이 감을 잡으려면 연산에 필요한 에너지를 추정하는 몇 가지 규칙을 숙지해야한다.

 

물론 부품마다 에너지 소모는 다르겠지만 대략적인 소모는 아래와 같다.

 

스마트폰의 부품 : 

ARM Cortex A9 500~2000mW
디스플레이 400mW
액티브 셀 라디오 800mW
블루투스모듈 100mW

임베디드 부품 : 

마이크 센서 300μW
블루투스 LE (Low Energy) 40mW
Himax HM01B0 (흑백이미지센서) 1mW
Cortex-M4F 1mW (48MHz)
가속도계 1mW

 

 

그렇다면 배터리는 어느정도의 에너지를 저장할 수 있을까?

CR2032 코인배터리 2500J - 1mW 1개월 사용
AA배터리 15000J - 1mW 6개월 사용
온도차를 이용한 발전 1cm^2 당 1~10W 얻음
태양광 모듈(실내조명) 1cm^2 당 10μW 얻음
태양광 모듈(실외조명) 1cm^2 당 10mW 얻음

 

이렇게 배터리와 소모전력을 대략적으로 알면 설계가 가능할 것이다.

 

 


 

 

2. 전체 시스템 전력소모 측정

 

부품 설계 시 전력소모를 확인 후에는 실제 시스템으로 구성하고 측정해보아야 한다.

추정치는 항상 실제와 일치하지는 않기 때문이다.

 

다양한 도구가 있으며 공대를 졸업했다면 알고있을.. 멀티미터가 유용하다.

 

또는 일정 용량의 배터리를 설치하고 실제로 얼마나 오래 지속되는지 직접 확인하는 방법이 있다.

 

이는 시간이 오래 걸릴 수는 있지만 모델링과 계산으로는 알기 힘든 문제를 모두 포착할 수 있다.

 

 


 

 

3. 모델의 전력 사용량 추정

 

하나의 추론을 실행하기 위한 시간 x 시간 동안의 전력 사용량

= 에너지 사용량

 

ex) 인체감지 어플리케이션에서의 모델

 

[머신러닝 공부] Tiny ML -13 / 인체감지 어플리케이션-1

Chapter13. 인체감지 어플리케이션 " 카메라로 인체를 감지해보자 (CNN) " 목차 : 개요 만들고자하는 시스템 어플리케이션 아키텍처 코드 기본흐름 -> 다음장 핵심 함수 분석 -> 다음장 마이크로컨트

dbstndi6316.tistory.com

모델 : 6천만 건의 작업 실행

MCU : 48MHz ARM Cortex-M4 - 8bit 곱셈 덧셈을 2회씩 수행 가정

 

48,000,000/60,000,000=800ms

칩이 2mW를 사용하면 추론1회당 1.6mJ을 사용하게 된다.

 

 


 

 

4. 전력소모 개선

 

대략적인 전력소모를 알았으니 개선방법을 모색해야한다.

 

HW적 접근이 아닌 SW접근 방법으로 생각해보자.

(HW접근으로는 필요하지않은 부품의 전원off, 저전력부품으로 교체)

 

 

- 1. 듀티 사이클링

 

추론 호출 사이에 절전모드를 삽입하는 방법이다.

 

또는 비슷한 방식으로 명령 실행의 빈도를 줄이는 방법도 있다.

 

 

- 2. 캐스케이드 설계

 

ML 프로그램의 경우 스토리지 리소스 양을 쉽게 조절할 수 있으며 정확도가 급변하지 않는다는 장점이 있다.

 

이 특성을 활용하면 모델을 캐스케이드 방식으로 설계할 수 있다.

 

작은 모델로 돌리다가 이벤트가 발견되면 강력한 모델을 깨우는 방식이다.

 

한계 전력량은 만족해야겠지만 항상 큰 에너지를 사용하지는 않는다는 장점이 있다.

 

ex) 스마트폰의 Always On 음성 인터페이스 동작

 

 

 

 

 

 

 

 

반응형

댓글