Visualizzare, gestire e analizzare le esecuzioni di ottimizzazione del modello foundation
Importante
Questa funzionalità è disponibile in anteprima pubblica nelle aree seguenti: centralus
, eastus
, eastus2
, northcentralus
, e westus
.
Questo articolo descrive come visualizzare, gestire e analizzare l'ottimizzazione del modello di base (ora parte di Mosaic AI Model Training) eseguita usando le API o l'interfaccia utente.
Per informazioni sulla creazione di esecuzioni, vedere Creare un'esecuzione di training usando l'API di ottimizzazione del modello foundation e Creare un'esecuzione di training usando l'interfaccia utente di ottimizzazione del modello foundation.
Usare le API di ottimizzazione del modello foundation per visualizzare e gestire le esecuzioni di training
Le API di ottimizzazione del modello foundation forniscono le funzioni seguenti per la gestione delle esecuzioni di training.
Ottenere un'esecuzione
Usare la funzione get()
per restituire un'esecuzione in base al nome o all'oggetto run avviato.
from databricks.model_training import foundation_model as fm
fm.get('<your-run-name>')
Elencare le esecuzioni
Usare la funzione list()
per visualizzare le esecuzioni avviate. Nella tabella seguente sono elencati i filtri facoltativi che è possibile specificare.
Filtro opzionale | Definizione |
---|---|
finetuning_runs |
Elenco di esecuzioni da ottenere. L'impostazione predefinita è la selezione di tutte le esecuzioni. |
user_emails |
Se le esecuzioni condivise sono abilitate per l'area di lavoro, è possibile filtrare i risultati in base all'utente che ha inviato l'esecuzione del training. L’impostazione predefinita è nessun filtro utente. |
before |
Un datetime o una stringa datetime per filtrare le esecuzioni precedenti. L’impostazione predefinita è tutte le esecuzioni. |
after |
Un datetime o una stringa datetime per filtrare le esecuzioni successive. L’impostazione predefinita è tutte le esecuzioni. |
from databricks.model_training import foundation_model as fm
fm.list()
# filtering example
fm.list(before='2023-01-01', limit=50)
Annullare esecuzioni di training
Per annullare una singola esecuzione di training, usare la funzione cancel()
e passare il nome dell'esecuzione.
from databricks.model_training import foundation_model as fm
run_to_cancel = '<name-of-run-to-cancel>'
fm.cancel(run_to_cancel)
Per annullare più esecuzioni di training, passare i nomi specifici delle esecuzioni come elenco.
from databricks.model_training import foundation_model as fm
runs_to_cancel = ['<run_1>, <run_2>, <run_3>']
fm.cancel(runs=runs_to_cancel)
Per annullare tutte le esecuzioni di training in un esperimento, insereire l'ID esperimento.
from databricks.model_training import foundation_model as fm
experiment_to_cancel = '<experiment-id-to-cancel>'
fm.cancel(experiment_id=experiment_to_cancel)
Esaminare lo stato delle esecuzioni di training
Nella tabella seguente sono elencati gli eventi creati da un'esecuzione di training. Usare la funzione get_events()
in qualsiasi momento durante l'esecuzione per visualizzare lo stato dell'esecuzione.
Nota
L'ottimizzazione del modello foundation applica un limite di 10 esecuzioni attive. Queste esecuzioni sono in coda, in esecuzione o completate. Le esecuzioni non vengono più considerate attive dopo che sono nello stato COMPLETATO, NON RIUSCITO o IN PAUSA.
Tipo di evento | Messaggio di evento di esempio | Definizione |
---|---|---|
CREATED |
Esecuzione creata. | È stata creata l'esecuzione del training. Se le risorse sono disponibili, viene avviata l'esecuzione. In caso contrario, entra nello stato Pending . |
STARTED |
Esecuzione avviata. | Le risorse sono state allocate e l'esecuzione è stata avviata. |
DATA_VALIDATED |
Dati di training convalidati. | Convalidato che i dati di training sono formattati correttamente. |
MODEL_INITIALIZED |
Dati del modello scaricati e inizializzati per il modello di base meta-llama/Llama-2-7b-chat-hf . |
I pesi per il modello di base sono stati scaricati e il training è pronto per iniziare. |
TRAIN_UPDATED |
[epoch=1/1][batch=50/56][ETA=5min] Perdita training: 1,71 | Riporta il batch di training corrente, il periodo o il token, il tempo stimato per il completamento del training (non incluso il tempo di caricamento del checkpoint) e la perdita di training. Questo evento viene aggiornato al termine di ogni batch. Se la configurazione di esecuzione specifica max_duration in unità tok , lo stato di avanzamento viene segnalato nei token. |
TRAIN_FINISHED |
Training completato. | Training terminato. Viene avviato il caricamento del checkpoint. |
COMPLETED |
Esecuzione completata. Pesi finali caricati. | Il checkpoint è stato caricato e l'esecuzione è stata completata. |
CANCELED |
Esecuzione annullata. | L'esecuzione viene annullata se fm.cancel() viene richiamata. |
FAILED |
Uno o più esempi di set di dati di training hanno chiavi sconosciute. Consultare la documentazione relativa ai formati di dati supportati. | Esecuzione non riuscita. Verificareevent_message per dettagli interattivi o contattare il supporto tecnico. |
from databricks.model_training import foundation_model as fm
fm.get_events()
Usare l'interfaccia utente per visualizzare e gestire le esecuzioni
Per visualizzare le esecuzioni nell'interfaccia utente:
Cliccare su Esperimenti nella barra di spostamento a sinistra per visualizzare la pagina Esperimenti.
Nella tabella, cliccare sul nome dell'esperimento per visualizzare la pagina dell'esperimento. La pagina dell'esperimento elenca tutte le esecuzioni associate all'esperimento.
Per visualizzare informazioni aggiuntive o metriche nella tabella, cliccare su e selezionare gli elementi da visualizzare dal menu:
Informazioni aggiuntive sulle esecuzioni disponibili nella scheda Grafico:
È anche possibile cliccare sul nome dell'esecuzione per visualizzare la schermata di esecuzione. Questa schermata consente di accedere ad altri dettagli sull'esecuzione.
Checkpoint
Per accedere alla cartella del checkpoint, cliccare sulla scheda Artefatti nella schermata di esecuzione. Aprire il nome dell'esperimento e quindi aprire la cartella checkpoint . Questi checkpoint degli artefatti non corrispondono al modello registrato alla fine di un'esecuzione di training.
In questa cartella sono presenti alcune directory:
- Le cartelle di periodo (denominate
ep<n>-xxx
) contengono i pesi e gli stati del modello in ogni checkpoint Composer. I checkpoint Composer vengono salvati periodicamente tramite il training; questi vengono usati per riprendere un'esecuzione di training di ottimizzazione e continuare l'ottimizzazione. Questo checkpoint è quello usato comecustom_weights_path
per avviare un'altra esecuzione di training da tali pesi, vedere Compilazione su pesi di modello personalizzati. - Nella cartella
huggingface
i checkpoint Hugging Face vengono salvati periodicamente tramite il training. Dopo aver scaricato il contenuto in questa cartella, è possibile caricare questi checkpoint come si farebbe con qualsiasi altro checkpoint Hugging Face usandoAutoModelForCausalLM.from_pretrained(<downloaded folder>)
. checkpoints/latest-sharded-rank0.symlink
è un file che contiene il percorso del checkpoint più recente, che è possibile usare per riprendere il training.
È anche possibile ottenere i checkpoint Composer per un'esecuzione dopo che sono stati salvati usando get_checkpoints(run)
. Questa funzione accetta l'oggetto di esecuzione come input. Se i checkpoint non esistono ancora, viene richiesto di riprovare dopo il salvataggio dei checkpoint.