Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Eventi

Potenziare i progetti di CV con gli strumenti open-source di Hugging Face

Unisciti a noi per rivedere un keynote talk di YOLO Vision 2024 focalizzato sull'esplorazione di come gli strumenti open-source di Hugging Face stiano facendo progredire lo sviluppo dell'AI.

ABAbirami Vina
5 min read
Potenziare i progetti di CV con gli strumenti open-source di Hugging Face

Scegliere gli algoritmi giusti è solo una parte della costruzione di soluzioni di computer vision di grande impatto. Gli ingegneri AI lavorano spesso con grandi dataset, ottimizzano i modelli per compiti specifici e affinano i sistemi AI per le prestazioni nel mondo reale. Man mano che le applicazioni AI vengono adottate più rapidamente, cresce anche il bisogno di strumenti che semplifichino questi processi.

Durante YOLO Vision 2024 (YV24), l'evento ibrido annuale promosso da Ultralytics, esperti di AI e appassionati di tecnologia si sono riuniti per esplorare le ultime innovazioni nella computer vision. L'evento ha stimolato discussioni su vari temi, come i modi per accelerare lo sviluppo di applicazioni AI.

Un momento saliente dell'evento è stato il keynote su Hugging Face, una piattaforma AI open-source che snellisce l'addestramento, l'ottimizzazione e il deployment dei modelli. Pavel Iakubovskii, Machine Learning Engineer presso Hugging Face, ha condiviso come i suoi strumenti migliorino i flussi di lavoro per compiti di computer vision come il rilevamento di oggetti nelle immagini, la categorizzazione delle immagini in gruppi diversi e l'effettuazione di previsioni senza un addestramento preliminare su esempi specifici (zero-shot learning).

Hugging Face Hub ospita e fornisce accesso a vari modelli AI e di computer vision come Ultralytics YOLO11. In questo articolo, riassumeremo i punti chiave del discorso di Pavel e vedremo come gli sviluppatori possano utilizzare gli strumenti open-source di Hugging Face per costruire e distribuire rapidamente modelli AI.

Pavel sul palco allo YV24

Fig 1. Pavel sul palco allo YV24.

Link to this sectionHugging Face Hub supporta uno sviluppo AI più rapido#

Pavel ha iniziato il suo discorso introducendo Hugging Face come una piattaforma AI open-source che offre modelli pre-addestrati per una varietà di applicazioni. Questi modelli sono progettati per vari rami dell'AI, inclusi l'elaborazione del linguaggio naturale (NLP), la computer vision e l'AI multimodale, consentendo ai sistemi di elaborare diversi tipi di dati, come testo, immagini e audio.

Pavel ha menzionato che Hugging Face Hub ha ormai ospitato oltre 1 milione di modelli e che gli sviluppatori possono trovare facilmente i modelli adatti ai loro progetti specifici. Hugging Face mira a semplificare lo sviluppo AI offrendo strumenti per l'addestramento, l'ottimizzazione e il deployment dei modelli. Quando gli sviluppatori possono sperimentare con modelli diversi, si semplifica il processo di integrazione dell'AI nelle applicazioni del mondo reale.

Sebbene Hugging Face fosse inizialmente conosciuta per l'NLP, da allora si è espansa nella computer vision e nell'AI multimodale, consentendo agli sviluppatori di affrontare una gamma più ampia di compiti AI. Dispone anche di una solida community in cui gli sviluppatori possono collaborare, condividere approfondimenti e ottenere supporto tramite forum, Discord e GitHub.

Link to this sectionEsplorare i modelli Hugging Face per applicazioni di computer vision#

Entrando più nel dettaglio, Pavel ha spiegato come gli strumenti di Hugging Face rendano più facile costruire applicazioni di computer vision. Gli sviluppatori possono usarli per compiti come la classificazione delle immagini, il rilevamento di oggetti e le applicazioni di visione-linguaggio.

Ha inoltre sottolineato che molti di questi compiti di computer vision possono essere gestiti con modelli pre-addestrati disponibili su Hugging Face Hub, risparmiando tempo riducendo la necessità di addestrare da zero. Infatti, Hugging Face offre oltre 13.000 modelli pre-addestrati per compiti di classificazione delle immagini, inclusi quelli per la classificazione del cibo, la classificazione degli animali domestici e il rilevamento delle emozioni.

Sottolineando l'accessibilità di questi modelli, ha affermato: "Probabilmente non hai nemmeno bisogno di addestrare un modello per il tuo progetto; potresti trovarne uno sull'Hub che è già stato addestrato da qualcuno della community."

