Dare slancio ai progetti di visione artificiale con gli strumenti open source di Hugging Face
Riscopri con noi un keynote di YOLO Vision 2024 dedicato a come gli strumenti open source di Hugging Face stanno facendo progredire lo sviluppo dell'IA.
Abirami Vina10 min di lettura
Scegliere gli algoritmi giusti è solo una parte della creazione di soluzioni di visione artificiale efficaci. Gli ingegneri di IA lavorano spesso con grandi set di dati, ottimizzano i modelli per attività specifiche e migliorano i sistemi di IA affinché offrano prestazioni efficaci nel mondo reale. Con la crescente diffusione delle applicazioni di IA, aumenta anche la necessità di strumenti che semplifichino questi processi.
A YOLO Vision 2024 (YV24), l'evento ibrido annuale promosso da Ultralytics, esperti di IA e appassionati di tecnologia si sono riuniti per esplorare le ultime innovazioni nella visione artificiale. L'evento ha dato vita a discussioni su vari argomenti, come i modi per accelerare lo sviluppo di applicazioni di IA.
Uno dei momenti salienti dell'evento è stato un intervento principale su Hugging Face, una piattaforma open source di IA che semplifica l'addestramento, l'ottimizzazione e la distribuzione dei modelli. Pavel Iakubovskii, ingegnere di apprendimento automatico presso Hugging Face, ha spiegato come i suoi strumenti migliorino i flussi di lavoro per attività di visione artificiale come il rilevamento di oggetti nelle immagini, la classificazione delle immagini in gruppi diversi e la generazione di previsioni senza un addestramento preliminare su esempi specifici (apprendimento zero-shot).
Hugging Face Hub ospita e rende accessibili diversi modelli di IA e visione artificiale, tra cui Ultralytics YOLO11. In questo articolo riassumeremo i punti chiave dell'intervento di Pavel e vedremo come gli sviluppatori possono usare gli strumenti open source di Hugging Face per creare e distribuire rapidamente modelli di IA.

