AIランタイム用レガシーPython CLIクイックスタート
このドキュメントは廃止されており、更新されない可能性があります。
databricks-airパッケージでインストールするPythonベースのair CLIは、現在非推奨となっており、積極的なメンテナンスは終了しています。
新規ワークロードには Databricks CLI を使用してください。AIランタイムでのDatabricks CLIの使用を参照してください。
AIランタイムCLIを使用して最初のトレーニングジョブを送信するステップは3つです。train.yamlの設定を書き、air runでそれを実行し、ランを検査します。開始する前に、CLI をインストールして認証を構成してください。
ステップ 1:YAML設定ファイルを作成する
ワークロードを記述するtrain.yamlを作成します。最小限の構成には、エクスペリメント名、コンピュート仕様、およびコマンドが必要です。以下のコマンドはローカルコードなしで実行されるため、すぐに最初のランを送信できます:
experiment_name: my-first-air-run
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "hello AIR!"
自分のコードをランする
ローカルのトレーニングスクリプトをランするには、Pythonの依存関係をリストした environment ブロックと、ローカルコードをuploadする code_source ブロックを追加します。スクリプトを 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
この構成は、リストされた依存関係をインストールし、現在のディレクトリ (root_path: .) を upload し、単一の A10 GPU で train.py を実行します。$CODE_SOURCE_PATHは、リモートノード上のuploadされたコードの場所に解決されます。Databricksでは、パスをハードコードするのではなく、これを使用することをお勧めします。environment.versionはServerless GPU環境バージョンを選択します(defaultは'4')。利用可能な全バージョンについては、環境バージョンを参照してください。
完全なフィールドリファレンスについては、レガシーPython CLI用Workload YAMLリファレンスを参照してください。
ステップ 2: ランの送信
ワークロードの送信:
air run --file train.yaml
CLIはローカルコードをuploadし (code_sourceを構成した場合)、ジョブを送信し、ランIDを出力します。そのIDを使用して、後のコマンドでランを検査、監視、キャンセルします。
提出により、experiment_name に指定された名前の MLflow エクスペリメント内にランが作成されます(1つのエクスペリメントには多数のランを保持できます)。そのランは、ワークスペースの MLflow UI で表示可能な、ワークロードのメトリクス、パラメーター、アーティファクト、および Log をキャプチャします。Logs は MLflow の外部でも使用できます。ターミナルやファイルにストリームしたり、後で air logs で download したりできます(ステップ 3 を参照)。
終了までLogsを監視するには、--watchを追加します:
air run --file train.yaml --watch
ステップ 3: ランの確認
ステータスを確認:
air get run <run-id>
出力には、ワークスペース UI のランのMLflowエクスペリメントおよびMLflowランへのクリック可能なLinkが含まれています。
ログのストリームまたはdownload:
air logs <run-id>
air logs <run-id> --node 2
air logs <run-id> --download-to ./logs/
分散ワークロードは複数のノードでランします。defaultでは、air logsはノード0からストリームします。特定のノードからLogsを表示するには、--nodeを渡します。Logsをストリーミングする代わりにローカルディレクトリに書き込むには、--download-toを使用します。
最近のランを一覧表示:
air list runs --limit 10
air list runs --active
ランのキャンセル:
air cancel <run-id>
一般的なパターン
コマンドラインからYAMLフィールドを上書きする:
air run --file train.yaml --override compute.num_accelerators=32 timeout_minutes=120
送信せずに構成を検証する:
air run --file train.yaml --dry-run
送信を安全に再試行可能にする:
air run --file train.yaml --idempotency-key my-unique-key
同じキーが以前に使用されている場合、新しいキーを作成するのではなく、既存のランが返されます。