コンピュートの管理

この項では、Oracle AI Data Platformでコンピュート・クラスタを作成、変更または削除する基本的な機能について説明します。

計算クラスタについて

全目的のコンピュート・クラスタは、Oracle AI Data Platformインスタンスでワークロードを処理するためのコンピュート・リソースを提供します。

コンピュート・クラスタは、AIデータ・プラットフォームのコンピュート・ページから管理します。


「コンピュート」が左ペインに強調表示された「AIデータ・プラットフォーム・コンピュート」ページ

コンピュートのタイプ

AIデータ・プラットフォームには、全目的コンピュート・クラスタとデフォルトのマスター・カタログ・コンピュート・クラスタの2つのタイプのコンピュートが存在します。

AIデータ・プラットフォームで作成できるのは、全目的コンピュート・クラスタのみです。オールパーパス・コンピュート・クラスタは多用途のワークロードに適しており、ノートブックにアタッチしてワークフローで使用できます。特に指定がないかぎり、ドキュメント内の「コンピュート・クラスタ」または「クラスタ」への参照はすべて、目的のコンピュート・クラスタを指します。

すべての目的のコンピュート・クラスタを新規に作成する場合は、クイックスタート構成またはカスタム構成のいずれかを選択できます。クイックスタート構成は高速起動を提供するように最適化されていますが、カスタム構成では、処理に必要な特定のワークロードに合せて、すべての目的のコンピュート・クラスタを微調整できます。「クイックスタート」構成オプションと「カスタム」構成オプションの両方で、コスト予測を表示し、アイドル・タイムアウト・オプションを変更できます。

ノート:

カスタム・ライブラリをクイックスタート構成にインストールすると、すべての目的コンピュート・クラスタが自動的にカスタム構成に変更されます。これは、起動のパフォーマンスに影響する可能性があります。

デフォルトのマスター・カタログ・コンピュート・クラスタは、すべてのAIデータ・プラットフォーム・インスタンスに存在します。このクラスタは、検索クロール、カタログ・オブジェクトのリフレッシュ、オブジェクトの作成、編集および削除、接続のテストなど、重要なAIデータ・プラットフォーム機能を担当します。

クラスタ・ランタイム

すべての目的のコンピュート・クラスタは、Apache Spark 3.5ランタイムで作成できます。ランタイム環境は次のものと互換性があります。

  • Spark 3.5.0
  • デルタ3.2.0 (含まれている)
  • Python 3.11
  • Scala 2.12
  • Hadoop 3.3.4
  • Java 17

コンピュート構成のエクスポートおよびインポート

コンピュート・クラスタを作成したら、そのクラスタに構成した設定をワークスペースまたはカタログ内のボリュームにエクスポートして、他のクラスタで再度使用できます。保存した構成は、他の作成済クラスタにインポートするか、作成プロセスの一部としてインポートできます。

構成を保存したワークスペースまたはボリュームにアクセスできる他のユーザーが構成を使用できるため、チーム間で構成を簡単に共有できます。

クイックスタート・クラスタの作成

Oracle AI Data PlatformでデータおよびAIワークロードを処理するための事前構成済の設定を含むオールパーパス・コンピュート・クラスタの作成を選択できます。

クイックスタート構成は、1つのドライバと最大10人のワーカーで構成されるApache Sparkクラスタで、それぞれにAMD 2 OCPUと32 GBのメモリーがあります。クイックスタート構成では、自動スケーリングがデフォルトで有効になっています。クラスタを常にアクティブにするように設定するか、クラスタが自動的に停止する(アイドル・タイムアウト)までの非アクティブな間隔を設定できます。停止したクラスタは、アタッチされたワークフローまたはノートブックによってコールされると再開されます。

