[첨단 헬로티]
인공지능(AI)에 대한 관심은 마이크로컨트롤러(microcontroller, MCU) 업계에도 영향을 미치고 있다.
관련 기업들의 솔루션이 타깃 하는 분야는 조금씩 다르지만 MCU 관련 기업들의 AI 접목은 가속화될 것으로 전망 되고 있다.
글로벌 반도체 기업 ST마이크로일렉트로닉스(STMicroelectronics, 이하 ST)는 일상에서 필요한 주요 전자제품을 작동시키는 지능형 제품 및 스마트팩토리 분야에서 사용되는 비용 효율적이며 저전력을 요구하는 분야를 타깃으로 AI 기반의 MCU 개발툴인 STM32Cube.AI를 올해 초 선보이며 관련 업계의 주목을 받았다. ST의 MCU 분야를 담당하고 있는 현대성 차장을 통해 이 회사의 AI 기반 MCU의 특징과 최근 시장의 요구에 대해 들어 본다.
▲ ST마이크로일렉트로닉스 현대성 차장
ST가 출시하고 있는 제품은 모바일 및 사물인터넷 (IoT) 디바이스, 스마트 드라이빙, 스마트 팩토리, 스마트 시티, 스마트 홈을 구현하는데 적용되고 있다. ST의 AI 기반 MCU의 가장 큰 특징은 무엇인가?
ST는 최근 임베디드 AI를 지원하는 개발툴 STM32Cube.AI를 출시했다. ‘임베디드 AI’란 산업 기기, 생활 가전, 웨어러블 기기, 센서 노드 등 다양한 IoT 단말기에 탑재된 범용 마이크로컨트롤러에 내장되는 AI를 말한다. 마이크 로컨트롤러는 소비전력이 적다는 장점은 있지만, 프로세서 등에 비해 연산 능력과 메모리 환경이 떨어지기 때문에 지금까지 AI 기능을 사용하기가 어려웠다. 그러나 ST는 독자적인 기술로 임베디드 AI용 도구 ‘STM32Cube.AI’를 개발하여 초소형·저소비전력 마이크로컨트롤러에서도 AI의 추론을 사용할 수 있게 됐다.
임베디드 A I를 지원하는 마이크로컨트롤러는 ST의 STM32 제품군이다. 기존 클라우드에서 구동되는 AI와 차별화되는 점은 제품 자체에서 AI로 작업을 수행해 분산네크워크의 구성을 실현한다는 점이다.
좀 더 쉽게 예를 들어보면, 대부분의 AI 디바이스들, 무인 콜센서의 자연어 인식, 스마트 스피커용 자연어 인식, 스마트폰의 음성 지원 앱, 주가 예측, 구매 및 방문 인력을 근거로 취향에 맞는 광고 표시, 도로 상황에 따른 자동 운전 등의 고속·대용량 데이터 연산 작업 수행은 클라우드에서 운용되고 있다. ST에서 선보인 STM32Cube.
AI는 이것과 차별화해 IoT 단말기 에서 분석과 추론이 가능하도록 하는 솔루션이다. 즉 IoT 단말기의 가능성을 확장시키는 솔루션이라고할 수 있겠다.
그렇다면, STM32는 GPU나 CPU 등이 하는 역할을 대체할 수 있다는 것인가?
그것은 아니다. AI의 추론 알고리즘을 실행해 임베디드 기기로의 입력신호 및 데이터에 대한 판단 및 이해는 가능 하지만 기존 GPU처럼 대용량의 데이터를 고속으로 인식해 새로운 학습을 수행하지는 못한다. 반면, 센서 데이터로 특정 파형 패턴을 인식하거나 저해상도 정지 화면의 인식, 낮은 프레임 속도의 동영상 인식, 음성 데이터로 상황 인식, 음성으로 특정 키워드 인식 등의 작업은 수행할 수있다.
임베디드AI라고 했는데 이것의 특징은 무엇인가?
AI의 추론 알고리즘을 임베디드 애플리케이션에 내장한 것을 임베디드 AI라고 표현한 것인데 전용 하드웨어 없이 범용적으로 사용되는 마이크로컨트롤러에서도 동작할 수있다. 즉 기존 AI 디바이스들이 클라우드나 서버, GPU에서 처리한 것과 달리, 네트워크 연결 없이도 독립적으로 동작이 가능하다. 물론 병행해서도 사용 가능하다.
특히 최근 사회를 초사회라고 하는데, S T M3 2 는 Cortex-M4를 채용해 고성능이면서도 초저소비전력을 장점으로 내세우고 있다. 초저소비전력으로 인해 배터리 구동시간이 길고 임베디드이기 때문에 디자인에 구애받지 않고 설계가 가능하며 서버나 GPU 등을 사용할 수 없는 환경에서도 사용이 가능한 장점을 갖추고 있다.
또한 방대한 원시 데이터를 전송하는 유선, 와이파이 (Wi-Fi), LTE 등이 필요 없으며 네트워크 지연이 발생하지 않아서 고속 응답이 가능하다. 여기에 원시 데이터를 네트워크에 업로드하지 않아도 되기 때문에 프라이버시 확보는 물론 보안 위험도 낮다.
결국 미래는 IoT로 연결되고 빠르게 스마트화될 것으로 보인다. 이 때문에 임베디드 AI 용 MCU의 수요도 높아질 것으로 보이는데 어떻게 전망하고 있나?
ABIresearch에 따르면 2018년 3.6B Connections에서 2021년이 되면 2.4배 증가한 8.6B Connections가 될 것으로 전망하고 있다. 이러한 전망치와 비슷한 보고서를 이미 많이 접했을 것이다. 보고서를 인용하지 않더라도 앞으로의 사회는 IoT로 연결된 사회가 될 것이라는 데는 많은 사람들이 이견이 없을 것으로 보인다. 다만, IoT를 사용하기 위해서는 IoT 단말기와 게이트웨이, 클라우드 라는 시스템 구조가 형성되는데 이렇게 되면 통신량이 많아지고 사용량에 따른 통신비 증가는 물론 처리 부하도 가중되게 된다.
ST에서는 이러한 문제를 임베디드 AI 적용으로 지혜롭게 풀어갈 수 있을 것으로 본다. 즉 IoT 단말기에서 데이터를 우선적으로 처리해서 결과 값만을 전송해 데이터 크기를 줄이는 과정을 거친다면 앞서 언급한 통신료나 전력비, 부하에 대한 부분을 줄일 수 있게 된다.
STM32에서 데이터의 처리 및 분석을 실현하려는 과정은 어떻게 되나?
5개 단계를 거치게 된다. 1단계는 데이터 수집이 필요한데 예를들어서 ST의 센서 및 커넥티비티 등 다양한 솔루 션을 탑재한 'SensorTile Kit'를 사용해서 AI의 학습을 위한 데이터를 수집할 수 있다. 보행 데이터를 수집하려면 실제로 'SensorTile Kit'를 가지고 걸으면서 스마트폰으로 센서 데이터를 수집한다.
두 번째는 데이터의 라벨링이다. 많은 데이터를 수집함과 동시에 데이터 별로 라벨링을 해야 한다. 이름은 임의로 정해도 상관없는데 예를 들면, 걸으면서 수집한 데이터라면 'walk', 달리면서 수집했다면 'run', 자전거라면 'bicycle' 등 라벨링한 방대한 데이터를 준비한다. 3단계는 수집된 데이터를 사용해 뉴럴 네트워크(NN : Neural Network, 이하 NN) 모델 학습을 시킨다. NN의 학습을 위한 딥 러닝 프레임워크 자체는 ST에서 제공하지 않으므로 사용자가 준비해야 한다.
ST의 개발 환경에서 지원되는 딥 러닝 프레임워크는 Caffe, Keras, Lasagne, Convnet(Keras는 TensorFlow 백엔드와 함께 사용)이다. 앞으로 ONNX(Open Neural Network Exchange) 또는 TensorFlow Lite 등 지원하는 프레임워크를 늘려 나갈 예정이다.
네 번째 단계는 학습된 NN을 STM32용 코드로 변환이 다. NN의 학습이 끝나면 'STM32Cube.AI'를 사용해 학습된 모델을 STM32용 코드로 변환하고, 'SensorTile Kit'에 설치한다. 이 때 별매 제품인 'NUCLEO 개발 키트' 가 필요하다. U S B 케이블 등을 사용해 P C에서 'NUCLEO 개발 키트'를 경유해 'SensorTile Kit'에 학습된 NN 모델을 내장하는 구조이다.
다섯 번째는 학습된 NN를 STM32에서 처리 및 분석이 다. 'SensorTile Kit'에 학습된 NN 모델이 내장되었으므로 센서의 정보를 인식·분석해 Walk, Run, Bicycle 등을 분류할 수 있다.
뉴럴 네트워크(NN)의 코드를 마이크로컨트롤러용으로 변환하는 과정은 왜 필요한가?
일반적으로 NN에서는 파이썬(Python)이라는 프로그래밍 언어가 사용된다. 따라서 딥 러닝 프레임워크에서 생선된 뉴럴네트워크 코드를 마이크로컨트롤러에서 동작하는 코드로 변환해주는 작업이 필요한데, 이러한 작업은 적지 않은 시간과 노력이 필요하다. STM32Cube.AI는 이러한 변환과정과 더불어 메모리 사용량과 연산량을 최적화 하는 기능도 함께 제공한다.
현대성 ST마이크로일렉트로닉스 차장은 인터뷰를 마무리하며 “저소비전력화, 소형화, 저비용화를 지원하는 임베디드 A I는 I o T 보급을 가속화시킬 것으로 보이며 STM32Cube.AI는 이러한 IoT 생태계에 필요한 임베디드 AI 개발을 보다 쉽게 시작할 수 있도록 도움을 줄 수 있을 것이다”고 강조했다.