メインコンテンツまでスキップ

サーバレス GPU コンピュート

備考

ベータ版

この機能は ベータ版です。

この記事では、 Databricks 上のサーバレス GPU コンピュートについて説明し、推奨される使用例、GPU コンピュート リソースの設定方法のガイダンス、および機能の制限について説明します。

サーバレス GPU コンピュートとは?

サーバレス GPU コンピュ ートは、サーバレス コンピュート オファリングの一部です。 サーバレス GPU コンピュートは、カスタムのシングルノードおよびマルチノード ディープラーニング ワークロードに特化しています。 サーバレス GPU コンピュートを使用すると、お気に入りのフレームワークを使用してカスタムモデルをトレーニングおよび微調整し、最先端の効率、パフォーマンス、品質を得ることができます。

サーバレス GPU コンピュートには、次のものが含まれます。

  • ノートブック、 Unity Catalog、 MLflowにわたる統合されたエクスペリエンス: ノートブックを使用して、コードを対話形式で開発できます。
  • サーバレス GPU コンピュートは A10 をサポートしています
  • ハイパーパラメータ スイープ: ハイパーパラメータスイープファインチューニングを実行できます。
  • マルチノードのサポート: 分散トレーニングワークロードを実行できます。

サーバレス GPU コンピュートにプリインストールされているパッケージは、 Databricks Runtime MLに代わるものではありません。 共通のパッケージは存在しますが、すべての Databricks Runtime ML 依存関係とライブラリがサーバレス GPU コンピュート環境に反映されるわけではありません。

推奨される使用例

Databricks は、トレーニングのカスタマイズと GPU を必要とするあらゆるモデルのトレーニングユースケースに、サーバレス GPU コンピュートを推奨します。

例えば:

  • LLM ファインチューニング
  • コンピュータビジョン
  • レコメンダーシステム
  • 強化学習
  • ディープラーニングベースの時系列予測

必要条件

  • us-west-2 または us-east-1のワークスペース。

インストールされているもの

ノートブック向けサーバレス GPU コンピュートは、アプリケーションの互換性を確保するための安定したクライアント API を提供する環境バージョンを使用します。 これにより、Databricks はサーバーを個別にアップグレードし、ワークロードのコードを変更することなく、パフォーマンスの向上、セキュリティの強化、バグ修正を実現できます。

サーバレス GPU コンピュートは、次のパッケージに加えて、 環境バージョン 3 を使用します。

  • CUDA 12.4
  • torch 2.6.0
  • torchvision 0.21.0

システム環境バージョン 3 に含まれるパッケージについては、 サーバレス環境バージョン 3 を参照してください。

注記

ベース環境 は、サーバレス GPU コンピュートには対応していません。 サーバレス GPU コンピュートを環境に設定するには、 依存関係を [環境] サイド パネルで直接指定 するか、依存関係 pip install します。

環境へのライブラリの追加

サーバレス GPU コンピュート環境にライブラリを追加でインストールすることができます。 「ノートブックに依存関係を追加する」を参照してください。

注記

ノート ブックへの依存関係の追加 に示されているように、[ 環境] パネルを使用した依存関係の追加は、サーバレス GPU コンピュート scheduled ジョブではサポートされていません。

サーバレス GPU コンピュートのセットアップ

ワークステーションのノートブック環境からサーバレス GPU コンピュートの使用を選択できます。

ノートブックを開いた後、次の操作を行います。

  1. 環境アイコン。を選択して、 環境 サイドパネルを開きます。
  2. アクセラレータ フィールドから A10 を選択します。
  3. 環境バージョン として 3 を選択します。
  4. 適用 を選択し、次に、サーバレス GPU コンピュートをノートブック環境に適用することを 確認します 。リソースに接続した後、ノートブックはすぐに利用可能なコンピュートの使用を開始します。
注記

コンピュートへの接続は、60分間操作がないと自動的に終了します。

