AI 기초

TinyML이란? 마이크로컨트롤러에서의 머신러닝

mm
Unite.AI를 Google의 선호 소스에 추가

TinyML은 마이크로컨트롤러, 소형 디지털 신호 프로세서, 저전력 센서와 같은 매우 제한된 장치에 머신러닝 추론을 제공합니다. 이러한 시스템은 킬로바이트 또는 메가바이트 수준의 메모리, 엄격한 에너지 예산, 지속적인 네트워크 연결 부재, 실시간 마감시간을 가질 수 있습니다.

가치가 단순히 모델이 작아지는 것만은 아닙니다. 센서 근처에서 처리하면 지연시간, 대역폭, 원시 데이터 노출을 줄일 수 있으며 배터리나 수집된 에너지로 장기간 작동하는 제품을 가능하게 합니다.

핵심 요점

  • TinyML은 단일 모델 크기 기준이 아니라 전체 하드웨어·소프트웨어 예산으로 정의됩니다.
  • 양자화, 컴팩트한 아키텍처, 최적화된 커널, 그리고 정교한 버퍼링이 배포를 가능하게 합니다.
  • 디바이스 내 추론은 프라이버시를 향상시킬 수 있지만, 보안 업데이트와 데이터 거버넌스도 여전히 중요합니다.
  • 정확도는 지연시간, 최대 메모리, 에너지, 듀티 사이클, 내구성과 함께 벤치마크해야 합니다.
What Is TinyML? Machine Learning on Microcontrollers workflow diagram
모델, 펌웨어, 센서, 에너지 예산이 함께 설계될 때 TinyML이 성공합니다.

TinyML 스택

센서는 오디오, 움직임, 진동, 이미지 또는 기타 신호를 캡처합니다. 펌웨어는 이를 특징이나 텐서로 전처리하고, 컴팩트한 모델이 임베디드 런타임을 통해 실행됩니다; 응용 로직은 더 큰 시스템을 깨우거나 로컬에서 동작할지를 결정합니다.

이는 제한된 형태의 edge AI입니다. 하드웨어는 MCU, 메모리, 센서 인터페이스, 때때로 신경 가속기를 포함할 수 있습니다. 모든 버퍼, 연산자, 복사는 제한된 자원을 놓고 경쟁합니다.

모델을 맞추기

양자화는 고정밀 값을 더 작은 정수 표현으로 대체합니다. 프루닝, 디스틸레이션, 특징 엔지니어링, 아키텍처 탐색은 연산량이나 저장 용량을 줄일 수 있습니다. 대상 런타임에서 지원되는 연산자는 실용적인 모델을 제한합니다.

학습은 보통 더 큰 하드웨어에서 수행된 뒤 모델이 변환되고 디바이스용으로 컴파일됩니다. 전이 학습은 데이터 요구량을 줄일 수 있지만, 수치적 변화가 정확도에 영향을 줄 수 있으므로 변환 후 최종 결과물을 평가해야 합니다.

데이터 및 환경 변화

실험실 녹음은 거의 모든 마이크, 장착 위치, 온도, 진동 패턴, 억양, 배경 조건을 대변하지 못합니다. 대표적인 디바이스와 환경에서 데이터를 수집하고, 학습과 테스트 소스를 독립적으로 유지하며, ‘위의 어느 것도 아님’ 경우를 포함하세요.

잘못된 트리거는 에너지를 낭비하거나 사용자를 불편하게 할 수 있고, 놓친 이상 징후는 비용이 많이 들 수 있습니다. 실제 오류 비용을 고려해 임계값을 선택하고, 필요에 따라 프라이버시를 보호하는 요약이나 샘플링된 진단을 통해 현장 성능을 모니터링하세요.

전체 디바이스 측정

모델 연산 횟수가 제품 성능과 동일하지 않습니다. 깨우기 빈도, 전처리 시간, 추론 지연시간, 최대 RAM, 플래시 사용량, 평균 및 최대 전력, 열 거동, 명시적인 듀티 사이클 하에서 배터리 영향을 보고하세요.

서명된 펌웨어와 모델 업데이트, 롤백, 디바이스 식별, 취약점 대응을 계획하세요. Tiny 디바이스는 수년간 배치될 수 있으므로 유지보수성도 모델 품질의 일부입니다. 사이버 보안 제어는 디바이스가 작다고 미룰 수 없습니다.

메모리 및 연산 예산

