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.
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à.
Diverse componenti variabili contribuiscono al tempo totale richiesto per un singolo passaggio di inferenza:
L'impatto pratico della latenza di inferenza si comprende meglio attraverso casi d'uso concreti in cui la velocità non è negoziabile.
È fondamentale distinguere la "latenza" dalla "velocità di trasmissione", poiché spesso sono inversamente correlate. obiettivi di ottimizzazione.
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.
È 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")
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.