← Ultimi articoli
💻 computer science

Benchmarking Edge Inference Strategies for Deep Learning Models in Industrial Machine Vision

Questo articolo presenta uno studio comparativo di quattro framework di inferenza (PyTorch, ONNX Runtime, OpenVINO e TensorRT) attraverso vari hardware industriali e architetture di modelli, rivelando che OpenVINO e TensorRT offrono rispettivamente le migliori prestazioni su CPU e GPU, sebbene TensorRT non superi sempre il semplice PyTorch per i modelli basati su transformer.

Autori originali: Miguel Gomez Fernandez, David Castro Boga, Roi Mendez-Rial, Eric Lopez-Lopez

Pubblicato 2026-07-14
📖 5 min di lettura🧠 Approfondimento

Autori originali: Miguel Gomez Fernandez, David Castro Boga, Roi Mendez-Rial, Eric Lopez-Lopez

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di dover far arrivare un messaggio da un cervello (un modello di deep learning) a una mano robotica (una macchina industriale) il più velocemente possibile. Nel mondo della visione artificiale industriale, la velocità è tutto. Se il robot è troppo lento, perde un difetto su un componente automobilistico o non riesce a smistare correttamente l'uva. Di solito, inviare questi dati a un enorme server nel cloud è troppo lento o rischioso, quindi gli ingegneri cercano di eseguire il "cervello" proprio sul computer locale del robot (l'edge).

Ma ecco il colpo di scena: non basta avere il cervello, bisogna avere anche il servizio di consegna giusto. Questo articolo funge da enorme test su una pista da corsa, confrontando quattro diversi "camion per le consegne" (framework software) per vedere quale porta il messaggio al robot più velocemente. I quattro camion sono PyTorch (lo standard, un baseline affidabile), ONNX Runtime (il tuttofare flessibile), OpenVINO (lo specialista per i motori Intel) e TensorRT (il demone della velocità per i motori NVIDIA).

I ricercatori non hanno solo tirato a indovinare; hanno effettivamente eseguito lo stesso tipo di tre "cervelli" su quattro diversi "telai" (computer) e hanno cronometrato i tempi fino al millisecondo. Ecco cosa ha rivelato la gara:

La corsa dei CPU: Tutto dipende dal marchio del motore

Quando i computer utilizzavano processori Intel standard (quelli che si trovano in molti desktop), i risultati sono stati sorprendentemente coerenti. OpenVINO è stato il vincitore assoluto, agendo come un turbo progettato specificamente per quel motore.

  • Sui desktop Intel, OpenVINO è stato il più veloce per ogni singolo modello testato.
  • Per il modello YOLOv8 (un rilevatore di oggetti veloce), OpenVINO ha tagliato una fetta enorme di tempo. Su un desktop Intel veloce (l'i9-9820X), ha completato l'operazione in soli 10,9 ms, mentre lo standard PyTorch impiegava 28,7 ms. È un salto enorme!
  • ONNX Runtime di solito arrivava secondo, e PyTorch era il più lento.

Tuttavia, la corsa è cambiata completamente quando hanno sostituito il tutto con un Jetson AGX Orin (un piccolo ma potente computer usato nei robot, che utilizza chip ARM, non Intel). Improvvisamente, OpenVINO ha perso la sua magia.

  • Su questa macchina basata su ARM, ONNX Runtime si è aggiudicato la medaglia d'oro.
  • Il divario è stato scioccante per il modello Grounding DINO (un modello complesso che comprende testo e immagini). Sul CPU del Jetson, OpenVINO ha impiegato un tempo sbalorditivo di 102.720 ms (oltre 100 secondi!), mentre ONNX Runtime ha finito in soli 13.580 ms. È più di sette volte più veloce! Questo suggerisce che usare il "camion per le consegne" sbagliato per il proprio motore specifico può essere un disastro.

La corsa delle GPU: Lo scontro tra CNN e Transformer

Quando i ricercatori sono passati alle potenti schede grafiche (GPU) di NVIDIA, la storia è diventata ancora più interessante. Hanno testato due tipi di "cervelli":

  1. CNN (come YOLOv8 e UNet): Questi sono i classici e affidabili muli della computer vision.
  2. Transformer (Grounding DINO): Questi sono i modelli più nuovi e appariscenti che possono comprendere il linguaggio.

Per i classici muli (YOLOv8 e UNet):
TensorRT è stato il campione indiscusso. Era come avere un'auto di Formula 1 su una pista.

  • Sui desktop con GPU, TensorRT ha schiacciato la concorrenza. Per YOLOv8 su una RTX 2080 Ti, TensorRT ha terminato in 2,100 ms, mentre PyTorch impiegava 5,270 ms.
  • Anche sul piccolo Jetson GPU, TensorRT è stato il più veloce, completando YOLO in 10,57 ms rispetto ai 20,84 ms di PyTorch.
  • L'articolo suggerisce che per questi specifici tipi di modelli, TensorRT è la scelta migliore per l'hardware NVIDIA.

Per il nuovo modello appariscente (Grounding DINO):
Ecco dove l'articolo lancia una curva a sorpresa. Il "demone della velocità" (TensorRT) non ha vinto.

  • Sulle GPU NVIDIA desktop, lo standard PyTorch è stato in realtà il più veloce, fornendo il minor tempo di inferenza in tutti i casi testati.
  • TensorRT è stato in realtà più lento di PyTorch, impiegando tra 1,6 e 2,1 volte più tempo per finire il lavoro.
  • Ad esempio, sulla RTX 6000, PyTorch ha impiegato 7,780 ms, mentre TensorRT era significativamente più lento.
  • L'unica eccezione è stata la GPU del Jetson, dove TensorRT ha battuto leggermente PyTorch (1082,7 ms contro 1290,8 ms), ma era comunque molto più lento rispetto ai risultati desktop.

La grande conclusione

La lezione principale di questo articolo è che non esiste un unico software "migliore" per tutti. L'articolo suggerisce che la tua scelta dipende interamente da due cose: che tipo di computer hai e che tipo di modello stai eseguendo.

  • Se hai una CPU Intel, usa OpenVINO.
  • Se hai una CPU ARM (come il Jetson), usa ONNX Runtime.
  • Se hai una GPU NVIDIA e stai eseguendo un modello classico (come YOLO o UNet), usa TensorRT.
  • MA, se hai una GPU NVIDIA e stai eseguendo un nuovo modello basato sul testo (come Grounding DINO), l'articolo suggerisce che potresti far meglio a restare con lo standard PyTorch sulle GPU desktop, perché le sofisticate ottimizzazioni di TensorRT non hanno aiutato e hanno anzi rallentato le cose.

I ricercatori hanno misurato questi tempi ripetutamente (1.000 esecuzioni per ogni test!) per esserne certi. Non hanno solo simulato i risultati; li hanno eseguiti su hardware reale. Quindi, se state costruendo un robot industriale, non prendete solo il software "più veloce" di cui sentite parlare. Controllate prima il vostro motore e il tipo di cervello, o potreste ritrovarvi con un robot che si muove al rallentatore!

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →