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

Databricks CLI と AI ランタイム を使用する

databricks air CLIは、オンデマンドのServerlessGPUコンピュートプラットフォームであるAI ランタイムでシングルノードおよびマルチノードのGPUワークロードを実行します。YAMLでワークロードのコンピュート、環境、コマンドを定義し、databricks air runでサブミットします。

AI ランタイムは、GPUのプロビジョニングと環境設定を処理し、ランステータス、Log、システムメトリクス、およびMLflowトラッキングを提供します。YAML および CLI ワークフローは、ワークロードの定義、送信、および監視を行うことができるコーディング エージェントと自然に連携します。

CLIを使用して次の操作を行います:

  • ローカル環境から Python アプリケーションを開発し、繰り返します。
  • ソース管理できるYAMLファイルで、繰り返し可能な単一ノードまたはマルチノードのワークロードを定義します。
  • ターミナルまたは自動化された開発ワークフローからワークロードを送信および管理します。

一般的なワークロードには、LLMのファインチューニングとポストトレーニング、分散トレーニング、バッチ推論、Rayアプリケーション、ハイパーパラメータ検索などがあります。

ワークスペースの要件については、 要件を参照してください。ワークロードを送信するには、 クイックスタートに従ってください。

AI ランタイムのDatabricks CLIコマンドは、AI ランタイムワークロードと同じコンプライアンス標準を満たしています。サポートされている標準と例外については、 コンプライアンス セキュリティ プロファイルを参照してください。

注記

databricks air コマンドとワークロード構成は、databricks-air パッケージの従来の Python ベースの air CLI とは異なります。「Python CLI の移行」をご覧ください。

実行可能なサンプルを探索する​

AI ランタイムクックブックには、モデルトレーニング、ファインチューニング、バッチ推論、Ray、ハイパーパラメータ検索の実行可能な Databricks CLI ワークロードが含まれています。各レシピには、ワークロード YAML ファイル、ソースコード、およびそれを実行するための手順が含まれています。

ワークロードのラン方法​

ワークロードYAMLファイル、必要に応じてアプリケーションコード、そしてアプリケーションを起動するコマンドを提供します。ワークロードを送信する場合:

  1. ワークロード定義は、サポートされているスキーマおよび構成の制約に対して検証されます。
  2. code_source が構成されている場合、選択したコードはスナップショットとしてパッケージ化され、upload されます。
  3. 要求された GPU コンピュートと環境は、各ノードで準備されます。
  4. ワークロードYAMLで指定されたコマンドは、各ノードでランします。

送信は、ワークロードを識別するジョブ実行IDを返します。これを使用して、ステータスの確認、Logsと構成の検査、またはワークロードのキャンセルを行います。ジョブランページと MLflow エクスペリメントを表示して、実行の詳細、システムメトリクス、Log、アーティファクトを確認することもできます。

このワークフローは、GPUインフラストラクチャを設定または維持することなく、管理されたGPUプロビジョニング、再現可能な環境セットアップ、および組み込みのオブザーバビリティを提供します。

Workload 構成​

ワークロードYAMLファイルは、次のコンポーネントを記述します。

  • エクスペリメント : ワークロードを追跡する MLflow エクスペリメントおよびラン。
  • 環境 : 使用する管理対象環境、依存関係、または カスタム Docker イメージ。
  • コンピュート : プロビジョニングするアクセラレータのタイプと数。
  • コードソース :ワークロードで使用できるようにするアプリケーションコードのオプションのスナップショット。
  • コマンド : アプリケーションを起動するシェルコマンド。
  • ランタイム設定 : 再試行、タイムアウト、環境変数、シークレット、権限などのオプション。

構成フィールドと例については、 Workload YAML リファレンスを参照してください。

アプリケーションコードをuploadする​

code_sourceを使用して、ワークロードと一緒にアプリケーションファイルをuploadします。AI ランタイムはuploadされたディレクトリをすべてのノードで使用できるようにし、 $CODE_SOURCE_PATHをその場所として設定します。たとえば、次のコマンドはuploadディレクトリから train.pyを実行します。

YAML
command: python "$CODE_SOURCE_PATH/train.py"

現在の作業ツリーをuploadするか、GitのBranchまたはcommitを選択できます。完全な例については、「 クイックスタート」を参照してください。

ワークロードの開発と管理​

開発は通常、このプロセスに従います。

  1. アプリケーションコードとワークロードYAMLをローカルで開発します。
  2. databricks air run --file <file> --dry-runを使用してYAMLをローカルで検証します。
  3. databricks air run --file <file>を使用してワークロードをサブミットします。--watchを追加して、ランが終了するまでLogsをストリームします。
  4. databricks air get、databricks air list、およびdatabricks air logsを使用して、ワークロードとLogsを検査します。
  5. 必要に応じて、databricks air cancel で実行中のワークロードを停止できます。

すべてのコマンドとフラグについては、air コマンド グループを参照してください。

スケジュールされたラン、マルチタスク ワークフロー、または環境全体でのプロモーションの場合、 databricks air convert-to-dabs をバンドルの開始点として使用できます。GPU ワークロードのスケジュールとタスクの作成を参照してください。

MLflowでワークロードを追跡する​

送信された各ワークロードは Databricks ジョブランで表され、MLflow のエクスペリメントによって追跡されます。

  • Databricks ジョブラン : ジョブランページでワークロードのステータス、実行試行、および出力を表示します。
  • MLflowエクスペリメント : 自動的にキャプチャされたシステムメトリクス、ワークロード構成、Logsを含むMLflowランが含まれます。アプリケーションは、MLflow APIs を使用してカスタムパラメーター、メトリクス、アーティファクトをログに記録することもできます。

databricks air get、databricks air logs、databricks air cancelなどのコマンドでは、ジョブランIDを使用します。エクスペリメントの追跡と観察可能性を参照してください。

シングルノードおよび分散ワークロードをラン​

AI ランタイムは、構成されたコマンドをプロビジョニングされた各ノードで1回ランします。分散ワークロードの場合、NUM_NODES、NODE_RANK、LOCAL_WORLD_SIZE、MASTER_ADDR、MASTER_PORTなどの調整変数を提供します。

この実行モデルはフレームワークに依存しません。コマンドは、torchrun、Ray ブートストラップ スクリプト、または別のフレームワーク ランチャーを呼び出すなど、分散フレームワークを起動して構成する必要があります。完全なワークロードについては、「 AI ランタイム クックブック」を参照してください。

AI エージェントの使用​

databricks-ai-runtime エージェントスキルは、Claude Code、Cursor、Codex などの AI エージェントが Databricks CLI を介して AI ランタイムを操作するための手順を提供します。これを使用して、ワークロード YAMLの作成、GPUトレーニングジョブの送信、ランステータスの確認、Logsのストリーム、ランのキャンセルを行います。また、カスタム Dockerイメージのガイダンスも含まれています。

Databricks CLI をインストールして認証を構成した後、次のコマンドを実行します。

Bash
databricks aitools install --skills-only --skills databricks-ai-runtime

プロンプトに従って、AI エージェントとインストール範囲を選択します。インストール オプションについては、aitoolsコマンド グループを参照してください。スキルでカバーされている内容については、AI ランタイムでエージェントスキルを使用するを参照してください。

その他のリソース​