Edge AI & TinyML Mechanics
클라우드 의존 없이 임베디드 기기 내부에서 실시간으로 지능형 연산을 수행하기 위한 모델 경량화, 가속기 활용 및 온디바이스 추론 물리 원리를 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
엣지 AI 및 TinyML 메커니즘(Edge AI & TinyML Mechanics, EAM)은 거대 인공지능 모델을 손바닥보다 작은 마이크로컨트롤러(MCU) 속에 물리적으로 압축하여 집어넣는 '지능의 극소화' 과학입니다.
전통적인 AI는 수백 와트의 전력을 쓰는 서버에서 돌아가지만, EAM은 수 밀리와트의 배터리로 인식을 시도합니다. 학습자는 부동소수점 연산을 정수형으로 바꾸는 **양자화(Quantization)**와, 불필요한 신경망 연결을 물리적으로 끊어내는 가지치기(Pruning) 기술을 배웁니다. 또한, CPU보다 수십 배 효율적인 AI 전용 물리 유닛인 **NPU(Neural Processing Unit)**의 구조를 익힙니다. 이를 통해 데이터가 외부로 나가지 않아도 현장에서 즉시 판단을 내리는 보안적이고 경제적인 온디바이스 지능 시스템을 설계합니다.
2. Scope & Boundaries
In-Scope
- Model Optimization Physics: 양자화(INT8/INT4), 프루닝(Pruning), 지식 증류 물리 로직
- Hardware Acceleration: NPU, DSP, SIMD 명령어셋을 통한 컨볼루션 연산 가속 물리
- Resource Constrained Inference: 수백 KB RAM 환경에서의 레이어별 메모리 관리
- Latency & Power Analysis: 추론 1회당 소요되는 하드웨어 에너지 및 시간 정량화
Out-of-Scope
- 고성능 GPU 기반의 딥러닝 모델 학습(Training) 과정 (11. ML/AI 영역으로 위임)
- 자연어 처리 모델의 알고리즘적 정교함 상세 (11. ML/AI 영역으로 위임)
Boundaries
- EAM vs. Cloud AI: Cloud AI가 '정확도 극대화'를 쫓는다면, EAM은 주어진 '하드웨어 자원 한계(SRAM/Flash)' 내에서의 '최적 응답성'을 목표로 합니다.
3. Counterexample
- 단순히 "임베디드에서 AI를 쓴다"는 설명은 EAM 학습이 아닙니다. 왜 32비트 Float 연산을 8비트 Integer로 낮추더라도 정확도가 유지되는지 수리적 통계 물리 관점에서 설명할 수 있어야 하며, AI 가속기가 일반 CPU에 비해 왜 '데이터 이동(Data Movement)' 오버헤드를 물리적으로 획기적으로 줄이는지 매크로 연산(MAC) 구조 관점에서 입증하지 못한다면 EAM의 본질을 놓친 것입니다.
4. Prerequisites
- ALU & Data Path Design (Basic): 산술 연산 장치 및 병렬 처리 기초가 필수입니다. (02-01-03 ADP)
- Memory Systems & Storage Physics (Recommended): DMA 및 데이터 이동 물리 이해가 권장됩니다. (02-02-02 MSP)
5. Learning Map
- Precision Reduction: 신경망의 무거운 가중치를 가벼운 정수형 비트로 물리 변환하는 법을 배웁니다.
- Structural Slimming: 뇌 세포를 솎아내듯 불필요한 연산 경로를 제거하여 물리적 코드 크기를 줄입니다.
- Accelerator Pipeline: NPU 내부의 컨볼루션 엔진이 어떻게 데이터를 한꺼번에 휩쓸고 가는지 익힙니다.
- Energy-efficient Logic: 판단 한 번에 건전지가 얼마나 소모되는지 '판단 효율'을 극대화하는 기법을 완성합니다.
6. Learning Topics
Basic
Core: 모델 양자화의 물리적 기초 (Quantization Physics)
- Why to Learn: MCU에는 부동소수점 연산 장치(FPU)가 없거나 느려도, 양자화를 통하면 초고속 추론이 가능하기 때문입니다.
- What to Learn:
- Linear Scale & Zero-point: 실수 범위를 정수 범위로 사상하는 수리 평면
- INT8 quantization: 32비트 데이터를 8비트로 압축할 때의 물리적 메모리 이득
- Re-quantization: 레이어 간 전송 시 발생하는 비트 스케일 조정 로직
- How to Learn:
- 가중치 행렬 데이터들을 8비트로 변환했을 때 발생하는 반올림 오차(Quantization Noise) 수치 분석 실습
- 양자화 전후의 모델 크기(Byte)와 실행 클록 수 물리적 비교
- Implement: 입력값과 가중치 범위를 받아 최적의 양자화 스케일 팩터를 산정하는 알고리즘
Recommended
Core: TinyML을 위한 메모리 관리 (Memory-aware Inference)
- Why to Learn: 수십 MB의 모델을 256KB RAM 환경에서 돌리려면 물리적인 '쪼개기'와 '재사용'이 필수이기 때문입니다.
- What to Learn:
- Activation Buffering: 레이어 연산 결과값을 저장하는 버퍼의 물리적 수명 관리
- Weight Inplace: 플래시 메모리에서 램으로 복사하지 않고 즉시 연산하는 물리(XIP)
- 레이어 융합(Layer Fusion): 다수의 연산 단계를 하나로 묶어 메모리 참조 횟수를 줄이는 기술
- How to Learn:
- 특정 신경망 모델의 텐서가 램에 상주하는 시점과 해제되는 시점을 타임라인으로 그리고, Peak Memory 사용량 도출 실습
- 모델 데이터를 Flash에 두었을 때와 RAM에 두었을 때의 하드웨어 전송 지연 시간 차이 측정
- Implement: 레이어별 입력/출력 텐서 크기를 입력하면 필요한 최소 시스템 RAM 용량을 계산하는 프로파일러
Practical
Core: NPU와 하드웨어 가속기 구조 (NPU Architecture)
- Why to Learn: CPU 코어만으로는 불가능한 초당 수조 번의 AI 연산을 물리적으로 구현하기 위해서입니다.
- What to Learn:
- MAC (Multiply-Accumulate) Array: 한 클록에 수천 쌍의 곱셈-덧셈을 처리하는 물리 유닛
- Weight Stay/Output Stay: 데이터 이동을 최소화하기 위한 온칩 버퍼 활용 전략
- 가속기 명령 체계: 메인 CPU가 가속기에게 일을 시키는 하드웨어 레지스터 게이트웨이
- How to Learn:
- NPU가 있는 칩(예: STM32MP1, i.MX)에서 동일한 모델을 CPU와 NPU로 각각 돌려보며 소모 전력 대비 성능(FPS/W) 분석 실습
- 가속기 내부의 데이터 버스 대역폭 병목 지점 포착 분석
- Implement: 이미지 데이터 한 행을 MAC 유닛 배열에 순차적으로 공급하는 하드웨어 제어 의사 코드
Advanced
Core: 엣지에서의 온라인 학습과 강건성 (Edge Learning & Robustness)
- Why to Learn: 현장의 환경 변화(소음, 조도 등)에 맞춰 하드웨어가 스스로 지능을 갱신하게 하기 위함입니다.
- What to Learn:
- On-device Transfer Learning: 마지막 레이어만 현장에서 재학습하는 효율적 물리 로직
- Adversarial Protection: 하드웨어 노이즈가 AI 판단을 흐리지 않게 방어하는 기법
- Federated Learning Physics: 기기에서 학습한 지식만 안전하게 서버로 보내는 물리적 통로
- How to Learn:
- 로컬에서 수집한 10장의 사진으로만 가중치를 갱신했을 때, 결과에 미치는 물리적 가중치 변화량 추적 실습
- 저전력 상황에서 모델의 연산 정밀도를 동적으로 낮춰 생존 시간을 늘리는 물리적 시뮬레이션
- Implement: 추론 정확도가 떨어졌을 때 상위 레이어의 가중치 일부를 갱신하는 경량 역전파(Backprop) 로직
7. Terminology
8. References
Primary
- [P1] CS2023 - AR/Embedded Systems (Hardware acceleration) — Core requirements.
- [P2] SWEBOK v4.0 - Computing Foundations / Non-traditional Architectures — Structural standards.
Secondary
- [TinyML: Machine Learning with TensorFlow Lite on Arduino] Ward-Paige & Warden — Practical foundations.
- [Mobile Deep Learning] — Industry optimization patterns.
Industry
- [Arm: Ethos-U NPU Architecture] — State of the art in edge AI.
- [TensorFlow Lite for Microcontrollers] — The de-facto standard framework.
9. Final Checklist
Primary
- 'Float32' 기반 모델을 'INT8'로 양자화했을 때, 물리적 메모리 사용량이 이론적으로 정확히 4분의 1이 되는 이유를 설명 가능한가? (P1)
- 'On-device Inference'가 클라우드 AI 방식보다 '네트워크 지연'과 '데이터 프라이버시' 측면에서 왜 물리적으로 우월한지 입증할 수 있는 가? (P1)
Secondary
- AI 가속기(NPU)에서 컨볼루션 연산 도중 발생하는 '메모리 읽기 작업'이 실제 곱셈 작업보다 왜 더 많은 하드웨어 전력(Physical Power)을 소모하게 되는지 소통 가능한가?
- 모델의 특정 레이어를 건너뛰는 '프루닝(Pruning)' 기술이 적용되었을 때, 하드웨어 명령어 파이프라인에서 발생하는 '분기 지연' 가능성을 분석 가능한가?
Industry
- 스마트 워치의 음성 인식 기능 설계 시, 상시 대기(Always-on)를 위해 필요한 TinyML 모델의 물리 전력 소비 한계치를 제안할 수 있는 가? (SFIA)
- 저사양 MCU에서 모델의 RAM 점유가 한계를 넘었을 때, 레이어를 조각내어 순차적으로 연산(Tiling)하는 물리적 스케줄링 방안을 기술할 수 있는 가?