メインコンテンツまでスキップ

ワークロード YAML リファレンス

備考

プレビュー

この機能は パブリック プレビュー段階です。

databricks air run -f に渡すワークロード YAML 構成で、トレーニングジョブのエクスペリメント名、コンピュート、コマンド、環境、およびコードソースを定義します。このページでは、オンデマンドの A10 および H100 ワークロードの設定について説明します。

注記

CLI は、ワークロード YAML の検証に使用するスキーマと同じスキーマから構成ヘルプを生成します。インストールされているバージョンの完全なフィールド リストを表示するには、databricks air run -h config をランします。セクションごとの詳細については、databricks air run -h config.<section>(例:databricks air run -h config.environment)を使用します。

最小限の構成​

YAML
experiment_name: my-training
environment:
dependencies:
- mlflow
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "Hello World"

送信方法:

Bash
databricks air run -f train.yaml -p profile

基本概念​

必須フィールドにより、エクスペリメント、コンピュートリソース、コマンドが特定されます。オプションのフィールドにより、依存関係、コード、およびランの動作が構成されます。

コア項目​

ほとんどのトレーニング構成には、5つのコンポーネントが含まれます。

  1. experiment_name (必須): MLflowエクスペリメントを作成するか、既存のエクスペリメントに追加します。1〜100文字のASCII文字、数字、ハイフン、またはアンダースコアを使用してください。
  2. environment (オプション): Pythonの依存関係またはベース環境のバージョン。
  3. compute (必須):GPUリソース(タイプおよび数)。
  4. command (必須):トレーニングの起動に使用する、最大1,000行の空ではないシェルコマンドまたはスクリプト。
  5. code_source (任意):リモートで利用可能にするトレーニングコードへのパス。

サポートされている値とフィールドの制約については、リファレンスを参照してください。

初めてのトレーニングジョブ​

YAML
experiment_name: simple-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

この構成では:

  • experiment_name simple-trainingという名前のMLflowエクスペリメントを作成します(または、既に存在する場合は新しい実行を追加します)。
  • environment default 環境を使用し、torchおよびtransformersをインストールします。
  • compute H100ノードを1つ割り当てます(H100 GPU 8基)。
  • code_source フォルダrepoをノードにアップロードし、$CODE_SOURCE_PATHで利用可能です。
  • command train.py を torchrun 経由で 8基のH100 GPUで実行します。/home/username/repo/train.pyにローカルにあります。

一般的なユースケース​

環境変数とシークレットを使用して、スクリプトに値を埋め込まずにトレーニングコードを構成します。

環境変数を追加​

YAML
experiment_name: training-with-env
environment:
dependencies:
- torch
- transformers
env_variables:
BATCH_SIZE: '32'
LEARNING_RATE: '0.001'
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

シークレットを使用する(APIキー、トークン)​

YAML
experiment_name: training-with-secrets
environment:
dependencies:
- torch
- transformers
secrets:
HF_TOKEN: 'my_scope/hf_token'
WANDB_API_KEY: 'my_scope/wandb'
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

シークレットには scope/key 形式を使用し、Databricks シークレットで設定する必要があります。設定については、シークレットの管理を参照してください。変数名を env_variables と secrets の両方に含めることはできません。

YAMLテンプレートを共有する際、他のユーザーは独自のシークレットを作成するか、参照されているシークレットにアクセスできる必要があります。

環境​

environment ブロックを使用して、Serverless GPU 環境を選択し、Python の依存関係をインストールします。例えば、以下の構成では Standard 環境バージョン 4 を選択し、PyTorch と Transformers をインストールします:

YAML
environment:
version: '4'
dependencies:
- torch
- transformers

環境バージョン​

environment.version はオプションであり、ワークロードの管理対象環境バージョンを選択します。

例は次のとおりです。

  • "4" または "5" を使用して、対応する Standard 環境バージョンを使用します。
  • "databricks_ai_v5" Databricks AI 環境バージョン 5 を使用します。これには、ML 固有のパッケージがプレインストールされています。(パッケージの全リスト)

次の例では、Databricks AI環境バージョン5を選択します:

YAML
environment:
version: 'databricks_ai_v5'
dependencies: []

