Una faccina che si tiene le guance fra le mani. Sorridente, rilassata, felice e soddisfatta. Lei è, in inglese, una “Hugging Face”, assurta alla dignità di logo di un’azienda ormai ben conosciuta ai più che giocano, sviluppano, lavorano, sono interessati alle soluzioni e applicazioni in Intelligenza Artificiale: Hugging Face, per l’appunto.
Fondata a New York, nel 2016, dai francesi Clément Delangue, Julien Chaumond e Thomas Wolf, nel corso di una tornata di investimenti nel 2013, ha raccolto 235 milioni di dollari. Fra coloro che hanno partecipato al finanziamento ci sono Google, Amazon, Nvidia, Intel, AMD, IBM per citare solo le più grandi. Hugging Face oggi è una realtà valutata 4,5 miliardi di dollari.
Hugging Face è anche il nome della enorme comunità open source che Hugging Face, l’azienda, alimenta e sostiene, per mettere a disposizione strumenti, modelli di apprendimento automatico e piattaforme per lavorare con l’intelligenza artificiale. Particolare attenzione viene dedicata alla scienza dei dati, all’apprendimento automatico e all’elaborazione del linguaggio naturale. Molto rinomata è la libreria di Hugging Face di “trasformatori NLP”, nonché la sua piattaforma che consente agli utenti di condividere modelli e datasets.
Opportuno, chiediamo venia agli esperti per le inevitabili approssimazioni, condividere le definizioni in italiano dei termini tecnici, tutti in inglese, che vengono utilizzati nell’ambito dell’intelligenza artificiale. Iniziamo con i transformer NLP. Si tratta di un’architettura di “deep learning” (apprendimento profondo) che ha rivoluzionato il Natural Language Processing (NLP), noto in italiano come “elaborazione del linguaggio naturale”, ramo dell’intelligenza artificiale che aiuta i computer a leggere, capire e generare il linguaggio umano. Unisce l’informatica, la linguistica e l’apprendimento automatico (machine learning) per colmare la distanza tra il modo di parlare delle persone e il codice delle macchine. I transformer NLP, invece di processare le parole in modo sequenziale, dopo avere assegnato ad ogni parola la propria posizione nella frase per preservarne la struttura grammaticale, analizzano in parallelo intere frasi, o paragrafi. Utilizzando poi un meccanismo di “auto-attenzione” (self attention), assegnano a ogni parola della frase dei pesi in relazione alle altre parole della frase stessa, consentendo così di apprezzare il significato contestuale del linguaggio umano. Prendiamo la frase “La sponda aveva un buon rimbalzo”. L’auto-attenzione permette al modello di capire che si sta parlando di un tavolo da biliardo e non della caratteristica delle rive di un fiume.
Un transformer standard è composto da due moduli-base. Il primo è il codificatore (encoder) che legge e analizza il testo convertendolo in una rappresentazione matematica, numerica, del contenuto. Il secondo è il decodificatore (decoder) che prende le informazioni codificate e genera un testo, parola per parola. A seconda del compito un modello può utilizzare entrambi i moduli, ad esempio Google T5 per le traduzioni, o solo il decoder, come i modelli GPT di OpenAI, Llama di Meta, o Gemini di Google per la generazione di testi.
Definiamo ora dataset. Sono raccolte organizzate di dati, come testi, immagini, o numeri, usate per insegnare, mettere alla prova e far funzionare un modello di intelligenza artificiale. Senza datasets, un sistema di intelligenza artificiale non può imparare nulla.
Passiamo ora alla definizione di modello di IA. Si tratta di un programma, o di un’architettura matematica, addestrata con una grande quantità di dati per riconoscere schemi, fare previsioni, o prendere decisioni in autonomia. Da sottolineare la differenza tra algoritmo e modello: l’algoritmo è la struttura logica, o la “ricetta” di partenza, scritta dai programmatori; il modello è il programma finale arricchito ed “educato” dall’esperienza maturata in base ai datasets utilizzati. Dunque è il risultato concreto ottenuto a seguito di apprendimento. Esistono vari tipi di modelli. I principali sono: i modelli predittivi, che stimano valori futuri, o probabilità (es. per fare previsioni meteo); i modelli di classificazione che riconoscono e dividono in categorie le informazioni (es. filtri antispam, strumenti di sicurezza informatica progettati per bloccare messaggi di posta elettronica indesiderati, pericolosi, o pubblicitari) e infine i modelli generativi che creano contenuti originali come testi, immagini, o codice (es. ChatGPT, o generatori di immagini). Il codice è un insieme di istruzioni scritte usando un linguaggio di programmazione per fare svolgere a un computer un determinato compito.
Torniamo a Hugging Face. Ha coltivato una delle comunità di intelligenza artificiale più vivaci al mondo, con utenti che contribuiscono quotidianamente con nuovi modelli, datasets, ricerche e tutorials. Un tutorial è una guida pratica, un corso interattivo, o un assistente virtuale che spiega come fare qualcosa, o insegna una materia, passo dopo passo.
Hugging Face, inoltre, mette a disposizione una ricca collezione di API (Application Programming Interface). Un’API, in intelligenza artificiale, la si può considerare come un “ponte digitale” che consente a diversi programmi di comunicare tra loro, permettendo a un’applicazione esterna al modello di IA che si vuole utilizzare di inviare dati al modello stesso. Gli sviluppatori possono così integrare i modelli direttamente nelle loro applicazioni e ottenere risultati in tempo reale. La piattaforma di Hugging Face fornisce supporto a una vasta gamma di attività in molti casi d’uso e settori, permette l’accesso ai modelli più recenti, semplifica i flussi di lavoro, facilita l’implementazione delle soluzioni. Servizi che fanno fiorire la comunità degli utenti, cui viene richiesta attenzione continua al tema dell’intelligenza artificiale responsabile.
Scendendo nel dettaglio, Hugging Face con il suo Model Hub, fornisce l’accesso a centinaia di migliaia di modelli di intelligenza artificiale pre-addestrati per l’elaborazione del linguaggio naturale, la classificazione, la generazione, o il riepilogo di testi, la risposta a domande, la generazione di immagini, la visione artificiale e altro ancora. Il Model Hub si comporta come una piazza di mercato dove gli utenti possono facilmente trovare, scaricare e perfezionare, con poche righe di codice, i modelli di loro interesse. Non dovendo partire da zero sviluppatori e ricercatori, grati, ringraziano per il tempo e risorse risparmiate.
Le librerie Hugging Face sono facili da usare e ben documentate. I principianti possono mettere a punto rapidamente potenti modelli ed eseguire attività complesse. Dando semplice accesso ai fondamenti e agli strumenti avanzati Hugging Face ha aperto lo sviluppo dell’IA a una comunità ampia e variegata.
Gli strumenti che mette a disposizione consentono agli utenti, in particolare startup e imprese, di asservire i modelli al web, alle app dei dispositivi mobili, o ai sistemi aziendali, senza richiedere pesanti investimenti infrastrutturali. La distribuzione dei modelli in produzione viene magnificamente semplificata.
Hugging Face è anche il luogo preferito di incontro per sviluppatori, data scientists (esperti di scienza dei dati) e ricercatori; è il luogo dove chi è alle prime armi può imparare da professionisti esperti e porre domande a chi potrebbe avere già affrontato e risolto le sfide che vogliono affrontare.
Molti dei modelli presenti su Hugging Face spiegano quali siano i loro limiti, pregiudizi e casi d’uso previsti. Molto viene investito in una governance aperta e in discussioni e confronti di idee, guidate dalla comunità, sull’etica dell’IA.
Prima di Hugging Face, i modelli più potenti erano spesso difficili da usare perché richiedevano competenze specializzate ed enormi risorse informatiche. Gli strumenti open-sourcing hanno contribuito a rendere questi modelli più facili da usare, con tutto il codice e la documentazione richiesti, il che ha accelerato in modo importante l’innovazione a livello globale.
Questa enfasi di Hugging Face sulle tecnologie open source, non solo implica la condivisione da parte dei membri della comunità, più di un milione al mese, del codice dei modelli e la loro collaborazione nella costruzione di modelli nuovi, ma ha anche incoraggiato le aziende più grandi a fare lo stesso, consentendo all’intero ecosistema di trarne beneficio. Microsoft ha integrato i modelli Hugging Face nei suoi servizi Azure, fornendo ai clienti aziendali l’accesso diretto a strumenti di intelligenza artificiale all’avanguardia. Allo stesso modo, Nvidia ha collaborato con Hugging Face per ottimizzare la formazione e l’inferenza del modello per le Graphics Processing Unit, (GPU), aiutando a fare crescere la scala dei flussi di lavoro di deep learning, necessari per digerire enormi datasets. GPU si traduce come “unità di elaborazione grafica”. Si tratta di un processore speciale, molto veloce, dedicato alla creazione di immagini, video e giochi.
Non serve continuare a masticare termini in inglese per raccontare le meraviglie di Hugging Face. La cosa migliore da fare è entrarci dentro, ravanare e iniziare a progettare e costruire il futuro.
Buon divertimento: https://huggingface.co.












