Esecuzione dei modelli YOLO di Ultralytics sul PC AI di Intel con OpenVino

Abirami Vina

4 minuti di lettura

9 ottobre 2024

Rivedete l'intervento YOLO Vision 2024 di Dmitriy Pastushenkov e Adrian Boguszewski sull'ottimizzazione dei modelli YOLO con Intel OpenVino e sull'esecuzione di inferenze in tempo reale sul PC AI di Intel.

YOLO Vision 2024 (YV24), l'evento ibrido annuale di Ultralytics, ha riunito appassionati di AI, sviluppatori ed esperti di tutto il mondo per esplorare le ultime innovazioni nel campo della computer vision. YV24 è stata una grande opportunità e una piattaforma per discutere le nuove scoperte. L'evento ha visto protagonisti i principali attori del settore dell'IA che hanno presentato le loro ultime innovazioni. Tra questi c'era Intel, che ha partecipato all'evento presentando un keynote sul suo nuovo e rivoluzionario PC AI e sull'integrazione di Intel OpenVino con i modelli Ultralytics YOLO come Ultralytics YOLO11.

L'intervento è stato condotto da Adrian Boguszewski, un Software Evangelist che è coautore del dataset LandCover.ai e che si occupa di istruire gli sviluppatori sul toolkit OpenVINO di Intel, e da Dmitriy Pastushenkov, un AI PC Evangelist con oltre 20 anni di esperienza nell'automazione industriale e nell'IA. Durante l'evento, Adrian ha condiviso la sua eccitazione e ha detto: "Questo è un grande evento oggi, non solo perché Ultralytics ha consegnato una nuova versione di YOLO, ma anche perché siamo in grado di presentare questo nuovo modello in esecuzione sul nostro nuovo hardware, nonché una nuova versione di OpenVINO."

In questo articolo daremo un'occhiata ai punti salienti dell'intervento di Intel all'YV24, approfondendo i dettagli del loro PC AI, la serie Intel Core Ultra 200V, e il modo in cui si integrano con i modelli YOLO di Ultralytics utilizzando il toolkit OpenVINO. Iniziamo!

Tecnologie AI all'avanguardia nel 2024

Dmitriy ha iniziato il keynote approfondendo le principali differenze tra l'IA tradizionale e l'IA generativa. L'attenzione si è concentrata sul modo in cui queste tecnologie e i loro casi d'uso si evolveranno nel 2024. Le tecniche tradizionali di IA, come la computer vision e l'elaborazione del linguaggio naturale, sono state essenziali per compiti come la stima della posa, il rilevamento di oggetti e il riconoscimento vocale. L'IA generativa, invece, rappresenta un'ondata più recente di tecnologie di IA che coinvolge applicazioni come i chatbot, la generazione di testo-immagine, la scrittura di codice e persino il text-to-video

__wf_reserved_inherit
Figura 1. Adrian e Dmitriy di Intel, sul palco di YV24, discutono dei casi d'uso dell'intelligenza artificiale.

Dmitriy ha sottolineato la differenza di scala tra i due. Ha spiegato che mentre i modelli di IA tradizionali sono costituiti da milioni di parametri, i modelli di IA generativa operano su una scala molto più ampia. I modelli di IA generativa spesso coinvolgono miliardi o addirittura trilioni di parametri, il che li rende molto più impegnativi dal punto di vista computazionale.

Il PC Intel AI: Una nuova frontiera dell'hardware AI

Dmitriy ha presentato l'Intel AI PC come una nuova soluzione hardware progettata per affrontare le crescenti sfide legate all'esecuzione efficiente di modelli AI sia tradizionali che generativi. L'Intel AI PC è una macchina potente ed efficiente dal punto di vista energetico. È in grado di eseguire un'ampia gamma di modelli di IA a livello locale, senza la necessità di un'elaborazione basata su cloud. 

L'elaborazione locale aiuta a mantenere la riservatezza dei dati sensibili. Quando i modelli di intelligenza artificiale possono operare indipendentemente dalle connessioni Internet, le preoccupazioni etiche delle industrie in materia di privacy e sicurezza trovano una risposta.

La forza trainante del PC Intel AI è il processore Intel Core Ultra 200V Series. Questo processore incorpora tre componenti chiave: l'unità di elaborazione centrale (CPU), l'unità di elaborazione grafica (GPU) e l'unità di elaborazione neurale (NPU). Ognuno di essi svolge un ruolo specifico nella gestione di diversi tipi di carichi di lavoro AI. La CPU è ideale per le attività più piccole e a bassa latenza che richiedono risposte rapide, mentre la GPU è ottimizzata per operazioni ad alto rendimento come l'esecuzione di modelli di IA. La NPU, progettata per l'efficienza energetica, è adatta a compiti di lunga durata come il rilevamento di oggetti in tempo reale con modelli come YOLO11

