Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Unisciti a noi mentre rivisitiamo un discorso programmatico di YOLO Vision 2024 incentrato sull'esplorazione di come gli strumenti open source di Hugging Face stiano facendo progredire lo sviluppo dell'IA.
La scelta degli algoritmi giusti è solo una parte della creazione di soluzioni di computer vision di grande impatto. Gli ingegneri dell'AI spesso lavorano con grandi dataset, mettono a punto modelli per compiti specifici e ottimizzano i sistemi di AI per le prestazioni nel mondo reale. Con la sempre più rapida adozione delle applicazioni di AI, cresce 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 computer vision. L'evento ha suscitato discussioni su vari argomenti, come i modi per accelerare lo sviluppo di applicazioni di IA.
Un momento clou dell'evento è stato un keynote su Hugging Face, una piattaforma di IA open-source che semplifica l'addestramento, l'ottimizzazione e la distribuzione dei modelli. Pavel Lakubovskii, Machine Learning Engineer di Hugging Face, ha condiviso come i suoi strumenti migliorano i flussi di lavoro per le attività di computer vision come il rilevamento di oggetti nelle immagini, la categorizzazione delle immagini in diversi gruppi e la formulazione di previsioni senza una formazione preliminare su esempi specifici (zero-shot learning).
Hugging Face Hub ospita e fornisce accesso a vari modelli di IA e computer vision come Ultralytics YOLO11. In questo articolo, riassumeremo i punti chiave del discorso di Pavel e vedremo come gli sviluppatori possono utilizzare gli strumenti open-source di Hugging Face per costruire e implementare rapidamente modelli di IA.
Fig. 1. Pavel sul palco a YV24.
Hugging Face Hub supporta uno sviluppo dell'IA più rapido
Pavel ha iniziato il suo intervento presentando Hugging Face come una piattaforma di IA open-source che offre modelli pre-addestrati per una varietà di applicazioni. Questi modelli sono progettati per vari rami dell'IA, tra cui l'elaborazione del linguaggio naturale (NLP), la computer vision e l'IA multimodale, consentendo ai sistemi di elaborare diversi tipi di dati, come testo, immagini e audio.
Pavel ha menzionato che Hugging Face Hub ora ospita oltre 1 milione di modelli e che gli sviluppatori possono facilmente trovare modelli adatti ai loro progetti specifici. Hugging Face mira a semplificare lo sviluppo dell'IA offrendo strumenti per il training, il fine-tuning e il deployment dei modelli. La possibilità per gli sviluppatori di sperimentare con diversi modelli semplifica il processo di integrazione dell'IA in applicazioni reali.
Sebbene Hugging Face fosse inizialmente noto per l'NLP, da allora si è espanso nella computer vision e nell'AI multimodale, consentendo agli sviluppatori di affrontare una gamma più ampia di attività di AI. Ha anche una forte community in cui gli sviluppatori possono collaborare, condividere approfondimenti e ottenere supporto tramite forum, Discord e GitHub.
Esplorazione dei modelli Hugging Face per applicazioni di computer vision
Entrando più nel dettaglio, Pavel ha spiegato come gli strumenti di Hugging Face semplificano la creazione di applicazioni di computer vision. Gli sviluppatori possono utilizzarli per attività come la classificazione delle immagini, l'object detection e le applicazioni vision-language.
Ha anche sottolineato che molte di queste attività di computer vision possono essere gestite con modelli pre-addestrati disponibili su Hugging Face Hub, risparmiando tempo riducendo la necessità di addestramento da zero. Infatti, Hugging Face offre oltre 13.000 modelli pre-addestrati per attività di classificazione delle immagini, compresi quelli per la classificazione degli alimenti, 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 già addestrato da qualcuno della community."
Modelli Hugging Face per il rilevamento di oggetti
Facendo un altro esempio, Pavel ha spiegato come Hugging Face può aiutare con l'object detection, una funzione chiave nella computer vision che viene 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 l'object detection più efficiente.
Ha anche fornito una rapida panoramica di diversi modelli creati 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 funzionalità di rilevamento oggetti in tempo reale. DETR è addestrato sul dataset COCO ed è progettato per elaborare in modo efficiente le caratteristiche multiscala, rendendolo adatto per applicazioni sensibili al tempo.
Modelli di visione-linguaggio: Questi modelli combinano l'elaborazione di immagini e testo, consentendo ai sistemi di IA di abbinare immagini a descrizioni o riconoscere oggetti al di là dei dati di training. Esempi includono CLIP e SigLIP, che migliorano la ricerca di immagini collegando il testo alle immagini e consentono alle soluzioni di IA 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. Gli esempi includono OwlVit, GroundingDINO e OmDet, che utilizzano l'apprendimento zero-shot per rilevare nuovi oggetti senza la necessità di dati di addestramento etichettati.
Come utilizzare i modelli di Hugging Face
Pavel ha poi spostato l'attenzione sull'utilizzo pratico dei modelli di Hugging Face, spiegando tre modi in cui gli sviluppatori possono sfruttarli: esplorare i modelli, testarli rapidamente e personalizzarli ulteriormente.
Ha dimostrato come gli sviluppatori possono sfogliare i modelli direttamente su Hugging Face Hub senza scrivere codice, semplificando il test immediato dei modelli attraverso un'interfaccia interattiva. "Puoi provarlo senza scrivere nemmeno una riga di codice o scaricare il modello sul tuo computer", ha aggiunto Pavel. Poiché alcuni modelli sono di grandi dimensioni, eseguirli sull'Hub aiuta a evitare limitazioni di archiviazione ed elaborazione.
Fig. 2. Come utilizzare i modelli di Hugging Face.
Inoltre, l'API Hugging Face Inference consente agli sviluppatori di eseguire modelli di IA con semplici chiamate API. È ideale per test rapidi, progetti proof-of-concept e prototipazione rapida senza la necessità di una configurazione complessa.
Per casi d'uso più avanzati, gli sviluppatori possono utilizzare il framework Hugging Face Transformers, uno strumento open-source che fornisce modelli pre-addestrati per attività 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 dall'Hugging Face Hub e collegarlo a uno strumento di pre-elaborazione, come un processore di immagini, per analizzare i dati delle immagini per applicazioni di Vision AI.
Ottimizzazione dei flussi di lavoro AI con Hugging Face
Successivamente, Pavel ha spiegato come Hugging Face possa semplificare i flussi di lavoro dell'IA. Un argomento chiave trattato è stato l'ottimizzazione del meccanismo di attenzione nei Transformer, una caratteristica fondamentale dei modelli di deep learning che aiuta a concentrarsi sulle parti più rilevanti dei dati di input. Ciò migliora l'accuratezza delle attività che coinvolgono l'elaborazione del linguaggio e la computer vision. Tuttavia, può richiedere molte risorse.
L'ottimizzazione del meccanismo di attenzione può ridurre significativamente l'utilizzo della memoria migliorando al contempo la velocità. Pavel ha sottolineato: "Ad esempio, passando a un'implementazione di attenzione più efficiente, si potrebbe ottenere una performance fino a 1,8 volte più veloce."
Hugging Face fornisce supporto integrato per implementazioni di attenzione più efficienti all'interno del framework Transformers. Gli sviluppatori possono abilitare queste ottimizzazioni semplicemente specificando un'implementazione di attenzione alternativa durante il caricamento di un modello.
Optimum e Torch Compile
Ha anche parlato della quantizzazione, una tecnica che riduce le dimensioni dei modelli di IA diminuendo la precisione dei numeri che utilizzano senza influire troppo sulle prestazioni. Questo aiuta i modelli a utilizzare meno memoria e a funzionare più velocemente, rendendoli più adatti a dispositivi con potenza di elaborazione limitata, come smartphone e sistemi embedded.
Per migliorare ulteriormente l'efficienza, Pavel ha introdotto la libreria Hugging Face Optimum, un set 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.
Fig. 3. Pavel ha parlato della libreria Optimum e delle sue funzionalità.
Infine, Pavel ha menzionato i vantaggi di Torch Compile, una funzionalità di PyTorch che ottimizza il modo in cui i modelli di IA 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 i frame rate da 29 a 150 frame al secondo senza compromettere l'accuratezza o la qualità.
Distribuzione di modelli con gli strumenti di Hugging Face
Passando oltre, Pavel ha brevemente accennato a come gli sviluppatori possono estendere e implementare i modelli Vision AI utilizzando gli strumenti di Hugging Face dopo aver selezionato il modello giusto e scelto l'approccio migliore per lo sviluppo.
Ad esempio, gli sviluppatori possono implementare applicazioni AI interattive utilizzando Gradio e Streamlit. Gradio consente agli sviluppatori di creare interfacce web per modelli di machine learning, mentre Streamlit aiuta a creare applicazioni di dati interattive con semplici script Python.
Pavel ha anche sottolineato che “Non è necessario iniziare a scrivere tutto da zero”, riferendosi alle guide, ai notebook di training e agli script di esempio forniti da Hugging Face. Queste risorse aiutano gli sviluppatori a iniziare rapidamente senza dover costruire tutto da zero.
Fig 4. Pavel che discute le capacità di Hugging Face a YV24.
Vantaggi di Hugging Face Hub
Concludendo il suo keynote, Pavel ha riassunto i vantaggi dell'utilizzo di Hugging Face Hub. Ha sottolineato come semplifica la gestione dei modelli e la collaborazione. Ha anche 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 di IA.
"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 ricaricarlo", ha spiegato, incoraggiando gli sviluppatori a sfruttare la flessibilità della piattaforma.
Punti chiave
Durante il suo intervento allo YV24, Pavel ha spiegato come Hugging Face fornisca strumenti che supportano l'addestramento, l'ottimizzazione e il deployment di modelli di IA. Ad esempio, innovazioni come Transformers, Optimum e Torch Compile possono aiutare gli sviluppatori a migliorare le prestazioni dei modelli.
Man mano che i modelli di IA diventano più efficienti, i progressi nella quantizzazione e nell'edge deployment stanno rendendo più facile eseguirli su dispositivi con risorse limitate. Questi miglioramenti, combinati con strumenti come Hugging Face e modelli avanzati di computer vision come Ultralytics YOLO11, sono fondamentali per la creazione di applicazioni Vision AI scalabili e ad alte prestazioni.