Link to this sectionModelli Hugging Face per il rilevamento di oggetti#

Facendo un altro esempio, Pavel ha spiegato come Hugging Face possa aiutare con il rilevamento di oggetti, una funzione chiave nella computer vision utilizzata per identificare e localizzare oggetti all'interno delle immagini. Anche con dati etichettati limitati, i modelli pre-addestrati disponibili su Hugging Face Hub possono rendere il rilevamento di oggetti più efficiente.

Ha anche fornito una rapida panoramica di diversi modelli costruiti per questo compito che puoi trovare su Hugging Face:

  • Modelli di rilevamento oggetti in tempo reale: Per ambienti dinamici in cui la velocità è fondamentale, modelli come Detection Transformer (DETR) offrono capacità di rilevamento oggetti in tempo reale. DETR è addestrato sul dataset COCO ed è progettato per elaborare le caratteristiche multiscala in modo efficiente, rendendolo adatto per applicazioni sensibili al fattore tempo.
  • Modelli di visione-linguaggio: Questi modelli combinano l'elaborazione di immagini e testo, consentendo ai sistemi AI di abbinare immagini con descrizioni o riconoscere oggetti oltre i loro dati di addestramento. Esempi includono CLIP e SigLIP, che migliorano la ricerca di immagini collegando il testo alle immagini e consentono alle soluzioni AI di identificare nuovi oggetti comprendendone il contesto.
  • Modelli di rilevamento oggetti zero-shot: Possono identificare oggetti che non hanno mai visto prima comprendendo la relazione tra immagini e testo. Esempi includono OwlVit, GroundingDINO e OmDet, che utilizzano lo zero-shot learning per rilevare nuovi oggetti senza bisogno di dati di addestramento etichettati.

Link to this sectionCome utilizzare i modelli Hugging Face#

Pavel ha poi spostato l'attenzione sul lato pratico dei modelli Hugging Face, spiegando tre modi in cui gli sviluppatori possono sfruttarli: esplorare i modelli, testarli rapidamente e personalizzarli ulteriormente.

Ha dimostrato come gli sviluppatori possano navigare tra i modelli direttamente su Hugging Face Hub senza scrivere alcun codice, rendendo facile testare i modelli istantaneamente tramite un'interfaccia interattiva. "Puoi provarlo senza scrivere nemmeno una riga di codice o scaricare il modello sul tuo computer", ha aggiunto Pavel. Dato che alcuni modelli sono grandi, eseguirli sull'Hub aiuta a evitare limitazioni di archiviazione ed elaborazione.

Come utilizzare i modelli Hugging Face

Fig 2. Come utilizzare i modelli Hugging Face.

Inoltre, l'Inference API di Hugging Face consente agli sviluppatori di eseguire modelli AI con semplici chiamate API. È ideale per test rapidi, progetti proof-of-concept e prototipazione veloce senza la necessità di una configurazione complessa.

Per casi d'uso più avanzati, gli sviluppatori possono utilizzare il framework Transformers di Hugging Face, uno strumento open-source che fornisce modelli pre-addestrati per compiti di testo, visione e audio, supportando sia PyTorch che TensorFlow. Pavel ha spiegato che con sole due righe di codice, gli sviluppatori possono recuperare un modello da Hugging Face Hub e collegarlo a uno strumento di pre-elaborazione, come un processore di immagini, per analizzare i dati visivi per applicazioni di Vision AI.

Link to this sectionOttimizzare i flussi di lavoro AI con Hugging Face#

Successivamente, Pavel ha spiegato come Hugging Face possa snellire i flussi di lavoro AI. Uno dei temi principali trattati è stato l'ottimizzazione del meccanismo di attenzione nei Transformer, una caratteristica centrale dei modelli di deep learning che aiuta a concentrarsi sulle parti più rilevanti dei dati in input. Ciò migliora l'accuratezza dei compiti che coinvolgono l'elaborazione del linguaggio e la computer vision. Tuttavia, può richiedere molte risorse.

Ottimizzare il meccanismo di attenzione può ridurre significativamente l'utilizzo della memoria migliorando al contempo la velocità. Pavel ha sottolineato: "Ad esempio, passando a un'implementazione dell'attenzione più efficiente, potresti ottenere prestazioni fino a 1,8 volte più veloci."

Hugging Face fornisce un supporto integrato per implementazioni dell'attenzione più efficienti all'interno del framework Transformers. Gli sviluppatori possono abilitare queste ottimizzazioni semplicemente specificando un'implementazione dell'attenzione alternativa durante il caricamento di un modello.

