마이크로컨트롤러(MCU)와 같은 저전력, 저사양 기기에 인공지능(AI) 모델을 탑재하는 'TinyML'(타이니ML) 분야가 주목받고 있지만, 제한된 플래시(Flash)와 램(RAM) 용량은 항상 큰 걸림돌이었습니다. 이러한 문제로 인해 개발자들은 모델을 최적화하고 실제 칩에 배포하기 전에 수많은 시행착오를 겪어야 했습니다. 최근 공개된 'ShrinkRay'(쉬링크레이)는 이 과정을 획기적으로 단순화하여, 작은 AI 모델을 MCU에 맞게 압축하고 배포 가능성을 미리 검증해주는 도구로 주목받고 있습니다.
ShrinkRay는 Keras/TFLite, scikit-learn, ONNX 등 다양한 프레임워크로 학습된 모델을 입력받아, ESP32, STM32, RP2040 등 12가지 주요 MCU에 최적화된 형태로 변환합니다. 이 도구의 핵심 기능은 모델을 8비트(int8) 또는 16비트(int16) 정수형으로 양자화(quantization)하여 크기를 대폭 줄이는 것입니다. 변환 후에는 해당 모델이 목표 칩의 플래시와 램에 실제로 들어갈 수 있는지 'FITS'(적합), 'TIGHT'(아슬아슬), 'TOO BIG'(너무 큼) 세 가지 등급으로 명확하게 알려주는 보고서(.md, .html)를 생성합니다. 이 모든 과정은 100% 로컬 환경에서 이루어지며, 네트워크 연결이나 계정 생성이 필요 없어 보안성과 편의성이 높습니다.
ShrinkRay의 등장은 TinyML 개발자들에게 큰 의미를 가집니다. 기존에는 모델을 MCU에 배포하기 위해 수동으로 최적화하고, 펌웨어를 빌드한 뒤에야 실제 작동 여부와 메모리 사용량을 확인할 수 있었습니다. 이 과정은 시간 소모적이고 오류 발생 가능성이 높았습니다. ShrinkRay는 이러한 번거로움을 없애고, 개발 초기 단계부터 모델의 적합성을 빠르게 검증할 수 있게 함으로써 개발 효율성을 크게 높여줍니다. 이는 임베디드 시스템에 AI 기능을 통합하려는 다양한 산업 분야에서 혁신을 가속화할 잠재력을 가지고 있습니다.