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