플래시는 펌웨어, 모델 가중치, 상수를 저장하고, RAM은 센서 버퍼, 중간 활성화, 런타임 상태를 보관합니다. 피크 활성화 메모리는 특히 초기 컨볼루션 층에서 가중치 크기를 초과할 수 있습니다. 메모리 플래너는 수명이 겹치지 않는 버퍼를 재사용하고, 스트리밍 특징은 전체 신호 윈도우를 저장하지 않도록 합니다.

연산 횟수는 초기 추정치이지만, 커널 효율성은 텐서 형태, 정렬, 명령 지원, 메모리 접근에 따라 달라집니다. 최적화된 커널이 없는 하드웨어에서는 깊이별 컨볼루션이 연산을 줄여도 성능이 저조할 수 있습니다. 데스크톱 프로파일러만이 아니라 대상 보드에서 컴파일된 모델을 벤치마크하세요.

듀티 사이클은 많은 제품에서 핵심을 차지합니다. 센서와 MCU는 저전력 트리거에 깨어 작은 모델을 실행하고, 필요할 때만 라디오나 더 큰 프로세서를 활성화할 수 있습니다. 센서, 변환, 전처리, 깨우기, 추론, 통신, 유휴 누설을 포함한 전체 듀티 사이클을 측정하세요.

모델 개발 및 변환

배포 제약조건을 먼저 정의하고 대표적인 센서 데이터를 수집하세요. 학습에 사용된 전처리는 고정소수점 또는 임베디드 구현과 정확히 일치해야 합니다. 샘플 레이트, 윈도잉, 색 변환, 정규화, 특징 추출의 차이는 변환이 성공해도 모델이 실패하게 만들 수 있습니다.

학습 후 양자화는 대표 샘플로 범위를 보정하고, 양자화 인식 학습은 학습 중 낮은 정밀도를 시뮬레이션합니다. 채널별 가중치 스케일은 하나의 스케일보다 컨볼루션 품질을 더 잘 유지합니다. 지원되지 않는 연산은 재작성, 근사화, 혹은 느린 폴백으로 이동될 수 있으며, 각각 새로운 평가가 필요합니다.

압축은 가설 기반이어야 합니다. 비구조적 가중치 프루닝은 밀집 임베디드 커널의 속도를 높이지 않을 수 있으며, 구조화된 채널 제거는 하드웨어가 활용하기 쉽습니다. 디스틸레이션은 큰 교사의 행동을 전달하지만 그 편향과 실수를 함께 전달할 수 있습니다. 신호 처리 및 임계값 기준과 비교하세요.

응용 분야, 현장 테스트 및 유지보수

일반적인 TinyML 작업에는 키워드 스포팅, 웨이크워드 감지, 제스처 인식, 진동 이상 감지, 점유 감지, 음향 이벤트, 간단한 비전이 포함됩니다. 모델은 최종 결정이 아니라 게이트 역할을 할 수 있어, 불확실하거나 중요한 사례를 더 강력한 시스템으로 전송하면서 대역폭을 절약합니다.

현장 테스트는 디바이스 허용오차, 센서 노화, 장착, 배터리 상태, 온도, 날씨, 사용자, 배경 간섭을 포괄해야 합니다. 시간당 잘못된 트리거 수나 운영 사이클당 놓친 이벤트 수를 추적하고, 균형 잡힌 테스트 정확도만 보지 마세요. 실험실에서 선택한 임계값은 제품별 보정이 필요할 수 있습니다.

서명된 OTA 업데이트, 롤백, 모델 버전 텔레메트리, 장기 지원 기간을 계획하세요. 업데이트가 불가능할 경우 보수적인 모델을 사용하고 예상 환경 변동을 문서화하세요. 폐기 시에는 디바이스 자격증명을 회수하고 저장된 데이터를 처리해야 하며, 단순히 제품 판매를 중단하는 것으로는 충분하지 않습니다.

실제 예시: TinyML 진동 모니터

모터에 부착된 작은 가속도계가 정상 부하와 알려진 결함 상황에서 진동을 샘플링합니다. 디바이스는 신호를 윈도잉하고, 오프셋을 제거하며, 컴팩트한 시간 또는 주파수 영역 특징을 계산하고, 이상 탐지기 또는 분류기를 실행합니다. 샘플링 속도는 메모리나 전력을 과도하게 소모하지 않으면서 베어링 및 샤프트의 관련 주파수를 포착해야 합니다. 라벨은 검증된 검사에서 얻어야 하며, 단순히 잘못될 수 있는 알람만으로는 안 됩니다.

