Glossario

Latenza di inferenza

Ottimizza le prestazioni dell'intelligenza artificiale con una bassa latenza di inferenza. Scopri i fattori chiave, le applicazioni reali e le tecniche per migliorare le risposte in tempo reale.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La latenza di inferenza è una metrica critica nell'intelligenza artificiale e nell'apprendimento automatico, in particolare quando si implementano modelli per applicazioni reali. Si riferisce al tempo che intercorre tra la presentazione di un input (come un'immagine o una query di testo) a un modello addestrato e il momento in cui il modello produce una previsione o un output. In sostanza, misura la velocità con cui un modello può elaborare nuovi dati e fornire un risultato. Ridurre al minimo la latenza di inferenza è spesso fondamentale per le applicazioni che richiedono risposte tempestive, con un impatto diretto sull'usabilità e sull'efficacia dei sistemi di intelligenza artificiale.

Importanza della latenza di inferenza

Una bassa latenza di inferenza è fondamentale per un'esperienza utente positiva e per la fattibilità di molte applicazioni di intelligenza artificiale. Nei sistemi interattivi, come i chatbot o i servizi di traduzione in tempo reale, un'alta latenza porta a ritardi evidenti, frustrando gli utenti. Per applicazioni critiche come i veicoli autonomi o gli strumenti di diagnostica medica, anche piccoli ritardi possono avere conseguenze significative, con un impatto sulla sicurezza e sul processo decisionale. Per questo motivo, comprendere, misurare e ottimizzare la latenza dell'inferenza è un aspetto fondamentale per distribuire efficacemente i modelli di intelligenza artificiale. Si tratta di una metrica distinta dal throughput, che misura il numero di inferenze elaborate per unità di tempo; un'applicazione potrebbe richiedere una bassa latenza (risposta individuale veloce) anche se il throughput complessivo non è estremamente elevato.

Applicazioni del mondo reale

L'importanza di una bassa latenza di inferenza è evidente in diversi ambiti:

  • Guida autonoma: Le auto a guida autonoma si affidano a modelli di visione computerizzata per compiti come il rilevamento di oggetti (ad esempio, l'identificazione di pedoni e altri veicoli). Una bassa latenza è essenziale affinché il veicolo reagisca rapidamente all'ambiente circostante, garantendo la sicurezza. Un ritardo anche di pochi millisecondi nel rilevamento di un ostacolo potrebbe essere critico.
  • Sistemi di sicurezza in tempo reale: Le telecamere di sicurezza dotate di intelligenza artificiale utilizzano modelli per rilevare intrusioni o eventi specifici. Affinché un sistema di allarme di sicurezza sia efficace, deve elaborare i feed video e attivare gli avvisi quasi istantaneamente quando rileva una minaccia, richiedendo una latenza di inferenza minima.

Fattori che influenzano la latenza dell'inferenza

Diversi fattori influenzano la velocità con cui un modello può fare inferenza:

  • Complessità del modello: Le reti neurali (NN) più grandi e complesse richiedono in genere una maggiore quantità di calcoli, con conseguente aumento della latenza. Le architetture più semplici, come quelle di Ultralytics YOLO di Ultralytics, sono spesso ottimizzate per la velocità.
  • Hardware: Il tipo di processore utilizzato ha un impatto significativo sulla latenza. Le GPU e l'hardware specializzato come le TPU o le Google Edge TPU offrono in genere una latenza inferiore rispetto alle CPU standard per le attività di deep learning.
  • Ottimizzazione del software: Framework e librerie come TensorRT o OpenVINO sono progettati per ottimizzare i modelli per un hardware specifico, riducendo la latenza. Il framework sottostante, come ad esempio PyTorchgioca un ruolo importante.
  • Dimensione del lotto: L'elaborazione degli input singolarmente(dimensione del batch di 1) di solito riduce al minimo la latenza per quel singolo input, mentre dimensioni maggiori del batch possono migliorare il throughput ma aumentare la latenza per le singole previsioni.
  • Condizioni di rete: Per i modelli distribuiti nel cloud a cui si accede tramite API, la velocità e la stabilità della rete possono aggiungere una latenza significativa. Le implementazioni Edge AI mitigano questo problema elaborando i dati a livello locale.

Ridurre la latenza dell'inferenza

Il raggiungimento di una bassa latenza di inferenza spesso comporta una combinazione di strategie:

  • Ottimizzazione del modello: Tecniche come la quantizzazione del modello (riduzione della precisione dei pesi del modello) e la potatura del modello (rimozione delle parti meno importanti del modello) possono ridurre significativamente le dimensioni del modello e i requisiti computazionali.
  • Accelerazione hardware: L'implementazione di modelli su hardware potenti come GPU o acceleratori AI dedicatiNVIDIA Jetson, FPGA) è un approccio comune.
  • Formati di distribuzione efficienti: Esportazione di modelli in formati ottimizzati come ONNX o l'utilizzo di motori di inferenza specializzati possono produrre notevoli accelerazioni. Esplora le varie opzioni di distribuzione dei modelli per trovare quella più adatta.
  • Selezione del modello: La scelta di un'architettura di modello progettata per l'efficienza, come YOLOv10, può fornire un buon equilibrio tra precisione e velocità.
  • Strumenti della piattaforma: L'utilizzo di piattaforme come Ultralytics HUB può semplificare il processo di formazione, ottimizzazione (ad esempio, tramite la quantizzazione INT8) e distribuzione dei modelli per ottenere prestazioni a bassa latenza.

In sintesi, la latenza di inferenza è una metrica fondamentale per le prestazioni dei modelli di intelligenza artificiale, particolarmente critica per le applicazioni che richiedono un'inferenza in tempo reale. Un'attenta considerazione dell'architettura del modello, dell'hardware e delle tecniche di ottimizzazione è essenziale per soddisfare i requisiti di latenza di applicazioni specifiche.

Leggi tutto