Unisciti a noi per rivedere un discorso chiave di YOLO Vision 2024 che si concentra sull'esplorazione di come gli strumenti open-source di Hugging Facestiano facendo progredire lo sviluppo dell'intelligenza artificiale.
La scelta degli algoritmi giusti è solo una parte della costruzione di soluzioni di computer vision di grande impatto. Gli ingegneri dell'IA lavorano spesso con grandi insiemi di dati, mettono a punto i modelli per compiti specifici e ottimizzano i sistemi di IA per le prestazioni nel mondo reale. Con l'adozione sempre più rapida delle applicazioni di IA, cresce anche la necessità di strumenti che semplifichino questi processi.
A 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 nel campo della computer vision. L'evento ha dato vita a discussioni su vari argomenti, come i modi per accelerare lo sviluppo di applicazioni di IA.
Uno dei punti salienti dell'evento è stato un keynote su Hugging Face, una piattaforma di intelligenza artificiale open-source che semplifica l'addestramento, l'ottimizzazione e la distribuzione dei modelli. Pavel Lakubovskii, ingegnere dell'apprendimento automatico presso Hugging Face, ha condiviso come i suoi strumenti migliorino i flussi di lavoro per attività di computer vision come il rilevamento di oggetti nelle immagini, la categorizzazione di immagini in gruppi diversi e la formulazione di previsioni senza un addestramento preliminare su esempi specifici (apprendimento a zero colpi).
Hugging Face Hub ospita e fornisce l'accesso a diversi modelli di AI e di computer vision come Ultralytics YOLO11. In questo articolo riassumeremo i punti chiave dell'intervento di Pavel e vedremo come gli sviluppatori possono utilizzare gli strumenti open-source di Hugging Faceper costruire e distribuire rapidamente modelli di AI.
Pavel ha iniziato il suo intervento presentando Hugging Face , una piattaforma di IA open-source che offre modelli pre-addestrati per una varietà di applicazioni. Questi modelli sono progettati per vari settori 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 ricordato che Hugging Face Hub ha ospitato oltre 1 milione di modelli e che gli sviluppatori possono trovare facilmente modelli adatti ai loro progetti specifici. Hugging Face mira a semplificare lo sviluppo dell'IA offrendo strumenti per l'addestramento, la messa a punto e la distribuzione dei modelli. La possibilità per gli sviluppatori di sperimentare diversi modelli semplifica il processo di integrazione dell'IA nelle applicazioni reali.
Se inizialmente Hugging Face era conosciuto per l'NLP, da allora si è esteso alla computer vision e all'IA multimodale, consentendo agli sviluppatori di affrontare una gamma più ampia di compiti di IA. Ha anche una solida comunità in cui gli sviluppatori possono collaborare, condividere intuizioni e ricevere supporto attraverso forum, Discord e GitHub.
Entrando più nel dettaglio, Pavel ha spiegato come gli strumenti di Hugging Facefacilitino la creazione di applicazioni di computer vision. Gli sviluppatori possono utilizzarli per attività come la classificazione delle immagini, il rilevamento degli oggetti e le applicazioni di linguaggio di visione.
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 e riducendo la necessità di addestramento da zero. Infatti, Hugging Face offre oltre 13.000 modelli pre-addestrati per la classificazione delle immagini, tra cui quelli per la classificazione degli alimenti, degli animali domestici e per il rilevamento delle emozioni.
Sottolineando l'accessibilità di questi modelli, ha detto: "Probabilmente non hai nemmeno bisogno di addestrare un modello per il tuo progetto: potresti trovarne uno sull'Hub già addestrato da qualcuno della comunità".
Con un altro esempio, Pavel ha spiegato come Hugging Face possa aiutare a rilevare gli oggetti, una funzione chiave della computer vision che viene utilizzata per identificare e localizzare gli oggetti all'interno delle immagini. Anche con dati etichettati limitati, i modelli pre-addestrati disponibili su Hugging Face Hub possono rendere più efficiente il rilevamento degli oggetti.
Ha anche fornito una rapida panoramica di diversi modelli costruiti per questo compito che puoi trovare su Hugging Face:
Pavel ha poi spostato l'attenzione sull'uso pratico dei modelli Hugging Face , spiegando tre modi in cui gli sviluppatori possono sfruttarli: esplorando i modelli, testandoli rapidamente e personalizzandoli ulteriormente.
Ha dimostrato come gli sviluppatori possano sfogliare i modelli direttamente su Hugging Face Hub senza scrivere alcun codice, rendendo facile testare i modelli all'istante attraverso un'interfaccia interattiva. "Puoi provarli senza scrivere nemmeno una riga di codice o scaricare il modello sul tuo computer", ha aggiunto Pavel. Poiché alcuni modelli sono di grandi dimensioni, la loro esecuzione sull'Hub consente di evitare i limiti di archiviazione e di elaborazione.
Inoltre, l'API Hugging Face Inference consente agli sviluppatori di eseguire modelli di intelligenza artificiale con semplici chiamate API. È l'ideale per effettuare test rapidi, progetti proof-of-concept e prototipi rapidi senza dover ricorrere a una configurazione complessa.
Per i 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 da 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.
Successivamente, Pavel ha spiegato come Hugging Face possa ottimizzare i flussi di lavoro dell'intelligenza artificiale. Un argomento chiave che ha trattato è l'ottimizzazione del meccanismo di attenzione nei Transformers, una caratteristica fondamentale dei modelli di deep learning che li aiuta a concentrarsi sulle parti più rilevanti dei dati in ingresso. Questo migliora l'accuratezza dei compiti che riguardano l'elaborazione del linguaggio e la computer vision. Tuttavia, può richiedere un notevole dispendio di risorse.
L'ottimizzazione del meccanismo di attenzione può ridurre significativamente l'utilizzo della memoria e migliorare la velocità. Pavel ha sottolineato: "Ad esempio, passando a un'implementazione dell'attenzione più efficiente, si possono ottenere prestazioni fino a 1,8 volte superiori".
Hugging Face fornisce un supporto integrato per implementazioni dell'attenzione più efficienti all'interno del framework Transformers. Gli sviluppatori possono attivare queste ottimizzazioni semplicemente specificando un'implementazione alternativa dell'attenzione durante il caricamento di un modello.
Ha anche parlato della quantizzazione, una tecnica che rende i modelli di intelligenza artificiale più piccoli riducendo la precisione dei numeri utilizzati senza influire troppo sulle prestazioni. In questo modo i modelli utilizzano meno memoria e girano più velocemente, rendendoli più adatti ai dispositivi con una potenza di elaborazione limitata, come gli smartphone e i sistemi embedded.
Per migliorare ulteriormente l'efficienza, Pavel ha introdotto la libreria Hugging Face Optimum, 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, tra cui server cloud e dispositivi edge.
Infine, Pavel ha parlato dei vantaggi di Torch Compile, una funzione di PyTorch che ottimizza il modo in cui i modelli di intelligenza artificiale elaborano i dati, rendendoli più veloci ed efficienti. Hugging Face integra Torch Compile nelle sue librerie Transformers e Optimum, consentendo agli sviluppatori di trarre vantaggio da questi miglioramenti delle prestazioni con modifiche minime al codice.
Ottimizzando la struttura di calcolo del modello, Torch Compile è in grado di accelerare i tempi di inferenza e di aumentare la frequenza dei fotogrammi da 29 a 150 fotogrammi al secondo senza compromettere l'accuratezza o la qualità.
In seguito, Pavel ha illustrato brevemente come gli sviluppatori possono estendere e distribuire 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 distribuire applicazioni interattive di intelligenza artificiale utilizzando Gradio e Streamlit. Gradio consente agli sviluppatori di creare interfacce basate sul web per i modelli di apprendimento automatico, mentre Streamlit aiuta a creare applicazioni interattive sui dati con semplici script Python .
Pavel ha anche sottolineato che "non è necessario iniziare a scrivere tutto da zero", riferendosi alle guide, ai quaderni di formazione e agli script di esempio che Hugging Face mette a disposizione. Queste risorse aiutano gli sviluppatori a iniziare rapidamente senza dover costruire tutto da zero.
Per concludere il suo intervento, Pavel ha riassunto i vantaggi dell'utilizzo di Hugging Face Hub. Ha sottolineato come semplifichi la gestione dei modelli e la collaborazione. Ha inoltre richiamato l'attenzione sulla disponibilità di guide, quaderni e tutorial che possono aiutare sia i principianti che gli esperti a comprendere e implementare i modelli di intelligenza artificiale.
"Ci sono molti spazi interessanti già presenti sull'Hub. Puoi trovarne di simili, clonare il codice condiviso, modificare qualche riga, sostituire il modello con il tuo e inviarlo di nuovo", ha spiegato, incoraggiando gli sviluppatori a sfruttare la flessibilità della piattaforma.
Durante il suo intervento a YV24, Pavel ha condiviso come Hugging Face fornisca strumenti che supportano l'addestramento, l'ottimizzazione e l'implementazione di modelli di intelligenza artificiale. 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 AI diventano più efficienti, i progressi nella quantizzazione e nell'edge deployment rendono più facile l'esecuzione su dispositivi con risorse limitate. Questi miglioramenti, uniti a strumenti come Hugging Face e a modelli di visione artificiale avanzati come Ultralytics YOLO11, sono fondamentali per creare applicazioni di AI scalabili e ad alte prestazioni.
Unisciti alla nostra comunità in crescita! Esplora il nostro repository GitHub per conoscere l'IA e dai un'occhiata alle nostre licenzeyolo per avviare i tuoi progetti di Vision AI. Sei interessato a innovazioni come la computer vision nella sanità o la computer vision nell'agricoltura? Visita le nostre pagine dedicate alle soluzioni per saperne di più!
Inizia il tuo viaggio nel futuro dell'apprendimento automatico