Guida introduttiva rapida a AI Runtime CLI

Importante

L'interfaccia della riga di comando del runtime di intelligenza artificiale è in versione beta.

Invia il tuo primo job di addestramento con la CLI di AI Runtime in tre passaggi: scrivi un file di configurazione train.yaml, eseguilo con air run, quindi ispeziona l'esecuzione. Prima di iniziare, installare l'interfaccia della riga di comando e configurare l'autenticazione.

Passaggio 1: Scrivere una configurazione YAML

Crea train.yaml una descrizione del carico di lavoro. La configurazione minima richiede un nome dell'esperimento, una specifica di calcolo e un comando. Il comando seguente viene eseguito senza codice locale, quindi è possibile inviare subito la prima esecuzione:

experiment_name: my-first-air-run
compute:
  num_accelerators: 1
  accelerator_type: GPU_1xA10
command: echo "hello AIR!"

Eseguire il proprio codice

Per eseguire uno script di training locale, aggiungere un environment blocco che elenca le dipendenze Python e un code_source blocco che carica il codice locale. Posizionare lo script insieme a train.yaml:

my-project/
├── train.yaml
└── train.py
experiment_name: my-first-air-run
environment:
  version: '4'
  dependencies:
    - torch
    - transformers
compute:
  num_accelerators: 1
  accelerator_type: GPU_1xA10
code_source:
  type: snapshot
  snapshot:
    root_path: .
command: python $CODE_SOURCE_PATH/train.py

Questa configurazione installa le dipendenze elencate, carica la directory corrente (root_path: .) ed esegue train.py su una singola GPU A10. $CODE_SOURCE_PATH fa riferimento al percorso del codice caricato nel nodo remoto. Databricks consiglia di usare questo anziché codificare direttamente un percorso nel codice. environment.version seleziona la versione dell'ambiente GPU serverless ed è facoltativo (l'impostazione predefinita è '4'). Per tutte le versioni disponibili, vedere Versioni dell'ambiente serverless.

Per il riferimento completo dei campi, consulta Riferimento YAML del carico di lavoro.

Passaggio 2: Invia l'avvio

Inviare il carico di lavoro:

air run --file train.yaml

La CLI carica il codice locale (se hai configurato un code_source), invia il job e stampa un ID di esecuzione. Usare tale ID per esaminare, controllare e annullare l'esecuzione nei comandi successivi.

L'invio crea un'esecuzione nell'esperimento MLflow denominato in experiment_name (un esperimento può contenere molte esecuzioni). Questa esecuzione acquisisce le metriche, i parametri, gli artefatti e i log del carico di lavoro, tutti visualizzabili nell'interfaccia utente MLflow dell'area di lavoro. I log sono disponibili anche all'esterno di MLflow: trasmetterli al terminale o a un file oppure scaricarli in un secondo momento con air logs (vedere passaggio 3).

Per controllare i log fino al completamento, aggiungere --watch:

air run --file train.yaml --watch

Passaggio 3: Verificare l'esecuzione

Controllare lo stato:

air get run <run-id>

L'output include collegamenti selezionabili all'esperimento MLflow dell'esecuzione e all'esecuzione di MLflow nell'interfaccia utente dell'area di lavoro.

Trasmettere o scaricare i log:

air logs <run-id>
air logs <run-id> --node 2
air logs <run-id> --download-to ./logs/

I carichi di lavoro distribuiti vengono eseguiti tra più nodi. Per impostazione predefinita, air logs trasmette in streaming dal nodo 0. Per visualizzare i log da un nodo specifico, passare --node. Usare --download-to per scrivere i log in una directory locale invece di trasmetterli in streaming.

Elenca le esecuzioni recenti:

air list runs --limit 10
air list runs --active

Annulla un'esecuzione:

air cancel <run-id>

Modelli comuni

Eseguire l'override dei campi YAML dalla riga di comando:

air run --file train.yaml --override compute.num_accelerators=32 timeout_minutes=120

Convalidare la configurazione senza inviare:

air run --file train.yaml --dry-run

Rendere un invio riprovabile in modo sicuro:

air run --file train.yaml --idempotency-key my-unique-key

Se la stessa chiave è stata usata in precedenza, viene restituita l'esecuzione esistente anziché crearne una nuova.

Risorse aggiuntive