Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Motore di inferenza

Scopri come un motore di inferenza ottimizza i modelli di machine learning come Ultralytics per l'implementazione in tempo reale. Esplora oggi stesso i suggerimenti sulle prestazioni per l'Edge AI.

Un motore di inferenza è un componente software specializzato progettato per eseguire modelli di apprendimento automatico addestrati e generare previsioni da nuovi dati. A differenza della fase di addestramento, che si concentra sull'apprendimento di modelli attraverso processi computazionali intensivi come la retropropagazione, un motore di inferenza è strettamente ottimizzato per la fase operativa nota come implementazione del modello. Il suo obiettivo principale è quello di eseguire i calcoli nel modo più efficiente possibile, riducendo al minimo la latenza di inferenza e massimizzando il throughput sull' hardware di destinazione, che si tratti di un server cloud scalabile o di un dispositivo Edge AI alimentato a batteria . Eliminando il sovraccarico richiesto per l' addestramento, questi motori consentono alle reti neurali complesse di funzionare in applicazioni in tempo reale .

Come i motori di inferenza ottimizzano le prestazioni

Il passaggio da un ambiente di addestramento a un motore di inferenza comporta in genere diverse fasi di ottimizzazione volte a snellire la struttura del modello. Poiché il modello non ha più bisogno di apprendere, il motore può scartare i dati necessari per gli aggiornamenti del gradiente, congelando di fatto i pesi del modello. Le tecniche comunemente utilizzate dai motori di inferenza includono la fusione dei livelli, in cui più operazioni vengono combinate in un unico passaggio per ridurre l'accesso alla memoria, e la quantizzazione del modello, che converte i pesi da formati in virgola mobile ad alta precisione a numeri interi a precisione inferiore (ad esempio, INT8).

Queste ottimizzazioni consentono ad architetture avanzate come Ultralytics di funzionare a velocità incredibilmente elevate senza perdite significative in termini di accuratezza. Motori diversi sono spesso adattati a specifici ecosistemi hardware per sbloccare le massime prestazioni:

  • NVIDIA TensorRTNVIDIA offre inferenze ad alte prestazioni sulle GPU NVIDIA utilizzando kernel specifici per l'hardware e ottimizzando il grafico di rete.
  • Intel OpenVINO: ottimizza le prestazioni di deep learning sulle architetture Intel , comprese CPU e grafica integrata, rendendolo ideale per l'edge computing.
  • ONNX : un acceleratore multipiattaforma che supporta modelli in formato ONNX , fornendo un ponte tra diversi framework e backend hardware.

Applicazioni nel mondo reale

I motori di inferenza sono i silenziosi motori dietro molte delle moderne comodità dell'intelligenza artificiale, che consentono ai sistemi di visione artificiale di reagire istantaneamente al loro ambiente.

  1. Veicoli autonomi: nelle auto a guida autonoma, i modelli di rilevamento degli oggetti devono identificare pedoni, segnali stradali e altri veicoli in pochi millisecondi. Un motore di inferenza che funziona localmente sull'hardware dell'auto garantisce che questa elaborazione avvenga con velocità di inferenza in tempo reale, poiché affidarsi a una connessione cloud comporterebbe pericolosi ritardi.
  2. Produzione intelligente: le fabbriche utilizzano telecamere IoT industrialiper ispezionare i prodotti sulle linee di assemblaggio. Un motore di inferenza elabora i feed video per eseguire il rilevamento delle anomalie, segnalando immediatamente i difetti. Questa automazione riduce gli sprechi e garantisce un rigoroso controllo di qualità senza rallentare la produzione.

Motore di inferenza contro framework di addestramento

È utile distinguere tra il software utilizzato per creare il modello e il motore utilizzato per eseguirlo. Un framework di addestramento (come PyTorch o TensorFlow) fornisce gli strumenti per progettare architetture, calcolare le perdite e aggiornare i parametri tramite apprendimento supervisionato. Dà priorità alla flessibilità e alle capacità di debug.

Al contrario, il motore di inferenza prende l'artefatto finito dal framework di addestramento e dà priorità alla velocità di esecuzione e all'efficienza della memoria. Sebbene sia possibile eseguire l'inferenza all'interno di un framework di addestramento, raramente è efficiente quanto l'utilizzo di un motore dedicato, soprattutto per l'implementazione su telefoni cellulari o dispositivi integrati tramite strumenti come TensorFlow o Apple Core ML.

Utilizzo di un motore di inferenza con YOLO26

Il ultralytics Il pacchetto astrae gran parte della complessità dei motori di inferenza, consentendo agli utenti di eseguire previsioni senza soluzione di continuità. Dietro le quinte, gestisce la pre-elaborazione delle immagini e l'esecuzione del modello. Per gli utenti che desiderano scalare, il Piattaforma Ultralytics semplifica il processo di addestramento ed esportazione dei modelli in formati ottimizzati compatibili con vari motori di inferenza.

L'esempio seguente mostra come caricare un modello YOLO26 pre-addestrato ed eseguire l'inferenza su un'immagine:

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

Unitevi alla comunità di Ultralytics

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

Iscriviti ora