Fig. 1. Pavel sul palco a YV24.
Hugging Face Hub favorisce uno sviluppo più rapido dell'IA#
Pavel ha iniziato il suo intervento presentando Hugging Face come una piattaforma open source di IA che offre modelli preaddestrati per diverse applicazioni. Questi modelli sono progettati per vari ambiti dell'IA, tra cui l'elaborazione del linguaggio naturale (NLP), la visione artificiale e l'IA multimodale, e consentono ai sistemi di elaborare diversi tipi di dati, come testo, immagini e audio.
Pavel ha detto che Hugging Face Hub ospita ormai oltre 1 milione di modelli e che gli sviluppatori possono trovare facilmente quelli più adatti ai loro progetti specifici. Hugging Face mira a semplificare lo sviluppo dell'IA offrendo strumenti per l'addestramento, il fine-tuning e la distribuzione dei modelli. Quando gli sviluppatori possono sperimentare con modelli diversi, integrare l'IA nelle applicazioni del mondo reale diventa più semplice.
Inizialmente noto soprattutto per l'NLP, Hugging Face si è poi esteso alla visione artificiale e all'IA multimodale, consentendo agli sviluppatori di affrontare una più ampia gamma di attività di IA. Dispone anche di una community vivace, in cui gli sviluppatori possono collaborare, condividere informazioni e ricevere supporto tramite forum, Discord e GitHub.
Esplorare i modelli Hugging Face per applicazioni di visione artificiale#
Approfondendo l'argomento, Pavel ha spiegato come gli strumenti di Hugging Face semplifichino la creazione di applicazioni di visione artificiale. Gli sviluppatori possono usarli per attività come la classificazione delle immagini, il rilevamento degli oggetti e le applicazioni di visione-linguaggio.
Ha inoltre sottolineato che molte di queste attività di visione artificiale possono essere svolte con modelli preaddestrati disponibili su Hugging Face Hub, risparmiando tempo e riducendo la necessità di addestrare i modelli da zero. Hugging Face offre infatti oltre 13.000 modelli preaddestrati per attività di classificazione delle immagini, tra cui modelli per classificare alimenti e animali domestici e per rilevare le emozioni.
Sottolineando quanto questi modelli siano accessibili, ha affermato: «Probabilmente non hai nemmeno bisogno di addestrare un modello per il tuo progetto: potresti trovarne uno su Hub già addestrato da qualcuno della community».
Modelli Hugging Face per il rilevamento degli oggetti#
Fornendo un altro esempio, Pavel ha approfondito come Hugging Face possa essere d’aiuto nel rilevamento degli oggetti, una funzione chiave della computer vision usata per identificare e localizzare gli oggetti nelle immagini. Anche con pochi dati etichettati, i modelli preaddestrati disponibili su Hugging Face Hub possono rendere più efficiente il rilevamento degli oggetti.
Ha inoltre presentato rapidamente diversi modelli progettati per questo compito che puoi trovare su Hugging Face:
- Modelli di rilevamento degli oggetti in tempo reale: negli ambienti dinamici in cui la velocità è fondamentale, modelli come Real-Time Detection Transformer (RT-DETR) offrono capacità di rilevamento degli oggetti in tempo reale. RT-DETR è addestrato sul dataset COCO ed è progettato per elaborare in modo efficiente caratteristiche multiscala, risultando adatto alle applicazioni in cui il tempo è un fattore critico.
- Modelli visione-linguaggio: questi modelli combinano l'elaborazione di immagini e testo, consentendo ai sistemi di IA di abbinare immagini a descrizioni o riconoscere oggetti che non erano presenti nei dati di addestramento. Tra gli esempi figurano CLIP e SigLIP, che migliorano la ricerca di immagini collegando il testo agli elementi visivi e consentono alle soluzioni di IA di identificare nuovi oggetti comprendendone il contesto.
- Modelli di rilevamento di oggetti zero-shot: possono identificare oggetti mai visti prima comprendendo la relazione tra immagini e testo. Tra gli esempi figurano OWL-ViT, Grounding DINO e OmDet, che utilizzano l'apprendimento zero-shot per rilevare nuovi oggetti senza bisogno di dati di addestramento etichettati. La classifica VLM di Ultralytics confronta rilevatori open-vocabulary come questi su dataset di rilevamento del mondo reale.
Come usare i modelli Hugging Face#
Pavel ha poi spostato l’attenzione sull’uso pratico dei modelli Hugging Face, illustrando tre modi in cui gli sviluppatori possono sfruttarli: esplorarli, testarli rapidamente e personalizzarli ulteriormente.
Ha mostrato come gli sviluppatori possano consultare i modelli direttamente su Hugging Face Hub senza scrivere codice, così da testarli subito tramite un’interfaccia interattiva. «Puoi provarlo senza scrivere nemmeno una riga di codice né scaricare il modello sul tuo computer», ha aggiunto Pavel. Poiché alcuni modelli sono di grandi dimensioni, eseguirli su Hub aiuta a evitare limiti di archiviazione e di elaborazione.

Fig. 2. Come usare i modelli Hugging Face.
Inoltre, l’API di inferenza di Hugging Face consente agli sviluppatori di eseguire modelli di AI con semplici chiamate API. È ideale per test rapidi, progetti di proof of concept e prototipazione veloce, senza bisogno di configurazioni complesse.
Per i casi d'uso più avanzati, gli sviluppatori possono utilizzare il framework Transformers di Hugging Face, uno strumento open source che offre modelli preaddestrati per attività di testo, visione e audio e supporta sia PyTorch sia TensorFlow. Pavel ha spiegato che bastano due righe di codice perché gli sviluppatori recuperino un modello da Hugging Face Hub e lo colleghino a uno strumento di preelaborazione, come un processore di immagini, per analizzare dati visivi nelle applicazioni di Vision AI.
Ottimizzare i flussi di lavoro di AI con Hugging Face#
Pavel ha poi spiegato come Hugging Face possa semplificare i flussi di lavoro dell'IA. Uno dei temi principali trattati è stata l'ottimizzazione del meccanismo di attenzione nei Transformer, una funzionalità fondamentale dei modelli di deep learning che li aiuta a concentrarsi sulle parti più rilevanti dei dati di input. Ciò migliora la precisione delle attività di elaborazione del linguaggio e visione artificiale. Tuttavia, può essere dispendioso in termini di risorse.
Ottimizzare il meccanismo di attenzione può ridurre notevolmente l’uso della memoria e migliorare la velocità. Pavel ha osservato: «Ad esempio, passando a un’implementazione dell’attenzione più efficiente, potresti ottenere prestazioni fino a 1,8 volte più veloci».
Hugging Face offre supporto integrato per implementazioni dell’attenzione più efficienti nel framework Transformers. Gli sviluppatori possono attivare queste ottimizzazioni specificando semplicemente un’implementazione dell’attenzione alternativa quando caricano un modello.
Optimum e Torch Compile#
Ha parlato anche della quantizzazione, una tecnica che riduce le dimensioni dei modelli di IA diminuendo la precisione dei numeri che utilizzano, senza compromettere troppo la precisione. In questo modo i modelli consumano meno memoria e funzionano più velocemente, risultando più adatti a dispositivi con potenza di elaborazione limitata, come smartphone e sistemi embedded.
Per migliorare ulteriormente l’efficienza, Pavel ha presentato la libreria Hugging Face Optimum, una raccolta di strumenti progettati per ottimizzare e distribuire i modelli. Bastano poche righe di codice per applicare tecniche di quantizzazione e convertire i modelli in formati efficienti come ONNX (Open Neural Network Exchange), che consentono di eseguirli senza problemi su diversi tipi di hardware, inclusi i server cloud e i dispositivi edge.

