Scopri TinyML e impara a implementare Ultralytics su microcontrollori a basso consumo. Scopri come ottimizzare i modelli per l'IoT grazie alla quantizzazione e alla Ultralytics .
Il Tiny Machine Learning, comunemente noto come TinyML, rappresenta un sotto-settore specializzato del machine learning che si concentra sull'implementazione di modelli su dispositivi a bassissimo consumo energetico e con risorse limitate, come microcontrollori e piccoli dispositivi IoT. A differenza dei tradizionali sistemi basati sul cloud che si affidano a immense risorse computazionali, il TinyML opera interamente all'edge. Eseguendo algoritmi intelligenti localmente su dispositivi con limiti di potenza spesso misurati in pochi milliwatt, questo approccio riduce al minimo la latenza, garantisce la privacy dei dati e riduce drasticamente l'utilizzo della larghezza di banda, un paradigma sostenuto e promosso da comunità come la TinyML Foundation.
Per riuscire a implementare architetture complesse di reti neurali su hardware con risorse molto limitate, come i processori ARM Cortex-M, i modelli devono essere sottoposti a una rigorosa ottimizzazione. Tecniche quali la quantizzazione dei modelli— che converte i pesi in virgola mobile a 32 bit in numeri interi a 8 bit — e il potatura dei modelli vengono utilizzate per ridurre in modo significativo l’ ingombro di memoria complessivo. Oggi, framework specializzati come TensorFlow for Microcontrollers Google e ExecuTorch PyTorch facilitano questi precisi flussi di lavoro di compressione, portando un'intelligenza visiva e uditiva avanzata nell'hardware embedded di uso quotidiano.
Sebbene il TinyML sia strettamente correlato all’Edge AI, la differenza principale risiede nella scala hardware e nel consumo energetico. L’Edge AI è un termine più ampio che comprende qualsiasi esecuzione locale di modelli di IA, spesso utilizzando computer a scheda singola come un Raspberry Pi o GPU integrate robuste come un NVIDIA . Al contrario, TinyML si rivolge specificamente a sistemi profondamente embedded che funzionano a batteria per mesi o anni, come le schede Arduino o i chip STMicroelectronics. Questi dispositivi dispongono in genere solo di poche centinaia di kilobyte di RAM, rendendo obbligatoria una compressione aggressiva dei modelli.
La possibilità di implementare soluzioni di intelligenza artificiale direttamente su hardware minimale ha aperto la strada a numerosi casi d'uso concreti in vari settori:
La preparazione di un modello per un microcontrollore richiede una formattazione di esportazione rigorosa. Utilizzando Ultralytics , gli sviluppatori possono creare solide pipeline di rilevamento di oggetti e comprimerle per destinazioni embedded. È possibile gestire il proprio set di dati e il versioning dei modelli senza soluzione di continuità sulla Ultralytics prima di esportarli localmente. TFLite nativa TFLite consente una conversione senza sforzo nei formati interi a 8 bit richiesti dai microcontrollori, integrando altre opzioni di distribuzione dei modelli specifiche per l'hardware come CoreML di Apple CoreML, Edge TPU Google e TensorRT NVIDIA TensorRT.
L'esempio seguente mostra come esportare un modello YOLO26 leggero, ottimizzato specificatamente con quantizzazione INT8, rendendolo adatto all'implementazione su piattaforme edge compatibili con 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)
Inizia il tuo viaggio con il futuro del machine learning