TinyML을 살펴보고 저전력 마이크로컨트롤러에 Ultralytics 배포하는 방법을 배워보세요. 양자화 기술과 Ultralytics 활용해 IoT용 모델을 최적화하는 방법을 알아보세요.
일반적으로 TinyML로 불리는 ‘소형 머신러닝(Tiny Machine Learning)’은 마이크로컨트롤러나 소형 IoT 기기와 같이 초저전력이며 자원이 제한된 기기에 모델을 배포하는 데 중점을 둔 머신러닝의 특화된 하위 분야입니다. 막대한 연산 자원에 의존하는 기존의 클라우드 기반 시스템과 달리, TinyML은 전적으로 에지에서 작동합니다. 종종 단 몇 밀리와트에 불과한 전력 제약이 있는 장치에서 지능형 알고리즘을 로컬로 실행함으로써, 이 접근 방식은 지연 시간을 최소화하고, 데이터 프라이버시를 보장하며, 대역폭 사용량을 대폭 줄여줍니다. 이는 TinyML 재단과 같은 커뮤니티가 지원하고 발전시켜 온 패러다임입니다.
복잡한 신경망 아키텍처를 ARM Cortex-M 프로세서와 같이 자원이 매우 제한적인 하드웨어에 성공적으로 적용하려면, 모델을 철저하게 최적화해야 합니다. 32비트 부동소수점 가중치를 8비트 정수로 변환하는 모델 양자화나 모델 프루닝과 같은 기법을 사용하여 전체 메모리 사용량을 대폭 줄입니다. 오늘날 Google TensorFlow for Microcontrollers나 PyTorch ExecuTorch와 같은 전문 프레임워크는 이러한 정밀한 압축 워크플로를 지원하여, 일상적인 임베디드 하드웨어에 첨단 시각 및 청각 지능을 제공합니다.
TinyML은 엣지 AI와 밀접한 관련이 있지만, 두 개념의 주요 차이점은 하드웨어 규모와 전력 소비량에 있습니다. 엣지 AI는 AI 모델의 모든 로컬 실행을 포괄하는 더 광범위한 용어로, 주로 라즈베리 파이 ( Raspberry Pi )와 같은 싱글보드 컴퓨터나 NVIDIA ( NVIDIA )과 같은 고성능 임베디드 GPU를 활용합니다. 반면, TinyML은 아두이노 보드나 ST마이크로일렉트로닉스 칩과 같이 배터리로 수개월 또는 수년 동안 작동하는 심층 임베디드 시스템을 특정 대상으로 합니다. 이러한 장치들은 일반적으로 수백 킬로바이트의 RAM만 갖추고 있어, 모델을 적극적으로 압축하는 것이 필수적입니다.
최소한의 하드웨어에 직접 AI를 적용할 수 있게 됨에 따라 다양한 산업 분야에서 수많은 실질적인 활용 사례가 등장했습니다:
마이크로컨트롤러용 모델을 준비하려면 엄격한 내보내기 형식 규정을 준수해야 합니다. Ultralytics 사용하면 개발자는 강력한 물체 탐지 파이프라인을 구축하고 이를 임베디드 대상 시스템에 맞게 압축할 수 있습니다. 로컬로 내보내기 전에 Ultralytics 데이터셋과 모델 버전 관리를 원활하게 수행할 수 있습니다. 네이티브 TFLite 통해 마이크로컨트롤러에 필요한 8비트 정수 형식으로 손쉽게 변환할 수 있으며, 이는 Apple의 CoreML, Google Edge TPU, NVIDIA TensorRT과 같은 다른 하드웨어 전용 모델 배포 옵션을 보완합니다.
다음 예제는 INT8 양자화로 특별히 최적화된 경량 YOLO26 모델을 내보내는 방법을 보여줍니다. 이를 통해 TinyML 호환 에지 플랫폼에 배포하기에 적합합니다:
from ultralytics import YOLO
# Initialize the lightweight YOLO26 Nano model for edge use cases
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization and a reduced image size
# This minimizes the memory footprint and accelerates inference on microcontrollers
model.export(format="tflite", int8=True, imgsz=160)
미래의 머신러닝 여정을 시작하세요