TinyML — Machine Learning sui microcontrollori
Il TinyML indica l’esecuzione dell’inferenza di machine learning su microcontrollori a bassissimo consumo — dispositivi con appena 64 KB di RAM e un consumo nell’ordine dei milliwatt. A differenza dell’AI in cloud o dell’edge AI su processori potenti, il TinyML porta l’intelligenza direttamente nei dispositivi più piccoli, economici e vincolati dalla batteria dell’ecosistema IoT.
Perché il TinyML
| Vantaggio | Descrizione |
|---|---|
| Privacy | I dati grezzi dei sensori non lasciano mai il dispositivo — vengono elaborati localmente |
| Latenza | Inferenza in tempo reale in microsecondi, senza round-trip di rete |
| Potenza | Funziona per anni con batterie a bottone |
| Costo | Nessun costo di calcolo in cloud, nessun abbonamento per i dati |
| Affidabilità | Funziona senza connettività a Internet |
| Larghezza di banda | Invia solo i risultati (anomalia rilevata: sì/no), non i dati grezzi |
Il mercato del TinyML è stato valutato a circa 1,1 miliardi di dollari nel 2024 e si prevede che crescerà a un CAGR del 34% fino al 2029, trainato dalla proliferazione dell’IoT e dalla domanda di intelligenza edge rispettosa della privacy (Technavio, ResearchAndMarkets, 2024).
Applicazioni comuni del TinyML
- Manutenzione predittiva — Rilevamento di anomalie di vibrazione su motori industriali (accelerometro + MCU)
- Keyword spotting — Rilevamento on-device di parole di attivazione tipo “Hey Google” / “Alexa”
- Riconoscimento dei gesti — Classificazione del movimento su wearable tramite dati IMU
- Classificazione dei suoni — Rilevamento della rottura di vetri, suoni di guasti delle macchine, identificazione delle specie di uccelli
- Ispezione visiva — Rilevamento semplice di difetti tramite telecamere a bassa risoluzione su MCU
- Rilevamento ambientale — Rilevamento di fughe di gas, classificazione della qualità dell’aria
Framework di deployment del TinyML
| Framework | Sviluppatore | Caratteristica chiave | Supporto hardware |
|---|---|---|---|
| TensorFlow Lite Micro | Il più consolidato, ampio ecosistema | ARM Cortex-M, ESP32, RISC-V | |
| Edge Impulse | Edge Impulse | Piattaforma web no-code, prototipazione rapida | Nordic nRF, STM32, ESP32, Arduino |
| CMSIS-NN | ARM | Kernel ottimizzati a mano per Cortex-M | Solo ARM Cortex-M |
| MicroTVM | Apache TVM | Autotuning basato su compilatore | STM32, ESP32, RISC-V |
| ExecuTorch | Meta | Inferenza basata su PyTorch | ARM, Apple, Qualcomm |
| MCUXpresso ML SDK | NXP | Integrato con l’ecosistema NXP | NXP i.MX RT, LPC |
Requisiti hardware del TinyML
| Risorsa | Keyword spotting | Anomalia di vibrazione | Ispezione visiva |
|---|---|---|---|
| Flash | 64—128 KB | 32—64 KB | 256—512 KB |
| RAM | 16—32 KB | 8—16 KB | 64—128 KB |
| Tempo di inferenza | <100 ms | <10 ms | <500 ms |
| Potenza | 1—5 mW | 0,5—2 mW | 10—50 mW |
| MCU tipica | Cortex-M4F | Cortex-M4F | Cortex-M7 o M55+Ethos-U55 |
Flusso di sviluppo del TinyML
- Raccolta dei dati — Dati dei sensori da condizioni reali (non simulate)
- Addestramento del modello — TensorFlow / PyTorch su GPU desktop/cloud
- Quantizzazione — Float32 → INT8 (riduce la dimensione del modello di circa 4 volte con perdita di accuratezza <1%)
- Conversione — Esportazione in flatbuffer TFLite Micro o ONNX
- Deployment — Flash del modello sulla MCU, integrazione con il loop dei task dell’RTOS
- Validazione — Test di accuratezza on-device rispetto al dataset di addestramento
- Miglioramento continuo — Loop di feedback con i dati di campo
Termini correlati
- Edge AI — La categoria più ampia; il TinyML è specificamente per dispositivi di classe MCU (potenza in mW, memoria in KB).
- RTOS — L’inferenza TinyML viene tipicamente eseguita come task all’interno di uno scheduler RTOS.
- IoT — Il TinyML abilita dispositivi IoT intelligenti che elaborano i dati alla fonte.
Implementiamo modelli TinyML su piattaforme Cortex-M ed ESP32 per rilevamento di anomalie, classificazione e manutenzione predittiva. Consulta i nostri servizi di Edge AI e Sviluppo di sistemi embedded.
Riferimenti ufficiali
- LiteRT for Microcontrollers (TFLite Micro) — Google AI Edge
- Repository GitHub tflite-micro — TensorFlow open source
- Documentazione CMSIS-NN (ultima versione) — ARM Software (open source)
- Repository GitHub CMSIS-NN — ARM Software
- Apache TVM — Compilatore per sistemi di deep learning — Apache Software Foundation
- TinyML and the Future of Embedded ML — Pete Warden — TinyML Book Released (co-autore, O’Reilly)