environment.dependencies environment.version を指定する場合はオプションです。追加のパッケージが必要ない場合は、省略するか空のリストを使用します。依存関係を提供する場合は、requirements ファイルへのスカラパスではなく、文字列のリストを使用してください。

AIランタイムで利用可能な環境の詳細については、「環境の設定」を参照してください。

Python の依存関係​

ワークロードのPython依存関係を、environment.dependenciesの下にインラインリストとして記述します。

依存関係の形式

依存関係リストは、Databricksベース環境仕様に従います。各エントリはpip形式のパッケージ指定です(例:my-library==6.1)。リストには、次のエントリも登録できます。

  • 要件ファイル :-r を使用して既存の requirements.txt を参照するもので、たとえば -r '/Workspace/Shared/requirements.txt' があります。環境変数($HOMEなど)は展開されます。
  • ホイール: ファイルへの絶対パス.whl /Workspace/Shared/path/to/simplejson-3.19.3-py3-none-any.whl(例:)。
  • インデックスURL :例えば、--index-url https://pypi.org/simple。
YAML
environment:
version: '4'
dependencies:
- --index-url https://pypi.org/simple
- -r '/Workspace/Shared/requirements.txt'
- my-library==6.1
- /Workspace/Shared/path/to/simplejson-3.19.3-py3-none-any.whl

サポートされているインストールフラグ

依存関係は uv でインストールされます。以下の pip スタイルのフラグがリスト項目としてサポートされています。

  • インストール全体に適用 : --index-url、--extra-index-url、および--find-links(-f)によってパッケージインデックスが設定または拡張されます。
  • 後に続く依存関係に適用 :--no-deps 、 、--no-build-isolation 、および--no-cache-dir --force-reinstall。フラグを単独の行に(または仕様の前に)配置し、その後に適用される依存関係を記述します。

例えば、すでにインストールされているtorchに対してflash-attnをインストールし(ビルド分離なし)、独自の依存関係を解決しない場合は以下のようになります。

YAML
environment:
version: '4'
dependencies:
- torch
- --no-build-isolation
- --no-deps
- flash-attn
注記

--trusted-host サポートされていません。uv はインデックス URL ごとに信頼を構成するため、代わりに --index-url または --extra-index-url を使用してください。

カスタム Dockerイメージ​

管理された環境の代わりとして、environment.unity_catalog_imageを使用してArtifact RegistryからカスタムDockerコンテナーイメージを指定します。この値は、レジストリのホスト名なしで<catalog>.<schema>.<image>:<tag>形式を使用します。environment.unity_catalog_imageは、空の依存関係リストを含めて、environment.dependenciesおよびenvironment.versionの両方と排他的です。

YAML
experiment_name: my-dcs-training
environment:
unity_catalog_image: main.ml.training:v1
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: python /app/train.py

カスタムイメージを使用する前に、ワークスペース内でワークロードの送信に使用する Artifact Registry にそのイメージをプッシュしてください。アーティファクト Registry の起動およびAI ランタイムでのカスタム Docker イメージの使用を参照してください。

ソースコードの操作​

code_source ブロックがローカルコードをアップロードすることで、トレーニングジョブがそれを実行できます。

  • root_path はスナップショットを取得するローカルディレクトリです。git: ブロックがない場合、Databricks CLI は Git の無視ルールを遵守しながら、コミットされていない変更を含めてワークツリーをパッケージ化します。
  • 代わりにコミットされた Git バージョンのスナップショットを作成するには、git: または branch を指定した commit ブロックを追加します。ディレクトリは Git リポジトリ内にある必要があります。root_path がサブディレクトリを指している場合、そのサブツリーのみがパッケージ化されます。
  • 大規模なリポジトリでは、include_paths を使用してサブセットをスナップショットできます。

最小限の例​

YAML
experiment_name: simple-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
command: python $CODE_SOURCE_PATH/train.py

リモートマシンでは、コードは /databricks/code_source/<directory_name> に配置されます。ここで、<directory_name> は root_path の最終パスコンポーネントです。$CODE_SOURCE_PATH はその絶対パスに設定されているため、場所をハードコードするのではなく、コマンドでそれを使用します。

