Annuncio Valutazione sul Hub

Valutazione del Hub

TL;DR: Oggi presentiamo Evaluation on the Hub, un nuovo strumento alimentato da AutoTrain che ti permette di valutare qualsiasi modello su qualsiasi dataset su Hub senza scrivere una singola riga di codice!

Valuta tutti i modelli 🔥🔥🔥!

Il progresso nell’AI è stato incredibile, tanto che alcune persone stanno seriamente discutendo se i modelli di AI possano essere migliori degli esseri umani in determinati compiti. Tuttavia, questo progresso non è stato uniforme: per un esperto di machine learning di qualche decennio fa, l’hardware e gli algoritmi moderni potrebbero sembrare incredibili, così come la quantità di dati e di calcolo a nostra disposizione, ma il modo in cui valutiamo questi modelli è rimasto più o meno lo stesso.

Tuttavia, non è un’esagerazione dire che l’AI moderna si trova in una crisi di valutazione. La corretta valutazione oggi comporta la misurazione di molti modelli, spesso su molti dataset e con metriche multiple. Ma farlo è inutile complicato. Questo è particolarmente vero se ci preoccupiamo della riproducibilità, poiché i risultati autodichiarati potrebbero aver subito errori accidentali, differenze sottili nell’implementazione o peggio.

Crediamo che sia possibile migliorare la valutazione, se noi – la comunità – stabiliamo un insieme migliore di best practice e cerchiamo di rimuovere gli ostacoli. Negli ultimi mesi, abbiamo lavorato duramente su Evaluation on the Hub: valuta qualsiasi modello su qualsiasi dataset utilizzando qualsiasi metrica, con un solo clic. Per iniziare, abbiamo valutato centinaia di modelli su diversi dataset chiave, e utilizzando la nuova e interessante funzione di Pull Request su Hub, abbiamo aperto molti PR sulle schede dei modelli per visualizzarne le prestazioni verificate. I risultati della valutazione sono codificati direttamente nei metadati della scheda del modello, seguendo un formato per tutti i modelli su Hub. Dai un’occhiata alla scheda del modello DistilBERT per vedere come appare!

Su Hub

Evaluation on the Hub apre le porte a molti casi d’uso interessanti. Dal data scientist o dall’esecutivo che deve decidere quale modello implementare, all’accademico che cerca di riprodurre i risultati di un articolo su un nuovo dataset, all’etico che vuole capire meglio i rischi dell’implementazione. Se dovessimo individuare tre scenari d’uso primari iniziali, sarebbero questi:

Trovare il miglior modello per il tuo compito Supponiamo che tu sappia esattamente quale sia il tuo compito e vuoi trovare il modello giusto per il lavoro. Puoi consultare la classifica per un dataset rappresentativo del tuo compito, che aggrega tutti i risultati. Fantastico! E se quel nuovo modello di cui sei interessato non è ancora nella classifica per quel dataset? Basta eseguire una valutazione per esso, senza uscire da Hub.

Valutare i modelli sul tuo nuovo dataset E se hai un dataset nuovissimo su cui vuoi eseguire baselines? Puoi caricarlo su Hub e valutare quanti modelli desideri su di esso. Non è richiesto alcun codice. Inoltre, puoi essere sicuro che il modo in cui stai valutando questi modelli sul tuo dataset sia esattamente lo stesso di come sono stati valutati su altri dataset.

Valutare il tuo modello su molti altri dataset correlati O supponiamo che tu abbia un nuovo modello di domande e risposte, addestrato su SQuAD? Ci sono centinaia di diversi dataset di domande e risposte da valutare :scream: Puoi scegliere quelli che ti interessano e valutare il tuo modello, direttamente da Hub.

Ecosistema

Evaluation on the Hub si integra perfettamente nell’ecosistema di Hugging Face.

Evaluation on the Hub è pensato per semplificarti la vita. Ma ovviamente, molto sta accadendo nel background. Quello che ci piace davvero di Evaluation on the Hub: si integra così perfettamente nell’ecosistema esistente di Hugging Face, che quasi abbiamo dovuto farlo. Gli utenti iniziano dalle pagine dei dataset, da cui possono avviare valutazioni o visualizzare le classifiche. L’interfaccia di sottomissione della valutazione del modello e le classifiche sono spazi regolari di Hugging Face. L’infrastruttura di valutazione è alimentata da AutoTrain, che apre una PR su Hub per la scheda del modello specifico.

DogFood – Distinguere cani, muffin e pollo fritto

Allora, come si presenta nella pratica? Vediamo un esempio. Supponiamo che tu ti occupi di distinguere cani, muffin e pollo fritto (a.k.a. dogfooding!).

Immagini di esempio di cani e cibo (muffin e pollo fritto). Fonte / Fonte originale.

Come mostra l’immagine sopra, per risolvere questo problema, avrai bisogno di:

  • Un dataset di immagini di cani, muffin e pollo fritto
  • Classificatori di immagini che sono stati addestrati su queste immagini

Fortunatamente, il tuo team di data science ha caricato un dataset su Hugging Face Hub e ha addestrato alcuni modelli diversi su di esso. Ora devi solo scegliere il migliore: utilizziamo Evaluation on the Hub per vedere quanto bene si comportano sul set di test!

Configurazione di un lavoro di valutazione

Per iniziare, vai allo Spazio “model-evaluator” e seleziona il dataset su cui desideri valutare i modelli. Per il nostro dataset di immagini di cani e cibo, vedrai qualcosa di simile all’immagine qui sotto:

Ora, molti dataset su Hub contengono metadati che specificano come configurare una valutazione (guarda ad esempio acronym_identification). Questo ti consente di valutare i modelli con un solo clic, ma nel nostro caso ti mostreremo come configurare manualmente la valutazione.

Cliccando sul pulsante di configurazione avanzata ti verranno mostrate le varie impostazioni tra cui scegliere:

  • La configurazione del compito, del dataset e della suddivisione
  • La mappatura delle colonne del dataset in un formato standard
  • La scelta delle metriche

Come mostrato nell’immagine qui sotto, la configurazione del compito, del dataset e della suddivisione su cui effettuare la valutazione è semplice:

Il passaggio successivo è definire quali colonne del dataset contengono le immagini e quali contengono le etichette:

Ora che il compito e il dataset sono configurati, l’ultimo passaggio (opzionale) è selezionare le metriche da utilizzare per la valutazione. Ogni compito è associato a un insieme di metriche predefinite. Ad esempio, l’immagine qui sotto mostra che il punteggio F1, l’accuratezza ecc. verranno calcolati automaticamente. Per rendere le cose più interessanti, calcoleremo anche il coefficiente di correlazione di Matthew, che fornisce una misura bilanciata delle prestazioni del classificatore:

E questo è tutto ciò che serve per configurare un lavoro di valutazione! Ora dobbiamo solo scegliere alcuni modelli da valutare – diamo un’occhiata.

Selezione dei modelli da valutare

La valutazione su Hub collega i dataset e i modelli tramite i tag nei metadati della scheda del modello. Nel nostro esempio, abbiamo tre modelli tra cui scegliere, quindi selezioniamoli tutti!

Una volta selezionati i modelli, inserisci semplicemente il tuo nome utente di Hugging Face Hub (per essere avvisato quando la valutazione è completa) e clicca sul grande pulsante Valuta modelli:

Una volta inviato il lavoro, i modelli saranno valutati automaticamente e verrà aperta una Pull Request di Hub con i risultati della valutazione:

Puoi anche copiare-incollare i metadati della valutazione nella scheda del dataset in modo che tu e la comunità possiate saltare la configurazione manuale la prossima volta!

Consulta la classifica

Per facilitare il confronto tra i modelli, Evaluation on the Hub fornisce anche classifiche che ti consentono di esaminare quali modelli si comportano meglio su quale suddivisione e metrica:

Sembra che il Swin Transformer sia arrivato primo!

Provalo tu stesso!

Se desideri valutare la tua scelta di modelli, prova Evaluation on the Hub provando questi dataset popolari:

  • Emotion per la classificazione del testo
  • MasakhaNER per il riconoscimento delle entità nominate
  • SAMSum per il riassunto del testo

Il quadro generale

Dall’alba dell’apprendimento automatico, abbiamo valutato i modelli calcolando una qualche forma di accuratezza su un set di test separato che si presume essere indipendente ed identicamente distribuito. Sotto le pressioni dell’intelligenza artificiale moderna, quel paradigma sta iniziando a mostrare gravi crepe.

I benchmark sono saturi, il che significa che le macchine superano gli esseri umani su determinati set di test, quasi più velocemente di quanto possiamo crearne di nuovi. Tuttavia, i sistemi di intelligenza artificiale sono noti per essere fragili e soffrono, o addirittura amplificano, gravi bias maliziosi. Mancano la riproducibilità e l’apertura è un pensiero di secondo piano. Mentre le persone si concentrano sulle classifiche, spesso si trascurano considerazioni pratiche per il rilascio dei modelli, come l’efficienza e l’equità. Il ruolo estremamente importante dei dati nello sviluppo dei modelli non viene ancora preso abbastanza sul serio. Inoltre, le pratiche di preaddestramento e di apprendimento basato su prompt in contesto hanno sfocato il significato stesso di “in distribuzione”. L’apprendimento automatico si sta lentamente adeguando a queste cose e speriamo di aiutare il campo a progredire con il nostro lavoro.

Prossimi passi

Alcune settimane fa abbiamo lanciato la libreria Hugging Face Evaluate, con l’obiettivo di abbattere le barriere delle migliori pratiche di valutazione dell’apprendimento automatico. Abbiamo anche ospitato benchmark, come RAFT e GEM. La valutazione nell’Hub è un passo successivo logico nei nostri sforzi per consentire un futuro in cui i modelli vengano valutati in modo più completo, lungo molteplici assi di valutazione, in modo affidabile e riproducibile. Rimanete sintonizzati per ulteriori lanci a breve, inclusi più compiti e uno strumento di misurazione dei dati nuovo e migliorato!

Siamo entusiasti di vedere dove la comunità porterà questo! Se desideri aiutare, valuta quanti modelli desideri su quanti dataset preferisci. E come sempre, forniscici molti feedback, sia nelle schede della Community che nei forum!