ジョブの作成とスケジュール

次の手順は、サーバレス GPU コンピュート ワークロードのジョブを作成およびスケジュールする方法を示しています。 詳細については、「 スケジュールされたノートブック ジョブの作成と管理」 を参照してください。

使用するノートブックを開いたら、次の操作を行います。

  1. 右上の [スケジュール] ボタンを選択します。
  2. [ スケジュールの追加 ] を選択します。
  3. 新しいスケジュール フォームに ジョブ名 Schedule _and コンピュート を入力します。
  4. [作成] を選択します。

ジョブ とパイプライン UI からジョブを作成およびスケジュールすることもできます。ステップバイステップのガイダンスについては、「 新しいジョブの作成 」を参照してください。

分散トレーニング

サーバレス GPU Python APIを使用して、複数の GPU やノードにまたがる分散トレーニングを起動できます。シングル GPU ジョブとマルチ GPU ジョブの両方を実行するためのシンプルで統一されたインターフェイスを提供し、GPU プロビジョニング、環境設定、ワークロード分散をバックグラウンドで自動的に処理します。ローカル GPU で作業する場合でも、リモート GPU を使用してノード間でスケールアウトする場合でも、serverless_gpu を使用すると分散実行が簡単になり、コードの変更は最小限で済みます。

たとえば、以下のコードでは、 serverless_gpu を使用して、8 つのリモート A10 GPU に実行する hello_world 関数を分散します。

Python
# Import the distributed decorator
from serverless_gpu import distributed

# Decorate the function with @distributed and specify the number of GPUs, the GPU type, and whether or not the GPUs are remote
@distributed(gpus=8, gpu_type='A10', remote=True)
def hello_world(s: str) -> None:
print('hello_world ', s)

# Trigger the distributed execution of the hello_world function
hello_world.distributed(s='abc')

上記のコードを実行すると、結果とログが エクス ペリメント のセクションに表示されます ワークスペース。

まず 、スターター ノートブック をインポートして API を実際に使用し、 次にノートブックの例 を調べて、実際の分散トレーニング シナリオでどのように使用されるかを確認します。

詳細については、サーバレス GPU Python API のドキュメントを参照してください。

制限

  • サーバレス GPU コンピュートは、A10 または類似のコンピュートのみをサポートします。

  • PrivateLink はサポートされていません。PrivateLink の背後にあるストレージまたは pip リポジトリはサポートされていません。

  • サーバレス GPU コンピュートは、 コンプライアンス セキュリティ プロファイル ワークスペース (HIPPA や PCT など) ではサポートされていません 。 現時点では、規制対象データの処理はサポートされていません。

  • サーバレス GPU コンピュートは、対話型環境でのみサポートされています。

  • サーバレス GPU コンピュートのスケジュールされたジョブ:

    • 1 つのタスクに対してのみサポートされます。
    • ノートブックに関連付けられている互換性のないパッケージ バージョンの自動回復動作はサポートされていません。

ノートブックの例

以下は、さまざまなシナリオでサーバレス GPU コンピュートを使用する方法を示すさまざまなノートブックの例です。

タスク

説明

大規模言語モデル(LLM)

ファインチューニングの例 大規模言語モデル 低ランク適応 (LoRA) や教師ありファインチューニング アプローチなどのパラメーター効率の高い方法が含まれます。

コンピュータビジョン

オブジェクト検出や画像分類などのコンピューター ビジョン タスクの例。

ディープラーニングベースのレコメンダーシステム

2 タワー モデルなどの最新のディープラーニング アプローチを使用してレコメンデーション システムを構築する例。

クラシックML

XGBoost モデルのトレーニングや時系列予測などの従来の機械学習タスクの例。

マルチノード分散トレーニング

サーバレス GPU APIを使用して、複数の GPU とノード間でトレーニングをスケーリングする例 (ハイパーパラメータスイープや分散ファインチューニングなど)。