학습은 워크스테이션에서 수행되고, 이후 양자화, 변환, 대상 마이크로컨트롤러용 컴파일이 이뤄집니다. 물리 디바이스에서 모델 플래시, 피크 RAM, 실행 시간, 에너지, 정확도를 측정하세요. 정수 연산 및 연산자 가용성은 학습 모델의 출력을 변경할 수 있습니다. 센서 방향, 장착, 온도, 전압, 부품 변동, 실제 배경 진동을 테스트하고, 단순히 선별된 실험실 파일에만 의존하지 마세요.

배포된 디바이스는 보정, 보안 펌웨어 업데이트, 버전 보고, 안전 동작, 그리고 드리프트 대응 계획이 필요합니다. 에너지 절약과 원시 데이터 보호를 위해 건강 점수나 선택된 특징만 전송할 수 있지만, 로컬 오류 알람은 여전히 유지보수 비용을 발생시킵니다. 단계적 임계값을 사용하고 지속성을 요구하며, 모델 증거를 운영 상태와 결합하세요. TinyML은 로컬 지연시간, 프라이버시, 연결성, 에너지 제약이 엔지니어링 한계를 정당화할 때 가장 가치가 있습니다.

생산 테스트에는 전원 사이클 복구, 클록 드리프트, 센서 분리, 손상된 입력, 메모리 고갈, 중단된 업데이트가 포함되어야 합니다. 모델이 실행되지 않거나 신뢰도가 붕괴될 때의 동작을 정의하세요: 안전한 기본값, 명시적인 오류 표시, 혹은 기존 규칙이 무음 추정보다 바람직할 수 있습니다. 함대 하드웨어와 펌웨어 버전을 추적해 새로 발견된 오류를 디바이스 리비전, 환경, 모델 릴리스 중 어디에 해당하는지 구분할 수 있게 합니다.

실제 구현 체크리스트

개념을 제한되고 테스트 가능한 워크플로우로 전환하세요: 감지 → 전처리 → 추론 → 결정 → 실행 → 업데이트. 책임자를 지정하고, 데이터와 종속성을 문서화하며, 간단한 기준선을 설정하고, 수용 및 중단 기준을 정하고, 대표적인 실패를 테스트하고, 범위 확대 전에 모니터링, 롤백, 검토를 정의하세요. 버전과 가정을 기록해 다른 팀이 결과를 재현하고 변경 사항을 이해할 수 있도록 합니다.

출시 전에는 시스템을 구축·운영·보안·영향받는 사람들과 문서화된 준비 검토를 수행하세요. 정상 케이스, 경계 조건, 종속성 실패, 오용을 테스트하고 증거와 미해결 위험을 보존하세요. 누가 릴리스를 승인하고, 임계값을 변경하며, 출력을 무시하거나 운영을 중단할 수 있는지 정의하세요. 실제 데이터가 도착하면 결정을 재검토하세요. 기술적으로 성공한 파일럿이 더 큰 규모에서 신뢰할 수 있는 성능을 보장하지는 않기 때문입니다.

  • MEMORY: 가중치, 활성화, 버퍼.
  • ENERGY: 듀티 사이클 및 데이터 이동.
  • QUALITY: 실제 조건에서의 현장 정확도.

자주 묻는 질문

TinyML은 모바일 AI와 동일한가요?

정확히는 아닙니다. 모바일 디바이스는 비교적 큰 프로세서와 메모리를 갖춘 엣지 시스템이며, TinyML은 훨씬 더 엄격한 임베디드 및 마이크로컨트롤러 수준의 제약에 초점을 맞춥니다.

TinyML 모델이 디바이스에서 학습할 수 있나요?

대부분의 배포는 다른 곳에서 학습하고 디바이스에서 추론합니다. 제한적인 적응은 가능하지만, 메모리, 에너지, 안정성, 프라이버시, 롤백 때문에 디바이스 내 학습은 더 어렵습니다.

주요 참고 문헌

앙투안은 유나이트.AI의 비전적인 리더이자 공동 설립자로서 AI와 로봇공학의 미래를 형성하고 촉진하는 데 대한 불변의 열정을 가지고 있습니다. 연속적인 기업가로서, 그는 AI가 사회에 전기와 같은 변화를 가져올 것이라고 믿으며, 종종 파괴적인 기술과 AGI의 잠재력에 대해 열광합니다.

미래학자로서, 그는 이러한 혁신이 우리 세계를 어떻게 형성할지 탐구하는 데 헌신하고 있습니다. 또한, 그는 Securities.io의 설립자로서, 미래를 재정의하고 전체 부문을 재구성하는 최첨단 기술에 투자하는 플랫폼을 운영하고 있습니다.