Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024
Glossario

Motore di inferenza

Scopri come gli inference engine alimentano l'IA fornendo previsioni in tempo reale, ottimizzando i modelli e consentendo la distribuzione multipiattaforma.

Un inference engine è un componente software specializzato che esegue un modello di machine learning addestrato per generare previsioni da dati nuovi e non visti. Dopo che un modello è stato addestrato utilizzando un framework come PyTorch o TensorFlow, l'inference engine subentra per eseguirlo in modo efficiente in un ambiente di produzione. Il suo obiettivo principale è quello di ottimizzare il modello per la velocità e l'utilizzo delle risorse, rendendo possibile ottenere un'inferenza in tempo reale su varie piattaforme hardware, dai potenti server cloud ai dispositivi edge con risorse limitate.

Il ruolo di un motore di inferenza

La funzione principale di un motore di inferenza è colmare il divario tra un modello addestrato e la sua applicazione nel mondo reale. Esegue diverse ottimizzazioni critiche per ridurre al minimo la latenza di inferenza e massimizzare la velocità effettiva senza compromettere significativamente l'accuratezza.

Le principali tecniche di ottimizzazione includono:

  • Ottimizzazione del grafo: L'engine analizza il grafo computazionale del modello e applica ottimizzazioni come la "fusione dei layer", che combina più operazioni sequenziali in una singola per ridurre l'overhead computazionale.
  • Ottimizzazione specifica per l'hardware: Compila il modello per l'esecuzione su hardware specifico, come CPU, GPU o acceleratori AI specializzati come le TPU di Google. Ciò comporta l'utilizzo di kernel di calcolo altamente ottimizzati e adattati all'architettura dell'hardware.
  • Riduzione della precisione: Tecniche come la quantizzazione del modello vengono utilizzate per convertire i pesi di un modello da numeri floating-point a 32 bit a interi a 16 bit o 8 bit più efficienti. Ciò riduce drasticamente l'utilizzo della memoria e accelera i calcoli, il che è particolarmente importante per l'edge computing.
  • Potatura del modello (Model Pruning): Un motore di inferenza può facilitare l'esecuzione di modelli in cui i pesi non necessari sono stati rimossi tramite la potatura del modello, riducendo ulteriormente le dimensioni del modello e la richiesta computazionale.

Motori di inferenza popolari

Molte organizzazioni hanno sviluppato motori di inferenza ad alte prestazioni per accelerare i modelli di deep learning. Le scelte più comuni includono:

  • NVIDIA TensorRT: Un ottimizzatore e runtime ad alte prestazioni per GPU NVIDIA, che offre velocità di inferenza all'avanguardia. Ultralytics offre una integrazione perfetta con TensorRT per la distribuzione di modelli YOLO.
  • OpenVINO di Intel: Un toolkit open-source per l'ottimizzazione e la distribuzione di modelli su hardware Intel, tra cui CPU e GPU integrate. I modelli Ultralytics possono essere facilmente esportati in OpenVINO.
  • ONNX Runtime: Un motore cross-platform sviluppato da Microsoft che può eseguire modelli nel formato ONNX (Open Neural Network Exchange) su una vasta gamma di hardware.
  • TensorFlow Lite (TFLite): Una soluzione leggera progettata specificamente per distribuire modelli su dispositivi mobili e embedded, come quelli che eseguono Android e iOS.
  • Apache TVM: Un framework compilatore open-source di machine learning in grado di ottimizzare i modelli per vari backend hardware.

Applicazioni nel mondo reale

I motori di inferenza sono la spina dorsale operativa di innumerevoli applicazioni di IA.

  1. Nell'AI per soluzioni automobilistiche, un motore di inferenza viene eseguito sul computer di bordo di un veicolo per elaborare i dati provenienti da telecamere e sensori. Esegue un modello di object detection come Ultralytics YOLO11 per identificare pedoni, segnali stradali e altri veicoli in millisecondi, consentendo funzionalità di sicurezza critiche.
  2. Per la smart manufacturing, un motore di inferenza in un ambiente di produzione industriale alimenta un sistema di computer vision per il controllo qualità. Analizza le immagini da una linea di produzione in tempo reale per rilevare difetti, garantendo che i prodotti soddisfino gli standard di qualità con elevata velocità e affidabilità.

Motore di inferenza vs. Concetti correlati

È utile distinguere un inference engine da altri termini correlati in MLOps.

  • Framework ML vs. Motore di inferenza: Un framework di machine learning come PyTorch è una libreria completa sia per l'addestramento che per la distribuzione di modelli. Include strumenti per la costruzione di reti neurali, la gestione di dataset e l'esecuzione di cicli di addestramento. Un motore di inferenza, al contrario, è uno strumento altamente specializzato focalizzato esclusivamente sulla fase di distribuzione. Mentre un framework ha capacità di inferenza di base, un motore di inferenza dedicato fornisce prestazioni superiori attraverso ottimizzazioni aggressive e specifiche per l'hardware.

  • Model Serving vs. Inference Engine: Model serving si riferisce all'infrastruttura più ampia per rendere disponibile un modello su una rete, che include componenti come endpoint API, load balancer e strumenti di monitoraggio. L'inference engine è il componente principale all'interno di un sistema di model serving che esegue le richieste di previsione. Puoi esplorare varie opzioni di deployment del modello per vedere come gli inference engine si inseriscono nel quadro generale. Piattaforme come Ultralytics HUB semplificano l'intero processo, dall'addestramento al deployment ottimizzato.

Unisciti alla community di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora
Link copiato negli appunti