Fig. 3. Pavel ha parlato della libreria Optimum e delle sue funzionalità.
Infine, Pavel ha illustrato i vantaggi di Torch Compile, una funzionalità di PyTorch che ottimizza il modo in cui i modelli di AI elaborano i dati, rendendoli più veloci ed efficienti. Hugging Face integra Torch Compile nelle librerie Transformers e Optimum, così gli sviluppatori possono sfruttare questi miglioramenti delle prestazioni apportando modifiche minime al codice.
Ottimizzando la struttura dei calcoli del modello, Torch Compile può accelerare l’inferenza e aumentare la frequenza dei fotogrammi da 29 a 150 al secondo, senza compromettere la precisione o la qualità.
Distribuire modelli con gli strumenti Hugging Face#
Poi Pavel ha accennato brevemente a come gli sviluppatori possano estendere e distribuire modelli di Vision AI con gli strumenti Hugging Face, dopo aver selezionato il modello giusto e scelto l’approccio di sviluppo più adatto.
Ad esempio, gli sviluppatori possono distribuire applicazioni di IA interattive con Gradio e Streamlit. Gradio consente agli sviluppatori di creare interfacce web per modelli di machine learning, mentre Streamlit aiuta a realizzare applicazioni interattive per i dati con semplici script Python.
Pavel ha anche osservato: «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 da capo.

Fig. 4. Pavel illustra le funzionalità di Hugging Face a YV24.
Vantaggi di Hugging Face Hub#
Concludendo il suo intervento principale, Pavel ha riassunto i vantaggi di Hugging Face Hub. Ha sottolineato come semplifichi la gestione dei modelli e la collaborazione. Ha inoltre evidenziato la disponibilità di guide, notebook e tutorial, che possono aiutare sia i principianti sia gli esperti a comprendere e implementare i modelli di AI.
«Su Hub ci sono già tanti spazi interessanti. Puoi trovarne di simili, clonare il codice condiviso, modificare qualche riga, sostituire il modello con il tuo e caricarlo di nuovo», ha spiegato, invitando gli sviluppatori a sfruttare la flessibilità della piattaforma.
Punti chiave#
Nel suo intervento a YV24, Pavel ha spiegato come Hugging Face offra strumenti per supportare l’addestramento, l’ottimizzazione e la distribuzione dei modelli di AI. Innovazioni come Transformers, Optimum e Torch Compile, ad esempio, possono aiutare gli sviluppatori a migliorare le prestazioni dei modelli.
Man mano che i modelli di AI diventano più efficienti, i progressi nella quantizzazione e nella distribuzione edge rendono più semplice eseguirli su dispositivi con risorse limitate. Questi miglioramenti, insieme a strumenti come Hugging Face e a modelli avanzati di computer vision come Ultralytics YOLO11, sono fondamentali per creare applicazioni di Vision AI scalabili e ad alte prestazioni.
Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per approfondire l’AI e consulta le nostre licenze YOLO per dare il via ai tuoi progetti di Vision AI. Ti interessano innovazioni come la computer vision nel settore sanitario o la computer vision in agricoltura? Visita le pagine delle nostre soluzioni per saperne di più!
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