È stato evidenziato che la CPU può fornire fino a 5 TOPS (trilioni di operazioni al secondo), la GPU fino a 67 TOPS e la NPU fornisce un modo efficiente dal punto di vista energetico per eseguire continuamente attività di intelligenza artificiale senza esaurire le risorse del sistema.

I progressi dell'intelligenza artificiale di Intel: Serie Intel Core Ultra 200V

Il processore Intel Core serie Ultra 200V integra tutti e tre i motori AI - NPU, CPU e GPU - in un unico piccolo chip. Il suo design è perfettamente adatto a dispositivi compatti come i notebook, senza sacrificare le prestazioni.

Il processore include anche la RAM integrata, riducendo la necessità di schede grafiche separate. Ciò contribuisce a ridurre il consumo energetico e a mantenere il dispositivo compatto. Dmitriy ha anche sottolineato la flessibilità del processore. Gli utenti possono decidere se eseguire i modelli AI sulla CPU, sulla GPU o sulla NPU, a seconda dell'attività da svolgere. Ad esempio, il rilevamento di oggetti con i modelli YOLO11 può essere eseguito su uno qualsiasi di questi motori, mentre le attività più complesse, come la generazione di testo-immagine, possono utilizzare contemporaneamente sia la GPU che la NPU per ottenere prestazioni migliori.

Durante la presentazione, Dmitriy ha tirato fuori il chip dalla tasca, dando a tutti la chiara percezione di quanto sia davvero piccolo, nonostante la sua capacità di gestire compiti di intelligenza artificiale così avanzati. È stato un modo divertente e memorabile per mostrare come Intel stia portando potenti capacità di intelligenza artificiale su dispositivi più portatili e pratici.

__wf_reserved_inherit
Figura 2. Il processore Intel Core Ultra 2000V può stare in una tasca.

Ottimizzazione dei modelli di intelligenza artificiale con Intel OpenVino

Dopo aver illustrato gli ultimi progressi hardware di Intel, Dmitriy è passato allo stack software di Intel che supporta l'IA. Ha presentato OpenVINO, il framework open-source di Intel progettato per ottimizzare e distribuire in modo efficiente i modelli di IA su diversi dispositivi. OpenVINO va oltre le attività visive, estendendo il suo supporto ai modelli di IA utilizzati per l'elaborazione del linguaggio naturale, l'elaborazione audio, i trasformatori, ecc.

OpenVINO è compatibile con le piattaforme più diffuse, come PyTorch, TensorFlow e ONNX, e gli sviluppatori possono incorporarlo facilmente nei loro flussi di lavoro. Una caratteristica fondamentale su cui ha richiamato l'attenzione è la quantizzazione. La quantizzazione comprime i pesi dei modelli per ridurne le dimensioni, in modo che i modelli di grandi dimensioni possano essere eseguiti senza problemi sui dispositivi locali senza dover ricorrere al cloud. OpenVINO funziona con diversi framework, funzionando su CPU, GPU, NPU, FPGA o persino dispositivi ARM, e supporta Windows, Linux e macOS. Dmitriy ha anche illustrato al pubblico quanto sia facile iniziare a lavorare con OpenVINO. 

__wf_reserved_inherit
Figura 3. Dmitriy ci spiega come iniziare a lavorare con OpenVino.

Integrazione di Ultralytics con Intel OpenVino

Nella seconda parte dell'intervento, il microfono è passato ad Adrian, che ha spiegato la perfetta integrazione tra i modelli YOLO di Ultralytics e il toolkit OpenVINO di Intel, semplificando il processo di distribuzione dei modelli YOLO. Ha spiegato passo dopo passo come esportare un modello YOLO utilizzando il pacchetto Python di Ultralytics nel formato OpenVINO sia rapido e semplice. Questa integrazione rende molto più semplice per gli sviluppatori ottimizzare i propri modelli per l'hardware Intel e ottenere il massimo da entrambe le piattaforme.

__wf_reserved_inherit
Figura 4. Adrian spiega come Ultralytics semplifichi l'esportazione del modello in formato OpenVino.