クラスタは、作成後いつでも編集できます。

  1. 左側のナビゲーション・パネルで「作成」をクリックし、「コンピュート」をクリックします。ワークスペースに移動して「コンピュート」をクリックし、「Create cluster」アイコン 「クラスタの作成」をクリックすることもできます。

    「Quickstart radial」オプションが選択された状態で「Create cluster」ダイアログが開きます

  2. クラスタを識別するための名前と説明を指定します。
  3. 「ランタイム・バージョン」を選択します。
  4. クラスタ構成として「クイックスタート」を選択します。
  5. ワーカーの数が静的か自動的にスケーリングかを選択します。クイックスタート構成では、自動スケーリングがデフォルトで有効になっています。
  6. 「実行期間」で、設定した非アクティブ期間後にクラスタの実行を停止するかどうかを選択します。「アイドル・タイムアウト」を選択した場合は、クラスタがタイムアウトするまでのアイドル時間を分単位で指定します。
  7. 「作成」をクリックします。

カスタム・クラスタの作成

Oracle AI Data PlatformでデータおよびAIワークロードを処理するために独自の構成設定を使用して、全目的のコンピュート・クラスタを作成できます。

カスタム・クラスタは、ニーズにあわせて構成オプションの全範囲を活用する上級ユーザーを対象としています。処理するワークロードに最適なドライバおよびワーカー・オプションを選択する必要があります。クラスタを常にアクティブにするように設定するか、クラスタが自動的に停止する(アイドル・タイムアウト)までの非アクティブな間隔を設定できます。停止したクラスタは、アタッチされたワークフローまたはノートブックによってコールされると再開されます。

クラスタは、作成後いつでも編集できます。

  1. 左側のナビゲーション・パネルで「作成」をクリックし、「コンピュート」をクリックします。ワークスペースに移動して「コンピュート」をクリックし、「Create cluster」アイコン 「クラスタの作成」をクリックすることもできます。

    「Custom radial」オプションが選択された状態で「Create compute cluster」ダイアログが開きます

  2. 「Create method」で、「Configure a new cluster」を選択します。
  3. クラスタを識別するための名前と説明を指定します。
  4. 「ランタイム・バージョン」を選択します。
  5. クラスタ構成として「カスタム」を選択します。
  6. クラスタのドライバ・オプションを選択します。
  7. クラスタのワーカー・オプションを選択します。これらのオプションは、すべてのクラスタ・ワーカーに適用されます。
  8. 就業者数が静的か自動的にスケーリングかを選択します。
    • [固定額]の場合は、従業員数を指定します。
    • 「自動スケール」の場合は、クラスタがスケーリングできるワーカーの最小数および最大数を指定します。
  9. 「実行期間」で、設定した非アクティブ期間後にクラスタの実行を停止するかどうかを選択します。「アイドル・タイムアウト」を選択した場合は、クラスタがタイムアウトするまでのアイドル時間を分単位で指定します。
  10. 「作成」をクリックします。

インポートされた構成を使用したクラスタの作成

Oracle AI Data Platformの既存のコンピュート・クラスタからエクスポートされた構成設定を使用して、全目的のコンピュート・クラスタを作成できます。

エクスポートされたYAMLファイルから設定をインポートすると、同じ設定でクラスタをすばやくレプリケートできます。YAMLファイルは、AI Data Platformワークスペースまたは共有ボリュームからインポートできます。

クラスタは、作成後いつでも編集できます。

  1. 左側のナビゲーション・パネルで「作成」をクリックし、「コンピュート」をクリックします。ワークスペースに移動して「コンピュート」をクリックし、「Create cluster」アイコン 「クラスタの作成」をクリックすることもできます。
  2. 「メソッドの作成」で、「エクスポートされた構成の使用」を選択します。
  3. 「構成ファイル」ドロップダウン・メニューから、新しいクラスタに使用するエクスポートされた構成を選択します。ランタイム、ライブラリおよび環境設定は、インポートされたファイルによって事前に入力されます。
  4. クラスタを識別するための名前と説明を指定します。
  5. 必要に応じて、残りの設定を変更します。
  6. 「作成」をクリックします。

NVIDIA GPUクラスタの作成

All Purpose ComputeクラスタでNVIDIA GPUを使用して、統合AIおよびデータ・パイプラインのあらゆるワークロードを加速することもできます。