Link to this sectionOptimum e Torch Compile#

Ha anche parlato della quantizzazione, una tecnica che rende i modelli AI più piccoli riducendo la precisione dei numeri utilizzati senza compromettere troppo le prestazioni. Ciò aiuta i modelli a utilizzare meno memoria e a funzionare più velocemente, rendendoli più adatti per dispositivi con potenza di elaborazione limitata, come smartphone e sistemi embedded.

Per migliorare ulteriormente l'efficienza, Pavel ha introdotto la libreria Optimum di Hugging Face, un insieme di strumenti progettati per ottimizzare e distribuire i modelli. Con poche righe di codice, gli sviluppatori possono applicare tecniche di quantizzazione e convertire i modelli in formati efficienti come ONNX (Open Neural Network Exchange), consentendo loro di funzionare senza problemi su diversi tipi di hardware, inclusi server cloud e dispositivi edge.

Pavel che parla della libreria Optimum e delle sue funzionalità

Fig 3. Pavel ha parlato della libreria Optimum e delle sue caratteristiche.

Infine, Pavel ha menzionato i vantaggi di Torch Compile, una funzionalità di PyTorch che ottimizza il modo in cui i modelli AI elaborano i dati, rendendoli più veloci ed efficienti. Hugging Face integra Torch Compile all'interno delle sue librerie Transformers e Optimum, consentendo agli sviluppatori di sfruttare questi miglioramenti delle prestazioni con modifiche minime al codice.

Ottimizzando la struttura di calcolo del modello, Torch Compile può accelerare i tempi di inferenza e aumentare il frame rate da 29 a 150 fotogrammi al secondo senza compromettere l'accuratezza o la qualità.

Link to this sectionDistribuire modelli con gli strumenti Hugging Face#

Andando avanti, Pavel ha brevemente accennato a come gli sviluppatori possano estendere e distribuire modelli di Vision AI utilizzando gli strumenti Hugging Face dopo aver selezionato il modello giusto e scelto l'approccio migliore per lo sviluppo.

Ad esempio, gli sviluppatori possono distribuire applicazioni AI interattive utilizzando Gradio e Streamlit. Gradio consente agli sviluppatori di creare interfacce web per modelli di machine learning, mentre Streamlit aiuta a costruire applicazioni di dati interattive con semplici script Python.

Pavel ha anche sottolineato: "Non devi iniziare a scrivere tutto da zero", riferendosi alle guide, ai notebook di addestramento e agli script di esempio forniti da Hugging Face. Queste risorse aiutano gli sviluppatori a iniziare rapidamente senza dover costruire tutto dalle fondamenta.

Pavel che discute le funzionalità di Hugging Face allo YV24

Fig 4. Pavel discute le capacità di Hugging Face allo YV24.

Link to this sectionVantaggi di Hugging Face Hub#

Concludendo il suo keynote, Pavel ha riassunto i vantaggi dell'utilizzo di Hugging Face Hub. Ha enfatizzato come semplifichi la gestione dei modelli e la collaborazione. Ha inoltre richiamato l'attenzione sulla disponibilità di guide, notebook e tutorial, che possono aiutare sia i principianti che gli esperti a comprendere e implementare i modelli AI.

"Ci sono già molti spazi interessanti sull'Hub. Puoi trovarne di simili, clonare il codice condiviso, modificare alcune righe, sostituire il modello con il tuo e caricarlo di nuovo", ha spiegato, incoraggiando gli sviluppatori a sfruttare la flessibilità della piattaforma.

Link to this sectionPunti chiave#

Durante il suo discorso allo YV24, Pavel ha condiviso come Hugging Face fornisca strumenti che supportano l'addestramento, l'ottimizzazione e il deployment dei modelli AI. Ad esempio, innovazioni come Transformers, Optimum e Torch Compile possono aiutare gli sviluppatori a migliorare le prestazioni dei modelli.

Man mano che i modelli AI diventano più efficienti, i progressi nella quantizzazione e nel deployment edge rendono più facile eseguirli su dispositivi con risorse limitate. Questi miglioramenti, combinati con strumenti come Hugging Face e modelli di computer vision avanzati come Ultralytics YOLO11, sono fondamentali per costruire applicazioni di Vision AI scalabili e ad alte prestazioni.

Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per imparare tutto sull'AI e dai un'occhiata alle nostre licenze YOLO per iniziare i tuoi progetti di Vision AI. Ti interessano innovazioni come la computer vision nell'assistenza sanitaria o la computer vision in agricoltura? Visita le nostre pagine dedicate alle soluzioni per scoprire di più!

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning