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