NVIDIA GPUシェイプでは、次の構成が使用されます:

表9-1 NVIDIA GPUシェイプ

GPU数 OCPU ブロック・ストレージ(GB) GPUメモリ(GB) CPUメモリ(GB)
1 15 1500 24 240
2 30 3000 48 480

ノート:

NVIDIA GPUシェイプを使用する場合、ドライバ・シェイプとワーカー・シェイプの両方がNVIDIA GPUである必要があります。現在、同じクラスタでのCPUシェイプとGPUシェイプの混在はサポートされていません。
  1. 左側のナビゲーション・パネルで「作成」をクリックし、「コンピュート」をクリックします。ワークスペースに移動して「コンピュート」をクリックし、「Create cluster」アイコン 「クラスタの作成」をクリックすることもできます。

    「Custom radial」オプションが選択された状態で「Create compute cluster」ダイアログが開きます

  2. クラスタを識別するための名前と説明を指定します。
  3. 「ランタイム・バージョン」を選択します。
  4. クラスタ構成として「カスタム」を選択します。
  5. クラスタ・ドライバ・オプションの場合:
    • 「ドライバ・シェイプ」として「NVIDIA GPU」を選択します。
    • GPU数として1または2を選択します。
  6. クラスタ・ワーカー・オプションの場合:
    • ワーカー・シェイプとして「NVIDIA GPU」を選択します。
    • GPU数として1または2を選択します。
  7. 就業者数が静的か自動的にスケーリングかを選択します。
    • [固定額]の場合は、従業員数を指定します。
    • 「自動スケール」の場合は、クラスタがスケーリングできるワーカーの最小数および最大数を指定します。
  8. 「実行期間」で、設定した非アクティブ期間後にクラスタの実行を停止するかどうかを選択します。「アイドル・タイムアウト」を選択した場合は、クラスタがタイムアウトするまでのアイドル時間を分単位で指定します。
  9. 「作成」をクリックします。

Apache Spark用のNVIDIA GPUクラスタのチューニング

GPUプロバイダの推奨事項を使用し、オプションのライブラリをインストールすることで、NVIDIA GPUクラスタをチューニングしてパフォーマンスを最適化できます。

GPUクラスタをチューニングすると、Oracle AI Data Platformのジョブによってコールされたときに、これらのクラスタのパフォーマンスを最適化できます。

NVIDIA GPUベースのクラスタの場合は、NVIDIAのチューニング・ガイドに従って、パフォーマンスを最適化するために実行できる推奨事項とステップを確認できます。

最適化を支援するために、Apache Sparkライブラリ用のNVIDIA cuDFおよびcuMLプラグインをインストールするオプションもあります。

  • cuDF plugin for Apache Sparkライブラリは、Apache Sparkのアクセラレータであり、GPUを利用して処理を高速化する一連のプラグインを提供しています。
  • cuML plug-in for Apache Sparkライブラリは、Apache Spark上でGPUアクセラレーションされた分散機械学習を可能にし、cuMLライブラリを搭載した複数のPySpark ML互換アルゴリズムを提供します。

cuDFプラグイン・ライブラリは、最初に機能エンジニアリングおよびデータ・クリーニングに使用され、その後、cuMLプラグイン・ライブラリを使用して大規模に相互検証が実行されます。これらのライブラリは、不正検出(時系列)、Webクリックストリーム、A/B実験などのユース・ケースに使用できます。

表9-2推奨されるSpark構成

