TinyML — Strojové učenie na mikrokontroléroch
TinyML označuje spustenie ML inferencie na ultra-nízkoenergetických mikrokontroléroch — zariadeniach s len 64 KB RAM, spotrebúvajúcich miliwatty. Na rozdiel od cloudového AI alebo edge AI na výkonných procesoroch, TinyML prináša inteligenciu priamo na najmenšie, najlacnejšie a energeticky najnáročnejšie zariadenia v ekosystéme IoT.
Prečo TinyML
| Výhoda | Popis |
|---|---|
| Súkromie | Surové senzoré dáta nikdy neopustia zariadenie — spracované lokálne |
| Latencia | Inferencia v reálnom čase v mikrosekundach, bez sieťového okruhú |
| Spotreba | Beh na gombíkovej batérii aj roky |
| Náklady | Žiadne cloud compute poplatky ani dátové predplatné |
| Spolľahlivosť | Funguje bez pripojenia na internet |
| Pásmo | Posiela len výsledky (anomália: áno/nie), nie surové dáta |
Trh TinyML bol ocenený na approximately 1,1 miliardy USD v roku 2024 a je projíkovaný na rúst s CAGR 34 % do roku 2029, hnaný priferácií IoT zariadeni a dopytom po edge inteligencii (Technavio, ResearchAndMarkets, 2024).
Bežné aplikácie TinyML
- Prediktívna údržba — Detekcia vibračných anomálií na priemyselných motoroch (akcelerometer + MCU)
- Detekcia kľúčového slova — “Hey Google” / “Alexa” — detekcia prebudenia priamo na zariadeni
- Rozpoznávanie gest — Klasifikácia pohybu nositeného zariadenia pomocou IMU dát
- Klasifikácia zvuku — Detekcia rozbitia skla, poruch strojov, identifikácia vtakov
- Vizuálna kontrola — Jednoduchá detekcia chybnosti kamerou nízkeho rozlíšenia na MCU
- Senzoring prostredia — Detekcia úniku plynu, klasifikácia kvality vzduchu
Frameworky pre TinyML
| Framework | Vývojár | Kľúčová vlastnosť | Podpora hardvéru |
|---|---|---|---|
| TensorFlow Lite Micro | Najzavedenejší, široký ekosystém | ARM Cortex-M, ESP32, RISC-V | |
| Edge Impulse | Edge Impulse | No-code webová platforma, rýchle prototypovanie | Nordic nRF, STM32, ESP32, Arduino |
| CMSIS-NN | ARM | Optimalizované jadrá pre Cortex-M | Len ARM Cortex-M |
| MicroTVM | Apache TVM | Autotuning založený na kompilátore | STM32, ESP32, RISC-V |
| ExecuTorch | Meta | Inferencia založená na PyTorch | ARM, Apple, Qualcomm |
| MCUXpresso ML SDK | NXP | Integrácia s ekosystémom NXP | NXP i.MX RT, LPC |
Požiadavky na hardvér pre TinyML
| Zdroj | Detekcia kl. slova | Vibračná anomália | Vizuálna kontrola |
|---|---|---|---|
| Flash | 64–128 KB | 32–64 KB | 256–512 KB |
| RAM | 16–32 KB | 8–16 KB | 64–128 KB |
| Čas inferencie | < 100 ms | < 10 ms | < 500 ms |
| Spotreba | 1–5 mW | 0,5–2 mW | 10–50 mW |
| Typický MCU | Cortex-M4F | Cortex-M4F | Cortex-M7 alebo M55+Ethos-U55 |
Pracovný postup vývoja TinyML
- Zber dát — Senzoré dáta z reálnych podmienok (nie simulované)
- Tréning modelu — TensorFlow / PyTorch na desktop/cloud GPU
- Kvantizácia — Float32 → INT8 (zmenšenie modelu ~4x, strata presnosti < 1 %)
- Konverzia — Export do TFLite Micro flatbuffer alebo ONNX
- Nasadenie — Nahranie modelu do MCU, integrácia s RTOS task loop
- Validácia — Testovanie presnosti na zariadeni vs. trénovací dataset
- Priebežné zlepšovanie — Spätná väzba z reálnych podmienok
Súviseté pojmy
- Edge AI — Širšia kategória; TinyML je konkrétne pre zariadenia triedy MCU (výkon v mW, pamäť v KB).
- RTOS — TinyML inferencia beží typicky ako úloh v plánovači RTOS.
- IoT — TinyML umožňuje inteligenté IoT zariadenia spracúvajúce dáta priamo na zdroji.
Nasadzujeme TinyML modely na platformách Cortex-M a ESP32 pre detekciu anomálií, klasifikáciu a prediktívnu údržbu. Pozrite naše služby Edge AI a Vývoj Embedded Systémov.
Oficiálne referencie
- LiteRT pre mikrokontroléry (TFLite Micro) — Google AI Edge
- tflite-micro GitHub repozitár — TensorFlow open source
- CMSIS-NN dokumentácia (najnovšia) — ARM Software (open source)
- CMSIS-NN GitHub repozitár — ARM Software
- Apache TVM — Kompilátor pre systémy hlbokého učenia — Apache Software Foundation
- TinyML knižka — oznámenie vydania — Pete Warden (spoluautor, O’Reilly)