Gitリポジトリ:ブランチまたはコミットによるピン留め​

Git リポジトリの場合は、Branch またはcommit SHAによってコードのバージョンをピン留めするためにgit:ブロックを追加します。branch と commit は排他的です。ブロック内にどちらか一方のみを指定してください。リビジョンがローカルに存在する必要があります。CLI はリモート リポジトリから取得しません。

ブランチにピン留め (そのブランチのローカルHEADを使用します):

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main # Uses local HEAD of main (no remote fetch)
command: bash $CODE_SOURCE_PATH/train.sh

コミットSHAにピン留め(正確な再現性):

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
commit: abc1234567 # Pins specific commit
command: bash $CODE_SOURCE_PATH/train.sh

キーフィールド:

  • root_path (必須):リポジトリへのローカルパス、またはスナップショットを取得するサブディレクトリ。
  • git.branch (オプション):Branch のローカル HEAD を使用します。選択したパス内のコミットされていない変更は、その commit の一部ではないためエラーが発生します。
  • git.commit (オプション):特定のローカルで利用可能なcommitを使用します。コミットされていない変更は含まれません。
  • git.remoteこのフィールドを省略するか、falseに設定します。true またはリモート名を使用したリモートフェッチはサポートされていません。ワークロードを送信する前に、リビジョンをローカルにフェッチしてください。

git: ブロックを省略した場合、Databricks CLI は、コミットされていない変更を含め、無視されるファイルを除外して作業ツリーをパッケージ化します。追加のフィールドは必要ありません。

Gitリポジトリ以外のディレクトリ​

Git リポジトリではないディレクトリのスナップショットを作成できます。git: ブロックを省略します。CLI は、Git の除外ルールを尊重しながらディレクトリをパッケージ化します。ワーキングツリーと Git ピン留めされたスナップショットの両方で、スナップショットキャッシュキーが変更されていない場合にuploadされたアーカイブを再利用できます。

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/my_project
command: python $CODE_SOURCE_PATH/train.py

フォルダ フィルタリング include_paths​

大規模なモノレポでは、アップロードとダウンロードの時間、およびスナップショットのサイズを削減するため、特定のフォルダーのみをスナップショットしてください:

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
include_paths:
- research/models
- research/common
- research/configs
command: python $CODE_SOURCE_PATH/research/models/launch_training.py

キーポイント:

  • このフィールドはオプションです。省略した場合、CLI は上記で説明したスナップショット モードを使用して root_path 以下のファイルを選択します。空のリストを設定しないでください。
  • パスは root_path からの相対パスにする必要があり、先頭に / を含めないようにしてください。
  • .. 許可されていません。親ディレクトリを参照することはできません。

スナップショットをボリュームにupload​

defaultでは、CLI はスナップショットをワークスペースにuploadします。代わりに Unity Catalog ボリュームを使用するには、code_source.snapshot.remote_volume に /Volumes/ で始まるパスを設定します。

YAML
code_source:
type: snapshot
snapshot:
root_path: .
remote_volume: /Volumes/main/ml/training-code

ボリュームへのアクセス権と、そこにファイルを書き込むための権限が必要です。

高度な機能​

次のフィールドを使用して、トレーニングパラメーター、リトライ動作、コスト配分を構成します。

カスタム ハイパーパラメーター​

HYPERPARAMETERS_PATH を介してトレーニング用スクリプトに構造化された設定を渡す:

YAML
experiment_name: parameterized-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py
parameters:
model:
name: 'gpt2'
hidden_size: 768
training:
batch_size: 32
learning_rate: 0.0001

スクリプトで読み取ります。

Python
import os
import yaml

with open(os.environ['HYPERPARAMETERS_PATH']) as f:
params = yaml.safe_load(f)

learning_rate = params['training']['learning_rate']
model_name = params['model']['name']

ジョブの信頼性​

YAML
experiment_name: reliable-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py
max_retries: 2
timeout_minutes: 90

max_retries: 2 初回試行後に最大 2 回の再試行が許可されます。The default is 3.再試行を無効にするには、max_retries: 0 を設定します。

timeout_minutes: 90 送信されたジョブランに 90 分のタイムアウトを設定します。再試行ごとに個別の 90 分間のバジェットが割り当てられるわけではありません。値は 1 以上である必要があります。省略した場合は、バックエンドのdefaultが適用されます。

コストアトリビューション​

usage_policy_name を使用して、ワークロードを既存の Serverless 使用ポリシーにアタッチします。ワークロードの起動時に、名前がポリシーの ID に解決されます。または、usage_policy_id を既存のポリシーの UUID に設定します。これらのフィールドは相互に排他的です。ポリシー名には1~127文字を使用する必要があります。セットアップについては、Serverless使用ポリシーでの属性の使用を参照してください。

YAML
experiment_name: my-training
environment:
dependencies:
- mlflow
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "Hello World"
usage_policy_name: my team policy

リファレンス​

このページで説明されているオンデマンド・ワークロードのフィールドとGPU構成には、以下の表を使用してください。インストールされているCLIで受け付けられる完全なスキーマを確認するには、databricks air run -h configを実行してください。

コアフィールドリファレンス​

フィールド

Type

説明

例

experiment_name

string

必須の MLflow エクスペリメント名。1 ~ 100 文字の ASCII 文字、数字、ハイフン、またはアンダースコア。

"my-training-job"

mlflow_artifact_location

string

ランによって記録されたMLflowアーティファクトのルート場所。オプション。

/Volumes/main/default/mlflow-artifacts/my-training

environment.dependencies

list

依存関係仕様のオプションのリスト。

["torch", "transformers"]

environment.version

文字列または整数

マネージド環境バージョン。オプション。省略した場合は default が使用されます。環境のバージョンを参照してください。

"4"、"5"、 "databricks_ai_v5"

compute.num_accelerators

int

GPU の数。選択した compute.accelerator_type のノードあたりの GPU 数の倍数である必要があります。

1、4、 8

compute.accelerator_type

string

GPUタイプやノード形状を含むアクセラレータ構成。サポートされている GPU 構成を参照してください。

"GPU_1xA10"、"GPU_1xH100"、 "GPU_8xH100"

code_source

辞書

コードソース構成。

ソースコードの操作を参照してください。

command

string

最大 1,000 行の、必須かつ空ではないシェルコマンドまたはスクリプト。

torchrun --nproc_per_node=8 train.py

フィールド

Type

説明

例

experiment_name

string

必須の MLflow エクスペリメント名。1 ~ 100 文字の ASCII 文字、数字、ハイフン、またはアンダースコア。

"my-training-job"

mlflow_artifact_location

string

ランによって記録されたMLflowアーティファクトのルート場所。オプション。

/Volumes/main/default/mlflow-artifacts/my-training

environment.dependencies

list

依存関係仕様のオプションのリスト。

["torch", "transformers"]

environment.version

文字列または整数

マネージド環境バージョン。オプション。省略した場合は default が使用されます。環境のバージョンを参照してください。

"4"、"5"、 "databricks_ai_v5"

compute.num_accelerators

int

GPU の数。選択した compute.accelerator_type のノードあたりの GPU 数の倍数である必要があります。

1、4、 8

compute.accelerator_type

string

GPUタイプやノード形状を含むアクセラレータ構成。サポートされている GPU 構成を参照してください。

"GPU_1xA10"、"GPU_1xH100"、 "GPU_8xH100"

code_source

辞書

コードソース構成。

ソースコードの操作を参照してください。

command

string

最大 1,000 行の、必須かつ空ではないシェルコマンドまたはスクリプト。

torchrun --nproc_per_node=8 train.py

サポートされているGPU構成​

CLIは、アクセラレータ名を大文字と小文字を区別して一致させます。可用性とクォータはワークスペースによって異なります。

accelerator_type

ノードあたりのGPU

num_accelerators 要件

注

GPU_1xA10

1

任意の正の整数

シングルA10は、開発および小規模なワークロードに適しています。

GPU_1xH100

1

1

単一のH100。

GPU_8xH100

8

8の正の倍数

H100フルノード。分散トレーニングの一般的な構成です。

GPU_8xB300

8

8の正の倍数

フル B300 ノード、GPU ごとに 288 GB の HBM。パブリックプレビュー。AWSのみ。

accelerator_type

ノードあたりのGPU

num_accelerators 要件

注

GPU_1xA10

1

任意の正の整数

シングルA10は、開発および小規模なワークロードに適しています。

GPU_1xH100

1

1

単一のH100。

GPU_8xH100

8

8の正の倍数

H100フルノード。分散トレーニングの一般的な構成です。

GPU_8xB300

8

8の正の倍数

フル B300 ノード、GPU ごとに 288 GB の HBM。パブリックプレビュー。AWSのみ。

アクセラレータの機能と推奨されるユースケースについては、ハードウェアオプションを参照してください。

compute.num_accelerators は、ワークロードの GPU 合計数です。選択した compute.accelerator_type のノードあたりの GPU 数の倍数である必要があります。

任意フィールド​

これらのフィールドは、必要なエクスペリメント、コンピュート、コマンドに加えてランを構成します:

フィールド

Type

制約と動作

env_variables

文字列のマップ

プレーンな環境変数。secrets に名前を重複して含めることはできません。

secrets

文字列のマップ

scope/key シークレット参照にマップされた環境変数名。

parameters

map

HYPERPARAMETERS_PATH を介して公開される、自由形式のネストされたトレーニングパラメーター。

max_retries

整数

負ではない再試行回数。3 にdefault。再試行を無効にするには、 0 に設定します。

timeout_minutes

整数

ジョブのラン タイムアウト(分単位)。1以上である必要があります。省略した場合は、バックエンドの default が適用されます。

idempotency_token

string

送信内容を重複排除するための、64文字以下の空ではないトークン。--idempotency-keyフラグが優先されます。

mlflow_run_name

string

1〜100文字のASCII文字、数字、ハイフン、またはアンダースコアで構成されるラン名。default は experiment_name です。

mlflow_experiment_directory

string

MLflow エクスペリメントのワークスペース ディレクトリ。/Workspace で始まる必要があります。必要に応じて、CLI がディレクトリを作成します。

mlflow_artifact_location

string

dbfs:/ URI または /Volumes/ パスとしてのアーティファクトルート。CLI は /Volumes/ パスを dbfs:/Volumes/ URI に正規化します。

permissions

オブジェクトのリスト

各付与には、空でない level と、user_name、group_name、または service_principal_name のいずれか 1 つが正確に必要です。アクセス許可レベルはワークスペースによって検証されます。

usage_policy_name

string

1~127文字の既存の使用ポリシー名。usage_policy_id と相互に排他的です。

usage_policy_id

string

既存の使用ポリシーの UUID。usage_policy_nameと相互に排他的です。

フィールド

Type

制約と動作

env_variables

文字列のマップ

プレーンな環境変数。secrets に名前を重複して含めることはできません。

secrets

文字列のマップ

scope/key シークレット参照にマップされた環境変数名。

parameters

map

HYPERPARAMETERS_PATH を介して公開される、自由形式のネストされたトレーニングパラメーター。

max_retries

整数

負ではない再試行回数。3 にdefault。再試行を無効にするには、 0 に設定します。

timeout_minutes

整数

ジョブのラン タイムアウト(分単位)。1以上である必要があります。省略した場合は、バックエンドの default が適用されます。

idempotency_token

string

送信内容を重複排除するための、64文字以下の空ではないトークン。--idempotency-keyフラグが優先されます。

mlflow_run_name

string

1〜100文字のASCII文字、数字、ハイフン、またはアンダースコアで構成されるラン名。default は experiment_name です。

mlflow_experiment_directory

string

MLflow エクスペリメントのワークスペース ディレクトリ。/Workspace で始まる必要があります。必要に応じて、CLI がディレクトリを作成します。

mlflow_artifact_location

string

dbfs:/ URI または /Volumes/ パスとしてのアーティファクトルート。CLI は /Volumes/ パスを dbfs:/Volumes/ URI に正規化します。

permissions

オブジェクトのリスト

各付与には、空でない level と、user_name、group_name、または service_principal_name のいずれか 1 つが正確に必要です。アクセス許可レベルはワークスペースによって検証されます。

usage_policy_name

string

