Risorse/Addestramento del modello/Test e distribuzione di un modello

Best practice

Archiviazione delle esecuzioni

L'archiviazione nasconde un dataset, una preparazione, un modello o una valutazione dagli elenchi e dai selettori quotidiani senza eliminare nulla, in modo che lo storico di ciò che è stato provato — e del perché ha fallito — rimanga disponibile e possa essere ripristinato.

Capitolo 9Lettura di 4 min3 riferimenti

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.

Archiviazione · reversibile
Attivoin elenchi, selettori e grafici⇄Archiviatonella pagina Archivio; file, pesi e risultati intatti

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.

Eliminazione · permanente
Attivoin elenchi, selettori e grafici→Eliminatorecord e cronologia persi

Niente da ripristinare e niente da cui imparare in seguito: il record di ciò che è stato testato scompare con esso.

L'archiviazione sposta un elemento fuori dalla vista quotidiana e viceversa senza alterarlo. L'eliminazione è l'unica operazione irreversibile.

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.
ArchiviaElimina
Storico conservatoSìNo
Visibile ovunqueNella pagina ArchivioNo
ReversibileSì (Ripristina)No
Conteggiato nella spesaSì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.

Esempio pratico: fare ordine dopo un ciclo di ottimizzazione
  1. Ha addestrato dieci varianti di un modello: tre tassi di apprendimento, due modelli di base e due versioni del dataset.
  2. Le valutazioni mostrano un chiaro vincitore e un secondo classificato molto vicino. Li mantenga entrambi visibili.
  3. Archivi gli altri otto modelli insieme alle loro valutazioni, in modo che il grafico del modello migliore della dashboard confronti solo i candidati attivi.
  4. 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.
  5. 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.

  1. 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.
  2. 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.
  3. 03MLflow TrackingMLflow docs · mlflow.orgUno strumento open-source ampiamente utilizzato per registrare esecuzioni, parametri e risultati.

Trasformate settimane di lavoro esperto in pochi minuti

Scoprite come Scalata si adatta al vostro team, ai vostri dati e ai vostri Controlli.

Contatta il team vendite