Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

TinyML

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.

TinyML vs. IA periferica

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.

Applicazioni nel mondo reale

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:

  • Manutenzione predittiva nella produzione intelligente: gli stabilimenti installano sensori di vibrazione e audio a bassissimo consumo direttamente sui macchinari. Questi sensori TinyML analizzano costantemente le frequenze dei motori per detect anomalie che indicano un guasto imminente, consentendo ai team di manutenzione di risolvere i problemi prima che si verifichino costosi tempi di fermo.
  • Agricoltura di precisione intelligente: dispositivi TinyML alimentati a batteria sono distribuiti su vasti campi coltivati per monitorare le condizioni ambientali locali e detect i primi segni di infestazioni da parassiti o malattie utilizzando moduli fotografici di base, trasmettendo solo avvisi leggeri anziché file di immagini pesanti.
  • Monitoraggio audio per la conservazione della fauna selvatica: I ricercatori utilizzano reti di sensori acustici nascosti, alimentati da TinyML, per detect suoni specifici delle specie in via di estinzione o delle attività di disboscamento illegale (come le motoseghe) nelle fitte foreste. Alimentati da energia solare o a batteria, questi dispositivi analizzano i dati audio in loco e attivano immediatamente allarmi a lungo raggio.

Esportazione di modelli per TinyML

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)

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning