Generare un cartellino del modello
Il cartellino del modello (model card) è un file di importanza pari ai file del modello e del tokenizer in un repository. Contiene la definizione del modello, assicurando la possibilità di riutilizzarlo e riprodurre i risultati da parte dei membri della comunità , e facendo si che il modello sia una piattaforma su cui gli altri membri possono costruire i loro artefatti.
Documentare il processo di addestramento e valutazione aiuta gli altri a capire cosa aspettarsi dal modello â inoltre, fornire informazioni accurate sui dati utilizzati e sulle operazioni di pre e post elaborazione (preprocessing e postprocessing), assicura che si possano identificare e comprenere le limitazioni, i bias, e i contesti in cui il modello è utile, e quelli in cui non lo è.
Per questo creare un cartellino del modello che descriva chiaramente il modello, è un passo estremamente importante. Qui, forniamo alcuni suggerimenti per farlo. Il cartellino del modello viene creato tramite il file README.md, visto in precedenza, che è un file Markdown.
Il concetto del cartellino trae origine dalla ricerca svolta a Google, e pubblicata per la prima volta nellâarticolo âModel Cards for Model Reportingâ di Margaret Mitchell et al. Molte informazioni contenute qui sono basate su quellâartictolo, e raccomandiamo a tutti di leggerlo per capire lâimportanza del cartellino del modello in un mondo che valorizza la reproduzione, la riutilizzabilitĂ e lâequitĂ .
Il cartellino solitamente inizia con una breve introduzione, che descrive ad alto livello per quale scopo il modello è stato creato, ed è seguita da informazioni aggiuntive nelle sezioni seguenti:
- Descrizione del modello
- Usi previsti e limitazioni
- Istruzioni dâuso
- Limitazioni e bias
- Dati di addestramento
- Procedura di addestramento
- Risultati della valutazione
Approfondiamo ora i contenuti di ciascuna sezione.
Descrizione del modello
La descrizione del modello fornisce i dettagli di base. Questi includono lâarchitettura, la versione, informazioni sullâarticolo scientifico in cui il modello è stato presentato (se disponibile), se sia disponibile una implementazione originale, lâautore, ed altre informazioni di carattere generale. Qualsiasi copyright deve essere attribuito qui. Informazioni generali sulle procedure di addestramento, i parametri, ed anche dichiarazioni di non responsabilitĂ possono essere inserite in questa sezione.
Usi previsti e limitazioni
In questa sezione vengono descritti gli utilizzi per cui il modello è inteso, inclusi i linguaggi e i domini di applicazione del modello. Questa sezione del cartellino puĂł anche descrivere situazioni che sono fuori dallâambito previsto del modello, o dove ĂŠ probabile che il modello non funzioni in maniera ottimale.
Istruzioni dâuso
Questa sezione dovrebbe includere alcuni esempi che mostrino come usare il modello. Questi esempi possono includere lâutilizzo attraverso la funzione pipeline()
, lâutilizzo delle classi modello e tokenizer, e qualsiasi altro esempio di codice che possa essere utile.
Dati di addestramento
Questa parte dovrebbe indicare su quali dataset il modello è stato addestrato. à anche consigliabile aggiungere una breve descrizione dei dataset.
Procedura di addestramento
In questa sezione dovreste descrivere tutti i dettagli del processo di addestramento rilevanti dal punto di vista della riproducibilitĂĄ.
Variabili e metriche di valutazione
In questa sezione ĂŠ opportuno descrivere le metriche utilizzate per la valutazione e differenti fattori che vengono misurati. Riportare quali metriche ssono state usate, e su quali dataset e relative partizioni (dataset split), rende facile comparare le performance del proprio modello con gli altri. Le informazioni in questa sezione dovrebbero coprire i casi dâuso riportati nelle sezioni precedenti.
Risultati della valutazione
Per finire, si dovrebbero riportare i risultati della valutazione di come si comporta il modello sul dataset di valutazione. Se il modello utilizza una soglia di decisione (decision threshold), è opportuno riportare o la soglia di decisione utilizzata nella fase di valutazione, o riportare i risultati per differenti soglie di decisione per gli usi previsti.
Esempio
Consigliamo di guardare i seguenti esempi di cartellini ben curati:
Esempi aggiuntivi, da parte di altre organizzazioni e compagnie, sono disponibili qui.
Nota
Includere il cartellino del modello non è un requisito obbligatorio durante la pubblicazione di un modello, e inoltre non è necessario includere tutte le sezioni elencate in precedenza quando si crea un cartellino. Tuttavia, una documentazione esplicita del modello può solo portare benefici agli utilizzatori futuri, e per questo raccomandiamo di compilare quante piÚ sezioni possibili, al meglio delle proprie conoscenze e capacità .
Metadati del cartellino del modello
Se avete esplorato lâHugging Face Hub, potreste aver notato che alcuni modelli appartengono a determinate categorie: è possibile filtrarli per task, lingue, librerie, ecc. Le categorie a cui appartiene un modello sono identificate in base ai metadati aggiunti nellâintestazione (header) del cartellino.
Prendendo ad esempio il cartellino di camembert-base
, dovreste vedere le seguenti righe nellâintestazione del cartellino:
---
language: fr
license: mit
datasets:
- oscar
---
This metadata is parsed by the Hugging Face Hub, which then identifies this model as being a French model, with an MIT license, trained on the Oscar dataset. Questi metadati vengono elaborati dallâHub di Hugging Face, che identifica questo modello come un modello Francese, con una licenza MIT, addestrato sul dataset Oscar.
La specifica completa dei cartellini permette di riportare lingue, license, tags, datasets, metriche di valutazione, e anche i risultati della valutazione del modello ottenuti durante lâaddestramento.