AI 기술은 IoT 기술을 더욱 유용하게 만든다. 일반 IoT 기기는 데이터의 수집과 공유만 수행하여 사람이 개입이 필요하다. AI 기능이 더해지면 스스로 데이터 분석, 학습, 의사 결정, 조치 등이 가능해 클라우드 비용을 크게 줄일 수 있다. AI는 IoT의 잠재력을 최대한 발휘하는 데 도움이 되는 기술이며, AIoT 기기는 환경과 상호 작용 가능한 제품이다.
MCU 기반의 AI 기능에 관한 수요 늘어나
AI 훈련보단 추론에 적합한 임베디드 시스템
NPU, NN 가속기 포함된 설계 사례 증가 전망
IDC에 따르면 IoT 기기의 수는 2025년 416억 개에 달할 전망으로, 이들이 생성할 데이터의 양은 79.4제타바이트(ZB)로 추산된다. IoT 기술의 핵심은 연결성으로, 자동화된 제어, 장치 간의 쉬운 통신과 데이터 공유 등의 이점을 가진다.
AI 기술은 IoT 기술을 더욱 유용하게 만든다. 일반 IoT 기기는 데이터의 수집과 공유만 수행하여 사람이 개입이 필요하다. AI 기능이 더해지면 스스로 데이터 분석, 학습, 의사 결정, 조치 등이 가능해 클라우드 비용을 크게 줄일 수 있다.
르네사스 아메리카의 카비타 차르(Kavita Char) 제품 마케팅 수석 매니저는 임베디드닷컴에 기고한 글을 통해 “AI는 IoT의 잠재력을 최대한 발휘하는 데 도움이 되는 기술”이라며, “AIoT 기기는 환경과 상호 작용 가능한 제품”이라 언급했다.
AI 기능과 IoT 기기의 결합은 MCU 분야에 새로운 시장을 열었다. AI 가속 기능을 포함한 MCU 기반의 애플리케이션 사례가 늘고 있다. AI 지원 MCU 제품은 키워드 스포팅(keyword spotting), 센서 융합, 진동 분석, 음성 인식 등에 적합하다. 또한, 고성능 MCU는 복잡한 비전 애플리케이션도 가능케 한다.
IoT 기기에 적용하기 적합한 AI 기술로는 어떤 것들이 있을까?
차르 수석은 4가지 기술을 예시로 들었다. 첫 번째는 머신러닝(ML)이다. 머신러닝 알고리즘은 데이터를 기반으로 모델을 구축해 기기 스스로 패턴을 식별한다.
머신러닝 공급업체는 임베디드 시스템에 구축 가능한 모델을 교육하는 데 필요한 알고리즘, API, 도구를 제공한다. 이러한 임베디드 시스템은 사전 훈련된 모델을 사용하며, 새로운 입력 데이터를 기반으로 추론 및 예측 작업을 수행한다. 응용 사례로는 센서 허브, 키워드 발견, 예측 유지 관리 및 분류가 있다.
두 번째는 딥 러닝이다. 딥 러닝은 신경망의 여러 계층을 사용해 복잡한 입력 데이터에서 점진적으로 더 높은 수준의 기능과 통찰력을 추출하여 시스템을 훈련하는 일종의 ML이다. 딥 러닝은 매우 크고 다양하며 복잡한 입력 데이터로 작동하며, 시스템은 반복적으로 학습하여 각 단계에서 결과를 개선할 수 있다. 사례로는 이미지 처리, 고객 서비스 챗봇 및 얼굴 인식이 있다.
세 번째는 자연어 처리(NLP)다. NLP는 자연어를 사용하여 시스템과 사람 간의 상호작용을 처리하는 AI 분야다. NLP는 시스템이 글이나 음성 등 사람의 언어를 이해하고 해석하고 이를 기반으로 결정을 내릴 수 있도록 돕는다. 응용 프로그램 예시로는 음성 인식 시스템, 기계 번역 및 예측 입력이 있다.
네 번째는 컴퓨터 비전이다. 이는 이미지 데이터를 수집해 해석하고 이해하여 특정 조치를 하도록 기계를 훈련하는 AI 분야다. 기계는 카메라 등으로 디지털 이미지와 비디오를 수집하고, 딥 러닝 모델과 이미지 분석 도구로 물체를 정확하게 식별, 분류하고 보는 것을 기반으로 조처를 한다. 제조 라인의 결함 감지, 의료 진단, 소매점의 얼굴 인식과 무인 자동차 테스트 등에 활용될 수 있다.
◇ MCU, AIoT 구현의 핵심 부품될 것
과거 AI 구현은 대용량 메모리를 갖추고 클라우드와 연결된 CPU, GPU, MPU 등의 전유물로 여겨졌다. 그러나 최근 들어 데이터가 생성되는 곳에서의 보관, 분석, 처리되는 것을 일컫는 ‘에지 인텔리전스’에 관한 수요가 산업계 전반에서 늘면서 임베디드 AIoT 애플리케이션에 MCU가 사용되기 시작했다.
MCU 기반 IoT 기기 AI 기능은 실시간 의사 결정과 특정 상황에 대한 빠른 응답을 가능하게 한다. 더 낮은 대역폭 요구 사항, 더 낮은 전력, 더 낮은 대기 시간, 더 낮은 비용, 더 높은 보안이란 이점도 가진다.
최근 성능이 다소 높아졌지만, MCU는 언제나 종단에서 사용되므로 좁은 공간과 적은 전원 공급 등 한정된 자원과 환경에서 AIoT 기술을 구현해야 한다. 이는 신경망(Neural Network; NN) 프레임워크의 가용성을 통해 가능하다.
NN은 이전 계층에서 입력을 받고, 여기에 가중치와 편향 합계를 추가해 출력을 생성하는 계층으로 배열된 노드 모음이다. 출력은 나가는 모든 연결을 따라 다음 레이어로 전달된다. 훈련 동안 훈련 데이터는 네트워크의 첫 번째나 입력 계층에 공급되고, 각 계층의 출력은 다음 계층으로 전달된다. 마지막 레이어나 출력 레이어는 모델의 예측을 산출한다. 이는 모델 오류를 평가하는 예상값과 비교된다.
훈련 프로세스에는 네트워크의 출력이 예상값과 밀접하게 연관될 때까지 역전파라는 프로세스를 사용하여 각 반복에서 네트워크의 각 레이어의 가중치와 편향을 수정하거나 조정하는 작업이 포함된다. 즉, 신경망 훈련에는 매우 높은 컴퓨팅 성능과 메모리가 필요하며, 이는 일반적으로 클라우드에서 수행된다.
▲ NN 훈련 및 추론 과정 [그림=르네사스]
사전 훈련된 NN 모델은 MCU에 내장돼 훈련 기반의 새로운 수신 데이터에 대한 추론 엔진으로 사용된다. 추론 생성은 모델 훈련과 달리 컴퓨팅 요구 성능이 낮아 MCU에 적합하다. 사전 훈련된 NN 모델의 가중치는 고정되어 플래시에 배치할 수 있어서 필요한 SRAM 양을 줄여 특히 자원이 한정적인 MCU에 적합하다.
◇ MCU 기반의 AIoT 구현, 어떻게 하나?
MCU에서 AIoT를 구현하기 위해선 몇 가지 단계를 거쳐야 한다. 일반적으로는 MCU 기반 IoT 기기에 적합한 카페(Caffe)나 텐서플로 라이트(Tensorflow Lite) 같은 사용 가능한 NN 프레임워크 모델을 사용한다. 먼저 ML을 위한 NN 모델 훈련을 AI 공급업체에서 제공하는 도구로 AI 전문가가 클라우드에서 수행한다. NN 모델 최적화와 MCU 통합은 AI 공급업체와 MCU 제조업체의 도구로 수행한다. 이를 통해 MCU는 사전 훈련된 NN 모델로 추론을 수행한다.
첫 번째 단계는 완전히 오프라인으로 수행된다. 최종 장치나 애플리케이션에서 많은 양의 데이터를 캡처한 다음, NN 모델 훈련에 사용한다. 모델의 토폴로지는 사용 가능한 데이터를 최대한 활용하고, 해당 애플리케이션에 필요한 출력을 제공하기 위해 AI 개발자가 정의한다. 이때의 훈련은 모델 출력의 오류 최소화가 목적으로, 이를 위해 모델로 데이터 세트를 반복적으로 전달하여 수행한다.
두 번째 단계는 음성 인식 같은 특정 기능에 최적화된 사전 훈련된 모델을 MCU에 적합하게 변환하는 것이다. 먼저 모델을 플랫퍼버(flatbuffer) 파일로 변환한다. 플랫버퍼 파일은 C 코드로 변환, 런타임 실행 파일로 대상 MCU에 전송된다.
사전 훈련된 임베디드 AI 모델이 장착된 MCU는 최종 장치에서 새 데이터가 들어오면 훈련을 기반으로 추론을 생성한다. 새로운 데이터 클래스가 들어오면 NN 모델을 재교육을 위해 클라우드로 다시 전송할 수 있고, 재교육된 모델은 OTA 펌웨어 업그레이드를 통해 MCU에 프로그래밍이 될 수 있다.
▲ 오프라인 사전 훈련 모델을 사용한 AI 구현 [그림=르네사스]
MCU 기반 AI 솔루션을 설계하는 방법은 2가지가 있다. 대상 MCU에서 Arm Cortex-M 코어를 사용한다고 가정해보자. 첫 번째 방법은 변환된 NN 모델을 Cortex-M CPU 코어에서 실행하고 CMSIS-NN 라이브러리를 사용하여 가속하는 것이다. 추가 하드웨어 가속이 필요 없어 구성이 간단하다. 이는 키워드 스포팅, 진동 분석 및 센서 허브와 같은 간단한 AI 애플리케이션에 적합하다.
두 번째 방법은 NN 가속기나 소형 신경망 처리 장치(NPU)를 추가하는 것이다. 소형 NPU는 자원이 제한된 IoT 기기에서 ML을 가속하고, 모델의 전력과 크기를 줄일 수 있는 압축 기능을 지원한다. 또한, 오디오 처리, 음성 인식, 이미지 분류 및 감지를 위한 NN 네트워크 실행 기능도 제공한다.
NPU에서 지원하지 않는 네트워크는 기본 CPU 코어로 대체할 수 있으며, CMSIS-NN 라이브러리로 가속된다. 이때 NN 모델은 NPU에서 실행된다.
◇ 에지, AI 미래기도 하다
MCU 성능이 날로 높아져 감에 따라 향후 MCU에 직접 구축되는 경량 학습 알고리즘 및 추론을 포함한 전체 AI 기능을 볼 수 있게 될 전망이다.
차르 수석은 “리소스가 제한된 MCU로 AI를 구현하는 일은 보편화될 것”이라며, “MCU와 MPU의 경계는 흐려지고 보다 가벼운 NN이 등장함에 따라 새로운 애플리케이션과 사용 사례도 계속해서 나타날 것”이라고 강조했다.
추론 외에 경량 학습 알고리즘이 MCU에서 직접 실행되는 것을 볼 수 있을 것이란 뜻이다. 차르 수석은 이러한 변화가 MCU 제조사를 위한 새로운 시장과 애플리케이션을 열 것이며, 상당한 투자가 이어질 것으로 분석했다.