クラシックな GPU ワークロードをServerlessに移行する
既存のディープラーニング ワークロードをクラシック Databricks クラスター (Databricks Runtime 機械学習) から Serverless (AI Runtime) に移行する場合は、次のステップに従います:
- クラスター依存のコードを置き換えます。 Spark ベースの分散トレーニングへの参照 (
TorchDistributorなど)@distributedserverless_gpuを削除し、 の デコレータに置き換えます。 - データ読み込みの更新。 直接的な DBFS パスを Unity Catalog ボリューム パスに置き換えます (
/Volumes/...)。ローカルの Spark DataFrame 操作を Spark Connect に置き換えます。ボリュームからファイルベースのデータを{ストリーミング}するには、serverless_gpu.dataのUCVolumeDatasetを使用します。AI ランタイムでのデータの読み込みについては、AI ランタイムでのデータの読み込みを参照してください。 - 環境を設定します。 一部の Databricks Runtime 機械学習 プリインストール済みライブラリは AI ランタイム では使用できません。Serverless GPU 環境を設定し、
%pip installを使用してワークロードに必要なパッケージをインストールします。環境の設定を参照してください。 - チェックポイントのパスを更新します。 チェックポイントをDBFSまたはローカルストレージからUnity Catalogボリューム(
/Volumes/<catalog>/<schema>/<volume>/...)に移動します。分散チェックポイント処理には、ローカルNVMe経由でI/Oをステージングする、serverless_gpu.dataのUCVolumeWriterおよびUCVolumeReaderを使用します。モデルのチェックポイント処理を参照してください。 - MLflow の構成を確認してください。 AI ランタイムでは、
.distributed()API が自動的に MLflow のランを作成します。エクスペリメントをカスタマイズするには、絶対パスで設定します。中断されたランを再開するには、ラン名を設定します。MLflow 統合を参照してください。 - Test interactively first. Validate your workload in an interactive ノートブック before scheduling it as a ジョブ.