AI ランタイム のユーザーガイド
プレビュー
この機能は パブリック プレビュー段階です。
既存のディープラーニングワークロードを従来のDatabricksクラスターからAIランタイムに移行し、課金利用システムテーブルでGPUの使用状況とコストを追跡し、ノートブックの例や一般的なエラーの修正方法を確認します。
従来の GPU ワークロードを Serverless に移行する
既存のディープラーニング ワークロードを従来の Databricks クラスター (Databricks Runtime 機械学習 使用) からServerless (AI Runtime 使用) に移行する場合は、以下のステップに従ってください。
- クラスター依存のコードを置き換えます。 Spark ベースの分散トレーニングへの参照 (例:
TorchDistributor) を削除し、serverless_gpuの@distributedデコレータに置き換えます。 - データの読み込みを更新します。 直接的な DBFS パスを Unity Catalog ボリュームパス (
/Volumes/...) に置き換えます。ローカルの Spark DataFrame 操作を Spark Connect に置き換えます。ボリュームからファイルベースのデータをストリーミングするには、serverless_gpu.dataのUCVolumeDatasetを使用します。AI ランタイムへのデータの読み込みを参照してください。 - 依存関係を再インストールします。 Databricks Runtime 機械学習 にプリインストールされているライブラリに依存しないでください。必要なすべてのパッケージに対して、明示的な
%pip installコマンドを追加します。 - チェックポイントのパスを更新します。 チェックポイントをDBFSまたはローカルストレージからUnity Catalogボリューム(
/Volumes/<catalog>/<schema>/<volume>/...)に移動します。分散チェックポイント処理には、ローカルNVMeを介してI/Oをステージングするserverless_gpu.dataのUCVolumeWriterおよびUCVolumeReaderを使用します。モデルのチェックポイント処理を参照してください。 - MLflow構成を更新します。 エクスペリメント名には絶対パスを使用し、簡単に再起動できるようにラン名を設定してください。
- 最初にインタラクティブにテストしてください。 ジョブとしてスケジュールする前に、インタラクティブなノートブックでワークロードを検証してください。
使用状況とコストの追跡
課金利用システムテーブル (system.billing.usage) をクエリすることで、AI ランタイム の GPU 利用料金を監視できます。次のクエリーは、Serverless GPU ワークロードの合計使用量を返します。
SELECT
SUM(usage_quantity)
FROM
system.billing.usage
WHERE
product_features.serverless_gpu IS NOT NULL
課金利用テーブルスキーマの情報については、 「課金利用システムテーブルリファレンス」を参照してください。
モデルトレーニング SKU における AI ランタイムの GPU 1 時間あたりの料金は以下のとおりです:
- H100 オンデマンド: $ 7.00/GPU 時間 (米国東部)
- A10 オンデマンド: $ 2.50/GPU 時間 (米国東部)
ノートブックの例
起動に役立つ以下のカテゴリのサンプルノートブックが利用可能です:
カテゴリー | 説明 |
|---|---|
パラメーター効率の高い手法 (LoRA、QLoRA) を含む大規模言語モデルのファインチューニング | |
物体検出、画像分類、およびその他のコンピュータビジョンタスク | |
Two-Tower モデルのような最新のディープラーニング手法を使用したレコメンデーション システムの構築 | |
XGBoost モデルのトレーニングや時系列予測を含む従来の機械学習タスク | |
Serverless GPU API を使用した複数 GPU にわたるトレーニングのスケール |
全リストについては、AI ランタイム サンプルノートブックを参照してください。
トラブルシューティング
Genie Code は、ライブラリのインストール エラーの診断と修正方法の提案に役立ちます。Genie Codeを使用してコンピュート環境エラーをデバッグする」を参照してください。
コンピュート上で対話的にデバッグするには、Webターミナルを使用してシェルコマンドを実行し、nvidia-smiでGPU使用率を調査し、ファイルを管理します。Webターミナルは、Serverless GPU環境バージョン5以上に接続している場合に使用できます。詳しくは、「Databricks Webターミナルでシェルコマンドをランする」を参照してください。
ValueError: numpy.dtype サイズが変更されました。バイナリの非互換性を示している可能性があります。C ヘッダーから 96 を期待していましたが、PyObject から 88 を取得しました
このエラーは通常、依存パッケージのコンパイル時に使用された NumPy のバージョンと、ランタイム環境に現在インストールされている NumPy のバージョンが一致しない場合に発生します。この非互換性は、NumPy の C API の変更が原因で発生することが多く、特に NumPy 1.x から 2.x への移行で顕著に見られます。このエラーは、ノートブックにインストールされている Python パッケージによって NumPy のバージョンが変更された可能性があることを示しています。
推奨ソリューション:
ランタイム内の NumPy バージョンを確認し、パッケージと互換性があることを確認してください。プリインストールされている Python ライブラリに関する情報については、環境 4 および 環境 3 の Serverless GPU コンピュート リリースノートを参照してください。NumPy の異なるバージョンへの依存関係がある場合は、その依存関係をコンピュート環境に追加してください。
torch のインストール時に PyTorch が libcudnn を見つけられない
異なるバージョンの torch をインストールすると、エラー ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory が表示される場合があります。これは、torch がローカルパス内でのみ cuDNN ライブラリを検索するためです。
推奨ソリューション:
torch をインストールする際に --force-reinstall を追加して、依存関係を再インストールします:
%pip install torch --force-reinstall