Adrian ha dimostrato che una volta addestrato un modello Ultralytics YOLO, gli utenti possono esportarlo utilizzando alcuni semplici flag da riga di comando. Ad esempio, gli utenti possono specificare se vogliono esportare il modello come versione in virgola mobile per ottenere la massima precisione o come versione quantizzata per una maggiore velocità ed efficienza. Ha inoltre evidenziato come gli sviluppatori possano gestire questo processo direttamente attraverso il codice, utilizzando opzioni come la quantizzazione INT8 per migliorare le prestazioni senza sacrificare troppo la precisione. 

Dimostrazioni di intelligenza artificiale in tempo reale sul PC Intel AI

Mettendo in pratica tutta questa teoria, il team di Intel ha presentato una dimostrazione in tempo reale del rilevamento di oggetti eseguendo YOLO11 sull'Intel AI PC. Adrian ha mostrato come il sistema gestisce il modello su diversi processori, ottenendo 36 fotogrammi al secondo (FPS) sulla CPU con un modello in virgola mobile, oltre 100 FPS sulla GPU integrata e 70 FPS con la versione quantizzata INT8. Sono riusciti a dimostrare l'efficienza con cui l'Intel AI PC può gestire compiti di intelligenza artificiale complessi.

Ha inoltre sottolineato che il sistema può eseguire modelli in parallelo, utilizzando CPU, GPU e NPU insieme per le attività in cui tutti i dati o i fotogrammi video sono disponibili in anticipo. Questo è utile quando si elaborano carichi pesanti come i video. Il sistema può suddividere il carico di lavoro su diversi processori, rendendolo più veloce ed efficiente.

Per concludere, Adrian ha accennato alla possibilità per gli utenti di provare le demo a casa, tra cui soluzioni come il conteggio delle persone e la gestione intelligente delle code. Ha poi mostrato una demo bonus in cui gli utenti potevano inserire richieste per generare immagini oniriche in tempo reale sulla GPU. Questo dimostra la versatilità dell'Intel AI PC sia per le attività di AI tradizionali che per i progetti di AI creativa e generativa.

Rilevamento di oggetti in tempo reale con Intel OpenVINO

All'evento, Intel aveva uno stand in cui ha mostrato una dimostrazione di rilevamento di oggetti in tempo reale utilizzando YOLO11, in esecuzione sul suo PC Intel AI. I partecipanti hanno potuto vedere il modello in azione, ottimizzato con OpenVINO e distribuito sul processore Intel Core Ultra 200V. 

__wf_reserved_inherit
Figura 5. I partecipanti hanno avuto la possibilità di vedere una demo in tempo reale presso lo stand di Intel OpenVino.

Allo stand Intel, Dmitry ha dichiarato: "È la prima volta che partecipo a YOLO Vision e sono felice di essere a Madrid. Stiamo presentando il modello YOLO11 di Ultralytics, in esecuzione sul processore Intel Core Ultra 200V. Le prestazioni sono eccellenti e utilizziamo OpenVINO per ottimizzare e distribuire il modello. È stato molto semplice collaborare con Ultralytics ed eseguire il modello sull'ultimo hardware Intel, utilizzando CPU, GPU e NPU". Lo stand offriva anche alcuni simpatici omaggi, come magliette e notebook che i partecipanti potevano portare a casa.

Punti di forza

L'intervento tecnico di Intel all'YV24, con i processori Intel Core serie Ultra 200V, ha mostrato come il toolkit OpenVINO ottimizzi i modelli AI come Ultralytics YOLO11. Questa integrazione consente agli utenti di eseguire i modelli YOLO direttamente sui loro dispositivi, offrendo ottime prestazioni per attività di computer vision come il rilevamento di oggetti. Il vantaggio principale è che gli utenti non devono affidarsi a servizi cloud.

Gli sviluppatori e gli appassionati di AI possono eseguire e mettere a punto i modelli YOLO senza alcuno sforzo, sfruttando appieno l'hardware come CPU, GPU e NPU per le applicazioni in tempo reale. Il toolkit Intel OpenVINO, in combinazione con i modelli YOLO di Ultralytics, apre nuove possibilità per portare le capacità avanzate di IA direttamente sui dispositivi personali, rendendolo un'opzione ideale per gli sviluppatori desiderosi di promuovere le innovazioni di IA in vari settori.

Collaboriamo e innoviamo! Visitate il nostro repository su GitHub per esplorare i nostri contributi e per impegnarvi con la nostra comunità. Scoprite come stiamo utilizzando l'IA per avere un impatto in settori come quello manifatturiero e sanitario.

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti