クラシックGPUワークロードをサーバーレスに移行する

既存のディープ ラーニング ワークロードを従来の Databricks クラスター (Databricks Runtime ML を使用) からサーバーレス (AI ランタイムを使用) に移動する場合は、次の手順に従います。

  1. クラスターに依存するコードを置き換えます。 Spark ベースの分散トレーニングへの参照 (たとえば、TorchDistributor) を削除し、@distributedから serverless_gpu デコレーターに置き換えます。
  2. データの読み込みを更新します。 直接 DBFS パスを Unity カタログ ボリューム パス (/Volumes/...) に置き換えます。 ローカルの Spark DataFrame 操作を Spark Connect に置き換えます。 ボリュームからファイル ベースのデータをストリーミングする場合は、UCVolumeDatasetのdatabricks.air.dataを使用します。 AI ランタイムでのデータの読み込みを参照してください。
  3. 環境を設定します。 一部のDatabricksランタイムMLプリインストールライブラリはAIランタイムには利用できません。 サーバーレスGPU環境を設定し、ワークロードに必要なパッケージを %pip installでインストールしましょう。 「 環境を設定する」を参照してください。
  4. チェックポイント パスを更新します。 チェックポイントを DBFS またはローカル ストレージから Unity カタログ ボリューム (/Volumes/<catalog>/<schema>/<volume>/...) に移動します。 分散チェックポイント処理の場合は、ローカル NVMe を介して I/O をステージする UCVolumeWriter からのUCVolumeReaderとdatabricks.air.dataを使用します。 詳細は「分散チェックポイント (DCP) を使用したチェックポイント」を参照してください。
  5. MLflowの設定を見直しましょう。 AIランタイムでは、 .distributed() APIが自動的にMLflowを実行します。 実験をカスタマイズするには、絶対パスを設定してください。 中断された実行を再開するには、実行名を設定します。 MLflowが提供するものをご覧ください。
  6. 最初に対話形式でテストします。 ジョブとしてスケジュールする前に、対話型ノートブックでワークロードを検証します。