設定 Value ノート
スパーク・タスク.リソース.gpu.amount 0.0625 1 / spark.executor.cores
spark.rapids.sql.concurrentGpuタスク 3 GPUメモリ/8GB、最大4
spark.rapids.shuffle.multiThreaded.write.threads 32 ワーカー当たりのCPUコア/GPU数
スパーク・ラピッド・シャッフル・マルチスレッド・リーダー・スレッド 32 ワーカー当たりのCPUコア/GPU数
spark.shuffle. マネージャ com.nvidia.spark.rapids.spark350.RapidsShuffleManager -
spark.rapids.shuffle.mode マルチスレッド -
スパークプラグイン com.nvidia.spark.SQLプラグイン -
スパーク.executor.resource.gpu.amount 1 -
spark.sql.files.maxPartitionバイト数 2GB オプションであり、大規模なデータセットに推奨されます
spark.rapids.sql.batchSizeバイト 2GB オプションであり、大規模なデータセットに推奨されます
spark.rapids.memory.host.spillStorageSize 32G オプションであり、大規模なデータセットに推奨されます
spark.rapids.memory.pinnedPool.size 8G オプションであり、大規模なデータセットに推奨されます
spark.sql.adaptive.coalescePartitions.minPartitionSize 32MB オプションであり、大規模なデータセットに推奨されます
spark.sql.adaptive.advisoryPartitionSizeInバイト 160MB オプションであり、大規模なデータセットに推奨されます
spark.rapids.filecache.enabled True オプション。ワークロードがデータセットを再利用する場合にお薦めします

コンピュート構成のエクスポート

コンピュート・クラスタの構成および依存性をワークスペース内の場所にエクスポートして、他のコンピュート・クラスタにインポートできます。

  1. ワークスペースに移動し、「コンピュート」をクリックします。
  2. 設定をエクスポートするコンピュート・クラスタの横で、アクションの3つのドット・アイコン 「アクション」をクリックし、「コンピュート構成のエクスポート」をクリックします。クラスタ名をクリックして、右上の「アクション」をクリックし、「コンピュート構成のエクスポート」をクリックすることもできます。
  3. ライブラリや環境変数などの依存関係を確認します。エクスポートしないものを選択解除します。
  4. ワークスペースまたはボリューム内の保存場所を選択します。
  5. 「エクスポート」をクリックします。

コンピュート構成のインポート

ワークスペースのYAML構成ファイルを使用して、既存のコンピュート・クラスタ構成およびその依存性をオールパーパス・クラスタにインポートできます。

  1. ワークスペースに移動し、「コンピュート」をクリックします。
  2. 設定をインポートするコンピュート・クラスタの横で、アクションの3つのドット・アイコン 「アクション」をクリックし、「コンピュート構成のインポート」をクリックします。クラスタ名をクリックして、右上の「アクション」をクリックし、「コンピュート構成のインポート」をクリックすることもできます。
  3. アップロードする構成YAMLファイルをワークスペースまたはボリュームで検索し、1つ以上のファイルを選択します。
  4. 選択した構成ファイルを確認し、「インポート」をクリックします。

クラスタの変更

クラスタの設定を変更したり、パラメータを追加したりできます。

  1. ワークスペースに移動し、「コンピュート」をクリックします。
  2. 変更するコンピュート・クラスタの横で、アクションの3つのドット・アイコン 「アクション」をクリックし、「編集」をクリックします。
  3. コンピュート・クラスタの属性を変更するか、必要に応じてパラメータを追加します。
  4. 「保存」をクリックします

クラスタの削除

未使用または不要になったコンピュート・クラスタを削除できます。

  1. ワークスペースに移動し、「コンピュート」をクリックします。
  2. 削除するクラスタの横にあるアクションの3つのドット・アイコン 「アクション」をクリックし、「削除」をクリックします。
  3. 「削除」をクリックします

クラスタ詳細の表示

クラスタのシェイプおよび設定は、いつでも確認できます。

  1. ワークスペースに移動し、「コンピュート」をクリックします。
  2. 詳細を表示するクラスタの名前をクリックします。
  3. 「詳細」タブをクリックします。

コンピュート・クラスタのメンテナンス更新

Oracle AI Data Platformコンピュートは、ユーザーの介入なしにメンテナンス更新を自動的に適用します。

メンテナンス更新では、オペレーティング・システムおよびAIデータ・プラットフォーム内部コンポーネントに必要なセキュリティ・パッチまたはバグ修正がカバーされます。AI Data Platformでは、これらの月次メンテナンス更新を適用する前に、実行中のクラスタがないことを確認します。