Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Latenza di inferenza

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

La latenza di inferenza è il tempo che intercorre tra la ricezione di un input da parte di un modello di modello di apprendimento automatico (ML) che riceve un input e la produzione di un output corrispondente. Questa metrica, tipicamente misurata in millisecondi (ms), è un fattore determinante nella reattività dei sistemi di sistemi di intelligenza artificiale (AI). Per gli sviluppatori e gli ingegneri che lavorano a progetti di progetti di computer vision (CV), ridurre al minimo la latenza è spesso fondamentale quanto la massimizzazione dell'accuratezza, in particolare quando si tratta di applicazioni che interagiscono con gli esseri umani o con macchinari fisici. Un'alta latenza si traduce in prestazioni lente, mentre una bassa latenza crea un'esperienza utente senza interruzioni e consente un processo decisionale immediato, un concetto fondamentale per i moderni sistemi di visione artificiale. concetto fondamentale per i moderni sistemi intelligenti.

L'importanza della bassa latenza

Nell'ambito della distribuzione dei modelli, la velocità di elaborazione dei dati di un sistema di elaborazione dei dati ne determina la fattibilità per compiti specifici. La bassa latenza di inferenza è la pietra miliare dell'inferenza in tempo reale, in cui le previsioni devono essere dell'inferenza in tempo reale, dove le previsioni devono in cui le predizioni devono avvenire entro un budget di tempo rigoroso per essere utilizzabili. Per esempio, un ritardo di qualche centinaio di millisecondi potrebbe essere accettabile per un sistema di raccomandazione su un un sito web di shopping, ma potrebbe essere catastrofico per i sistemi critici per la sicurezza. Comprendere i requisiti specifici di di latenza di un progetto già nelle prime fasi del ciclo di sviluppo consente ai team di selezionare architetture di modelli e configurazioni hardware appropriate per garantire l'affidabilità.

Fattori chiave che influenzano la latenza

Diverse componenti variabili contribuiscono al tempo totale richiesto per un singolo passaggio di inferenza:

  • Architettura del modello: Il design strutturale di una rete neurale (NN) influisce pesantemente sulla sua velocità. velocità. I modelli profondi con molti strati, come i grandi trasformatori, richiedono intrinsecamente più calcolo di reti neurali convoluzionali (CNN) reti neurali convoluzionali (CNN). Architetture come YOLO11 sono ottimizzate per bilanciare profondità e velocità per un'esecuzione efficiente.
  • Accelerazione hardware: La scelta dell'unità di elaborazione è fondamentale. Mentre uno standard CPU gestisce bene i compiti generali, l'hardware specializzato come una GPU (Graphics Processing Unit) o una TPU (Unità di elaborazioneTensor ) è è progettato per parallelizzare le operazioni matriciali richieste dai modelli di intelligenza artificiale, riducendo in modo significativo i tempi di calcolo. NVIDIA CUDA è un esempio comune di software che facilita questa accelerazione.
  • Risoluzione di ingresso: L'elaborazione di immagini o fotogrammi video più grandi richiede maggiori risorse di calcolo. Ridurre le dimensioni dell'ingresso (ad esempio, da 640p a 320p) può ridurre la latenza, anche se potenzialmente a scapito del rilevamento di oggetti piccoli. oggetti piccoli, un compromesso esplorato negli studi di EfficientNet.
  • Ottimizzazione del modello: Tecniche come la quantizzazione del modello - conversione deipesi da 32 bit in virgola mobile a numeri interi di 8 bit e la potatura del modello eliminano i calcoli superflui. Strumenti come ONNX Runtime sono costruiti appositamente per ridurre la latenza sull'hardware di destinazione.

Applicazioni nel mondo reale

L'impatto pratico della latenza di inferenza si comprende meglio attraverso casi d'uso concreti in cui la velocità non è negoziabile.

  1. Guida autonoma: In AI nelle applicazioni automobilistiche, i veicoli devono percepire continuamente l'ambiente circostante. Un sistema di un sistema di rilevamento di oggetti che identifica un pedone pedone che attraversa la strada deve elaborare i feed delle telecamere e attivare i sistemi di frenata in pochi millisecondi. Un'eccessiva latenza in questo caso aumenta lo spazio di frenata, compromettendo direttamente la sicurezza. La ricerca sulla sulla latenza dei veicoli autonomi evidenzia come anche piccoli ritardi possono portare a situazioni pericolose.
  2. Robotica industriale: Per AI nella produzione, i robot ad alta velocità robot pick-and-place ad alta velocità si affidano a sistemi di visione per individuare gli oggetti su un nastro trasportatore in rapido movimento. Se la latenza dell'inferenza se la latenza dell'inferenza supera il tempo in cui l'oggetto è a portata di mano del robot, il sistema fallisce. L'implementazione di soluzioni di intelligenza artificiale edge garantisce l'elaborazione dei dati a livello locale sul dispositivo, eliminando i ritardi di rete associati al cloud computing. cloud computing.

Latenza di inferenza vs. Throughput

È fondamentale distinguere la "latenza" dalla "velocità di trasmissione", poiché spesso sono inversamente correlate. obiettivi di ottimizzazione.

  • La latenza di inferenza si concentra sul tempo impiegato per una singola previsione. È la metrica principale per le applicazioni interattive per un singolo utente, come gli assistenti assistenti virtuali o robot autonomi.
  • Il throughput misura il numero di previsioni che un sistema può elaborare in un determinato periodo (ad esempio, immagini al secondo). secondo). Un'elevata velocità di elaborazione si ottiene in genere aumentando le dimensione del batch, che elabora più input simultaneamente. Tuttavia, il batching spesso aumenta la latenza per ogni singolo elemento in attesa nella coda.

Questo compromesso tra latenza e throughput richiede agli sviluppatori di mettere a punto le pipeline di inferenza in base alle esigenze specifiche dell'ambiente di distribuzione.

Misurare la latenza con Ultralytics

È possibile valutare le prestazioni dei modelli Ultralytics utilizzando la modalità di benchmark integrata. Questo strumento fornisce metriche dettagliate metriche dettagliate sulla velocità di inferenza in diversi formati, come ad esempio ONNX o TorchScript.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Benchmark the model on CPU to measure latency
# Results will display inference time per image in milliseconds
model.benchmark(data="coco8.yaml", imgsz=640, device="cpu")

Ottimizzazione della produzione

Per ottenere la più bassa latenza possibile, gli sviluppatori spesso utilizzano un motore di inferenza adatto al loro hardware. Ad esempio esempio, l'implementazione di un modello su un dispositivo NVIDIA Jetson utilizzando l'ottimizzazione di TensorRT può produrre notevoli accelerazioni rispetto all'esecuzione di un modello all'esecuzione di un motore di inferenza PyTorch grezzo. Analogamente, l'utilizzo di Intel OpenVINO può accelerare le prestazioni su architetture CPU standard. Questi strumenti ottimizzano il grafo computazionale, uniscono i livelli e gestiscono la memoria in modo più in modo più efficiente rispetto ai framework di formazione standard.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora