Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
L'interfaccia della riga di comando del runtime di intelligenza artificiale è in versione beta.
Ogni carico di lavoro inviato con air run è sia un'esecuzione del processo Databricks che un'esecuzione MLflow:
- L'esecuzione del job (visibile nella pagina Jobs & Pipelines del workspace) monitora l'esecuzione: stato, risorse di calcolo, tentativi e output del driver.
- L'esecuzione di MLflow tiene traccia dell'esperimento: parametri, metriche, metriche di sistema e artefatti.
Ogni invio crea un'esecuzione del job e un'esecuzione di MLflow. Un nuovo tentativo crea una nuova esecuzione MLflow.
Esperimenti ed esecuzioni
Due campi YAML del carico di lavoro controllano la modalità di visualizzazione dell'esecuzione in MLflow:
experiment_name: my-training # Creates or appends to this MLflow experiment
mlflow_run_name: baseline-lr3e5 # Names the MLflow run for this submission
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
command: torchrun --nproc_per_node=8 train.py
max_retries: 2
-
experiment_name(Obbligatorio): crea un esperimento MLflow con questo nome se non esiste o aggiunge una nuova esecuzione all'esperimento esistente. Un esperimento comprende molte esecuzioni. -
mlflow_run_name(Facoltativo): imposta il nome dell'esecuzione. Se omesso, il nome dell'esecuzione viene impostato per impostazione predefinita sul nome dell'esperimento (experiment_name). -
max_retries(Facoltativo): ogni tentativo di ripetizione è una nuova esecuzione di MLflow nello stesso esperimento, in modo da poter confrontare i tentativi. L'invio originale e i relativi tentativi condividono un'unica esecuzione del job.
Spostarsi tra processi, MLflow e carichi di lavoro precedenti
È possibile passare a un'esecuzione da tre posizioni:
- Processi: la pagina delle esecuzioni dei processi elenca le tue esecuzioni e ogni esecuzione rimanda alla relativa esecuzione e al relativo esperimento in MLflow.
- MLflow: la pagina Esperimenti elenca gli esperimenti MLflow.
-
Carichi di lavoro precedenti:
air get run <job-run-id>stampa collegamenti selezionabili al processo, all'esperimento e all'esecuzione di MLflow dell'esecuzione.air list runselenca le esecuzioni precedenti e consente di filtrare per trovare un'esecuzione specifica.
air get run <job-run-id> # Links to the job, experiment, and MLflow run
air list runs # List previous runs; filter to find a specific run
Metriche di sistema
Le metriche del sistema GPU, CPU e memoria vengono acquisite automaticamente per ogni esecuzione. Non è necessaria alcuna configurazione. Visualizzarli nella scheda Metriche di sistema dell'esecuzione di MLflow.
Registrare le metriche personalizzate
La piattaforma crea l'esecuzione di MLflow ed espone il relativo ID al processo di training tramite la MLFLOW_RUN_ID variabile di ambiente. Utilizza l'API di tracciamento di MLflow per registrare i tuoi parametri, metriche e artefatti in quell'esecuzione.
Nei carichi di lavoro distribuiti (multinodo) ogni nodo condivide la stessa esecuzione di MLflow. Registra i log solo dal processo rank-0, in modo che ogni metrica venga registrata una sola volta:
import os
import mlflow
# Log from rank 0 only; all nodes share the same MLFLOW_RUN_ID.
if os.environ.get("RANK", "0") == "0":
with mlflow.start_run(run_id=os.environ["MLFLOW_RUN_ID"]):
mlflow.log_param("learning_rate", 3e-4)
for step, loss in enumerate(training_losses):
mlflow.log_metric("train_loss", loss, step=step)
Log e artefatti
Trasmettere o scaricare i log di un'esecuzione con air logs:
air logs <job-run-id> # Stream logs from node 0
air logs <job-run-id> --node 2 # Logs from a specific node
air logs <job-run-id> --download-to ./logs/ # Download instead of streaming
I log sono disponibili anche come artefatti nell'esecuzione di MLflow. Per salvare in modo permanente i checkpoint del modello, scrivili in un volume di Unity Catalog. Per i modelli di checkpoint e la gestione dei volumi, vedere Rilevamento e osservabilità dell'esperimento.