Cos'è
Il lavoro sui modelli è sperimentale. Un ciclo tipico prova diversi tassi di apprendimento, un paio di modelli di base e alcune versioni del dataset, per poi valutare ogni risultato, a volte più di una volta. Dopo alcune settimane ci sono decine di esecuzioni, e solo una o due sono rilevanti per le attività quotidiane. Il resto ingombra ogni elenco e ogni selettore, rendendo facile selezionare per errore il modello sbagliato.
Eliminarli è allettante, ma distrugge l'informazione più utile che un esperimento produce: cosa è stato provato e perché ha fallito. Quello storico è ciò che impedisce a un team di rieseguire la stessa idea fallimentare tre mesi dopo. L'archiviazione rappresenta il compromesso ideale: l'elemento rimane intatto, ma scompare dalla vista quotidiana.
Archivia e Ripristina si limitano a nascondere e mostrare l'elemento. I costi includono ancora l'elemento e la sua discendenza è ancora visibile nei modelli creati a partire da esso.
Niente da ripristinare e niente da cui imparare in seguito: il record di ciò che è stato testato scompare con esso.
Come funziona
- Nascosto, non modificato. L'archiviazione nasconde l'elemento e annota quando e da chi è stato archiviato. Non viene eliminato o riscritto nulla: i file di dati, i processi del provider, i pesi addestrati e le risposte di valutazione rimangono com'erano.
- Fuori da elenchi e selettori. Un dataset archiviato non viene proposto per una nuova preparazione dei dati; una preparazione archiviata non viene proposta per l'addestramento; un modello archiviato non appare nelle chat di Addestramento, Valutazione o Test e non può essere il punto di partenza per un addestramento continuo. Nemmeno un vecchio link può avviare un processo da un elemento archiviato.
- Fuori dai grafici, ma non dalla fatturazione. La dashboard esclude i modelli e le valutazioni archiviati dalla classifica e dai grafici di qualità, mostrando quanti elementi sono stati archiviati. La spesa li conteggia comunque, poiché il denaro è stato speso in ogni caso.
- Leggibile e ripristinabile. Dalla pagina Archivio, un elemento archiviato si apre esattamente com'era, con un banner e un pulsante Ripristina. Una volta ripristinato, l'elemento torna in ogni elenco senza alcuna modifica.
- Non durante l'esecuzione. Un processo di addestramento, una preparazione dei dati in corso o una valutazione in fase di giudizio non possono essere archiviati. È necessario prima completarli o annullarli.
| Archivia | Elimina | |
|---|---|---|
| Storico conservato | Sì | No |
| Visibile ovunque | Nella pagina Archivio | No |
| Reversibile | Sì (Ripristina) | No |
| Conteggiato nella spesa | Sì | No |
La discendenza rimane intatta
I modelli sono spesso costruiti l'uno sull'altro: un'esecuzione di preferenza continua da un'esecuzione supervisionata, che a sua volta continuava da una precedente. Archiviare un elemento padre lo nasconde dai selettori, non dalla cronologia. Un modello continuato da un modello archiviato mostra ancora da dove proviene, e la sua valutazione viene ancora confrontata con quel padre. Questo è lo stesso principio utilizzato dai team di ricerca per la riproducibilità: conservare l'intero percorso dai dati al risultato, anche per gli esperimenti che non hanno avuto successo.
- Ha addestrato dieci varianti di un modello: tre tassi di apprendimento, due modelli di base e due versioni del dataset.
- Le valutazioni mostrano un chiaro vincitore e un secondo classificato molto vicino. Li mantenga entrambi visibili.
- Archivi gli altri otto modelli insieme alle loro valutazioni, in modo che il grafico del modello migliore della dashboard confronti solo i candidati attivi.
- La versione più vecchia del dataset è stata sostituita da una migliore. Archivi anch'essa e le sue preparazioni, affinché nessuno vi effettui addestramenti per errore.
- Tre mesi dopo qualcuno chiede: “Abbiamo provato un tasso di apprendimento più alto?” L'Archivio contiene l'esecuzione, le sue impostazioni e la valutazione che mostra perché ha perso.
Quando invece eliminare
Archiviare per impostazione predefinita; eliminare in modo deliberato. L'eliminazione ha senso quando conservare l'elemento rappresenta di per sé un problema — ad esempio, un dataset che non avrebbe mai dovuto contenere determinati dati personali. Si noti che l'archiviazione non interrompe i costi che continuano in autonomia, come un'implementazione dedicata: questi devono essere terminati separatamente.
Errori comuni
- Eliminare le esecuzioni fallite e ripetere in seguito lo stesso esperimento perché nessuno ricorda che non aveva funzionato.
- Archiviare un modello ma non le sue valutazioni, in modo che la dashboard continui a classificarlo.
- Lasciare visibili i dataset superati, cosicché una nuova esecuzione venga addestrata per errore sulla vecchia versione.
- Aspettarsi che gli elementi archiviati scompaiano dalla spesa: il denaro è stato speso in ogni caso.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)Pineau et al., 2020 · arXiv · arxiv.orgPerché è importante conservare l'intero storico degli esperimenti, inclusi quelli falliti.
- 02Hidden Technical Debt in Machine Learning SystemsSculley et al., 2015 · NeurIPS · papers.nips.ccIl classico articolo su come i sistemi di ML accumulano complessità nascosta, inclusi esperimenti non tracciati e dipendenze dai dati.
- 03MLflow TrackingMLflow docs · mlflow.orgUno strumento open-source ampiamente utilizzato per registrare esecuzioni, parametri e risultati.