1~127文字の既存の使用ポリシー名。usage_policy_id と相互に排他的です。

usage_policy_id

string

既存の使用ポリシーの UUID。usage_policy_nameと相互に排他的です。

環境設定

YAML
environment:
version: '4'
dependencies:
- torch
- transformers
env_variables:
BATCH_SIZE: '32'
secrets:
HF_TOKEN: 'my_scope/hf_token'

環境バージョン、依存関係の形式、サポートされているインストールフラグについては、環境を参照してください。

カスタムDockerイメージ

YAML
environment:
unity_catalog_image: main.ml.training:v1

このフィールドは、environment.dependencies および environment.version と相互に排他的です。使用する前に、アーティファクトをArtifact Registryにプッシュしてください。AIランタイムでのカスタムDockerイメージの使用をご覧ください。

ラン権限

1 エントリにつき 1 つのプリンシパルを使用して、送信されたジョブへのアクセス権を付与します。例:

YAML
permissions:
- group_name: training-team
level: CAN_VIEW
- user_name: trainer@example.com
level: CAN_MANAGE

MLflow エクスペリメント ディレクトリ

共有ワークスペースディレクトリにエクスペリメントを保存します:

YAML
mlflow_experiment_directory: /Workspace/Shared/training-experiments

ソースコード構成

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo # REQUIRED — local path to repo or directory
git: # Optional (git repos only) — pin to a branch or commit
branch: main # Uses the branch's local HEAD
# commit: abc1234567 # Mutually exclusive with 'branch'
remote: false # Optional; remote fetching is not supported
include_paths: # Optional — filter included paths
- src/
- configs/

フィールドの制約:

  • git.branch とgit.commitは相互に排他的です: git:ブロック内でいずれか1つを指定します。
  • git.remote を省略するか、false に設定します。CLIは、リモートからリビジョンを取得しません。
  • git: ブロックを省略した場合、選択したファイルのコミットされていない変更を含め、Git の無視ルールを遵守しながら作業ツリーがパッケージ化されます。

カスタム パラメーター

HYPERPARAMETERS_PATH を介してワークロードに渡されるもの:

YAML
parameters:
model:
name: 'gpt2'
hidden_size: 768
training:
batch_size: 32

MLflow実行名

1 ~ 100 文字の ASCII 文字、数字、ハイフン、またはアンダースコアを使用してください。省略した場合、ラン名は experiment_name に default 設定されます。

YAML
mlflow_run_name: 'experiment-001-baseline'

MLflowアーティファクトの場所

MLflowエクスペリメントのアーティファクトをカスタムルートの場所に保存するには、mlflow_artifact_location を設定します。このフィールドを省略した場合、新しいエクスペリメントは dbfs:/databricks/mlflow-tracking/<experiment-id>/... などの default DBFS の場所を使用します。

YAML
mlflow_artifact_location: /Volumes/main/default/mlflow-artifacts/my-training

DBFS アクセスが制限されている場合、または Unity Catalog を優先する場合は、/Volumes/<catalog>/<schema>/<volume>/... パスまたは同等の dbfs:/Volumes/<catalog>/<schema>/<volume>/... URI を指定します。Databricks CLI は、/Volumes パスを MLflow が使用する dbfs: URI に変換します。

各エクスペリメントに固有の場所を使用してください。MLflowエクスペリメントのアーティファクトの場所は、エクスペリメントの作成時に固定されます。experiment_name が既存のエクスペリメントを識別する場合、mlflow_artifact_location はそのアーティファクトの場所と一致しているか、省略されている必要があります。別の場所を使用するには、新しいエクスペリメント名を指定してください。

パスの解決​

相対的な code_source.snapshot.root_path の値は、ワークロード YAML ファイルのディレクトリからの相対パスとして解決されます。include_paths のエントリは root_path から解決されます。command 内のパスは、ローカルマシンではなくリモートランタイム上のファイルを指します。uploadされたコードを参照するには、$CODE_SOURCE_PATH を使用します。

フォルダ構造:

Text
/home/username/my-project/
├── train.yaml
└── scripts/
└── train.py

YAML 設定:

YAML
experiment_name: my-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: . # Relative to train.yaml
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/scripts/train.py