プロジェクトでのノートブック・エディターの計算リソース・オプション
プロジェクトのノートブック・エディターでノートブックを実行する場合は、ランタイム環境の環境テンプレートを選択してください。 環境テンプレートは、ハードウェア構成のタイプ、サイズ、および能力に加えて、ソフトウェア・テンプレートも指定します。 ノートブックの場合、環境テンプレートには、サポートされる言語 Python、R、または Scala が含まれます。
- 環境のタイプ
- IBM ランタイム・リリース
- デフォルトの CPU 環境テンプレート
- デフォルトの Spark 環境テンプレート
- デフォルトの GPU 環境テンプレート
- Watson Machine Learning を使用したスコアリング・モデルのデフォルトのハードウェア仕様
- ノートブック環境のデータ・ファイル
- サービスによるコンピュート使用量
- ランタイム・スコープ
- 環境の変更
環境のタイプ
{: #types} ノートブックを実行するために、以下のタイプの環境を使用できます:
- Anaconda CPU 環境 (標準ワークロードの場合)。
- Spark 環境(プラットフォームまたはその他のサービスによって提供される並列処理の場合)。
- GPU 環境 (計算主体の機械学習モデルの場合)。
ノートブックのほとんどの環境タイプには デフォルト環境テンプレート があるため、すぐに開始できます。 それ以外の場合は、 カスタム環境テンプレートを作成できます。
環境タイプ | デフォルト・テンプレート | カスタム・テンプレート |
---|---|---|
Anaconda CPU | ✓ | ✓ |
Spark クラスター | ✓ | ✓ |
GPU | ✓ | ✓ |
IBM ランタイム・リリース
Cloud Pak for Data as a Service への Python 3.9 の追加以降、デフォルトのノートブック環境テンプレートがランタイム・リリースの関連会社として追加され、接頭部として IBM Runtime
が付き、その後にリリース年とリリース・バージョンが続きます。
ランタイム・リリースは、主要なデータ・サイエンス・ライブラリーと言語バージョンのリストを指定します。 ランタイム・リリースのすべての環境は、そのリリースで定義されているライブラリー・バージョンに基づいて構築されるため、すべてのデータ・サイエンス・アプリケーションでデータ・サイエンス・ライブラリーを一貫して使用することができます。
2022 年の最初のランタイム・リリースは、 Python 3.9 でのみ使用可能です。 ランタイム・リリースの接頭部は IBM Runtime 22.1
です。
IBM Runtime 22.1
はサポートされていますが、 IBM は、セキュリティー要件に対応するためにライブラリー・バージョンを更新します。 これらの更新では、ライブラリーの <Major>.<Minor>
バージョンは変更されず、 <Patch>
バージョンのみが変更されることに注意してください。 これにより、ノートブック資産が引き続き実行されます。
例: IBM Runtime 22.1
は、初期リリースで TensorFlow 2.7 をサポートします。 Cloud Pak for Data as a Service の定期更新時に、TensorFlow はバージョン 2.7.1 または 2.7.2 に更新される可能性がありますが、バージョン 2.8 には更新されません。
IBM Runtime 22.1
のライブラリー
IBM Runtime 22.1
には、以下の一般的なデータ・サイエンス・ライブラリー・パッケージが含まれています:
ライブラリー | バージョン |
---|---|
Dali | 1.9 |
Horovod | 0.23 |
Keras | 2.7 |
Lale | 0.6 |
LightGBM | 3.3 |
NumPy | 1.20 |
ONNX | 1.10 |
ONNX ランタイム | 1.10 |
OpenCV | 4.5 |
pandas | 1.3 |
PyArrow | 5.0 |
PyTorch | 1.10 |
scikit-learn | 1.0 |
SciPy | 1.7 |
SnapML | 1.8 |
TensorBoard | 2.7 |
TensorFlow | 2.7 |
XGBoost | 1.5 |
{: caption="テーブル2。 IBM ランタイム 22.1" caption-side="top"} でのパッケージとそのバージョン
IBM Runtime 22.1
には、表にリストされているライブラリーに加えて、その他の有用なライブラリーの大規模なセットが含まれています。 完全なリストを表示するには、プロジェクトの 環境 ページで IBM Runtime 22.1 on Python 3.9
環境定義を選択し、ソフトウェア構成の詳細を表示します。
デフォルト CPU 環境テンプレート
ノートブック用に以下のいずれかのデフォルト CPU 環境テンプレートを選択できます。 これらのデフォルト環境テンプレートは、プロジェクトの 環境 ページにリストされます。
+ DO
は、他のデフォルト Python 環境のライブラリーの Community Edition でサポートされている複雑さを超える意思決定最適化問題をモデル化して解決するために、環境テンプレートに CPLEX および DOcplex ライブラリーが含まれていることを示します。 Decision Optimization ノートブックを参照してください。
+ Watson NLP
は非構造化データに対して実行できる言語処理タスク用の事前トレーニング済みモデルを備えた Watson Natural Language Processing ライブラリーが環境テンプレートに含まれていることを示します。 Watson Natural Language Processing ライブラリーの使用を参照してください。 このデフォルト環境は、事前にトレーニングされたモデルを実行するのに十分な大きさでなければなりません。
# は環境が圧縮モードであることを示します。 この環境で新規ノートブックを作成することはできなくなりました。
~ は、環境テンプレートに Watson Studio 標準プランまたはエンタープライズ・プランが必要であることを示します。 オファリング・プランを参照してください。
名前 | ハードウェア構成 | 1 時間当たりの CUH 率 |
---|---|---|
IBM Runtime 22.1 on Python 3.9 XXS | 1 vCPU および 2 GB RAM | 0.5 |
IBM Runtime 22.1 on Python 3.9 XS | 2 vCPU および 8 GB RAM | 2 |
IBM Runtime 22.1 on Python 3.9 S | 4 vCPU および 16 GB RAM | 4 |
IBM DO Runtime 22.1 on Python 3.9 | 2 vCPU および 8 GB RAM | 6 |
Default Python 3.8 + Watson NLP XS (beta) | 2 vCPU および 8 GB RAM | 6 |
デフォルト Python 3.8 XXS # | 1 vCPU および 4 GB RAM | 0.5 |
デフォルト Python 3.8 XS # | 2 vCPU および 8 GB RAM | 2 |
Default Python 3.8 XS + DO # | 2 vCPU および 8 GB RAM | 6 |
Default Python 3.8 S # | 4 vCPU および 16 GB RAM | 4 |
デフォルト R 3.6 S | 4 vCPU および 16 GB RAM | 4 |
Default R 3.6 M ~ | 16 vCPU および 64 GB RAM | 8 |
余分なキャパシティー・ユニット時間 (CUH) を消費しないようにするために、アクティブな CPU ランタイムが不要になった場合は、それらをすべて停止する必要があります。 CPU アイドル・タイムアウトを参照してください。
ノートブックおよび CPU 環境
CPU ランタイム環境で編集モードでノートブックを開いた場合、1 つの対話式セッションのみが、ノートブック言語用の Jupyter カーネルと、選択した環境ランタイムに接続します。 ランタイムは、ノートブックではなくユーザーごとに開始されます。 つまり、同じプロジェクト内の同じ環境テンプレートを使用して 2 つ目のノートブックを開くと、同じランタイムで 2 つ目のカーネルが開始されます。 ランタイム・リソースは共有されます。 CPU に GPU がある場合は、ランタイム・リソースも共有されます。
ランタイムの共有を避けたいが、プロジェクト内の複数のノートブックに同じ環境テンプレートを使用したい場合は、同じ仕様でカスタム環境テンプレートを作成し、各ノートブックを独自の定義に関連付ける必要があります。
必要であれば、カーネルを再始動したり、カーネルに再接続したりすることができます。 カーネルを再始動すると、カーネルは停止されてから再び同じセッションで開始されますが、実行結果はすべて失われます。 接続が失われた後にカーネルに再接続した場合、ノートブックは同じカーネル・セッションに接続され、保存されていた以前のすべての実行結果が使用可能です。
デフォルトの Spark 環境テンプレート
ノートブック用に、以下のいずれかのデフォルト Spark 環境テンプレートを選択できます。 これらのデフォルト環境テンプレートは、プロジェクトの 環境 ページにリストされます。
* は環境に IBM Runtime 22.1
からのライブラリーが含まれていることを示します。
# は環境が圧縮モードであることを示します。 この環境で新規ノートブックを作成することはできなくなりました。
名前 | ハードウェア構成 | 1 時間当たりの CUH 率 |
---|---|---|
Default Spark 3.0 & Python 3.9 * Default Spark 3.0 & Python 3.8 # Default Spark 3.0 & R 3.6 Default Spark 3.0 & Scala 2.12 |
2 Executors each: 1 vCPU and 4 GB RAM; Driver: 1 vCPU and 4 GB RAM |
1 |
Default Spark 2.4 & R 3.6 # Default Spark 2.4 & Scala 2.11 # |
2 Executors each: 1 vCPU and 4 GB RAM; Driver: 1 vCPU and 4 GB RAM |
1 |
Default Spark 2.3 & Scala 2.11 # Default Spark 2.3 & R 2.4 # |
2 Executors each: 1 vCPU and 4 GB RAM; Driver: 1 vCPU and 4 GB RAM |
1 |
余分なキャパシティー・ユニット時間 (CUH) を消費しないようにするために、アクティブな Spark ランタイムが不要になったら、すべて停止する必要があります。 Spark アイドル・タイムアウトを参照してください。
大規模な Spark 環境
標準プランとエンタープライズ・プランのユーザーは、より大規模な Spark 環境用のカスタム環境テンプレートを作成できます。
標準プランとエンタープライズ・プランのユーザーは、最大 35 個の実行プログラムを持つことができ、ドライバーと実行プログラムの両方について以下のオプションから選択できます:
ハードウェア構成 |
---|
1 vCPU および 4 GB RAM |
1 vCPU and 8 GB RAM |
1 vCPU and 12 GB RAM |
1 時間当たりの CUH 率は、追加される vCPU ごとに 0.5 ずつ増加します。 例えば、 1x Driver: 3vCPU with 12GB of RAM
と 4x Executors: 2vCPU with 8GB of RAM
は、 (3 + (4 * 2)) = 11 vCPUs
と 5.5 CUH
に相当します。
ノートブックおよび Spark 環境
複数のノートブックに対して同じ Spark 環境テンプレートを選択できます。 その環境に関連付けられているすべてのノートブックには専用の Spark クラスターがあり、リソースは共有されません。
Spark 環境を開始すると、Jupyter Enterprise Gateway、Spark マスター、および Spark ワーカー・デーモン用に追加のリソースが必要になります。 これらの追加リソースの量は、ドライバー用に 1 つの vCPU と 2 GB の RAM、各実行プログラム用に 1 GB の RAM です。 Spark 環境のハードウェア・サイズを選択する際には、これらの追加リソースを考慮する必要があります。 例えば、ノートブックを作成して Default Spark 3.0 & Python 3.9
を選択すると、Spark
クラスターは 3 vCPU と 12 GB RAM を消費しますが、追加リソースには 1 vCPU と 4 GB RAM が必要になるため、ノートブックの残りのリソースは 2 vCPU と 8 GB RAM になります。
Spark クラスター上のファイル・システム
実行プログラムと、Spark クラスターのドライバーまたはカーネルの間でファイルを共有する場合は、 /home/spark/shared
で共有ファイル・システムを使用できます。
独自のカスタム・ライブラリーを使用する場合は、 /home/spark/shared/user-libs/
に保存できます。 /home/spark/shared/user-libs/
の下には、 Python、R、および Scala または Java ランタイムで使用できるように事前構成された 4 つのサブディレクトリーがあります。
以下の表は、カスタム・ライブラリーを追加できる、事前構成されたサブディレクトリーをリストしています。
ディレクトリー | ライブラリーのタイプ |
---|---|
/home/spark/shared/user-libs/python3/ |
Python 3 ライブラリー |
/home/spark/shared/user-libs/R/ |
R パッケージ |
/home/spark/shared/user-libs/spark2/ |
Java または Scala JAR ファイル |
Spark ドライバーおよび実行プログラムの間でライブラリーを共有するには、以下のようにします。
- カスタム・ライブラリーまたは JAR ファイルを該当する事前構成ディレクトリーにダウンロードします。
- カーネル > カーネルの再始動をクリックして、ノートブック・メニューからカーネルを再始動してください。 これにより、カスタム・ライブラリーまたは JAR ファイルが Spark にロードされます。
これらのライブラリーは永続的には保存されないことに注意してください。 環境ランタイムを停止して、後で再始動する場合は、ライブラリーを再度ロードする必要があります。
デフォルトの GPU 環境定義
ノートブック用に以下のデフォルト GPU 環境定義を選択できます。 このデフォルト環境定義は、プロジェクトの 環境 ページにリストされます。
~ は環境定義は Watson Studio 標準プランまたはエンタープライズ・プランが必要であることを示します。 CUH レートは、2022 年 5 月 6 日に標準プランとエンタープライズ・プランの 4 CUH から 6 CUH に変更されます。 オファリング・プランを参照してください。
* は環境に IBM Runtime 22.1
からのライブラリーが含まれていることを示します。
# は環境が圧縮モードであることを示します。 この環境で新規ノートブックを作成することはできなくなりました。
名前 | ハードウェア構成 | 1 時間当たりの CUH 率 |
---|---|---|
IBM GPU Runtime 22.1 on Python 3.9 ~ * | 4 vCPU + 24 GB + 0.5 NVIDIA TESLA K80 (1 GPU) | 6 |
Default GPU Python 3.8 ~ # | 4 vCPU + 24 GB + 0.5 NVIDIA TESLA K80 (1 GPU) | 6 |
余分なキャパシティー・ユニット時間 (CUH) が消費されないようにするために、アクティブな GPU ランタイムが不要になったら、すべて停止する必要があります。 GPU アイドル・タイムアウトを参照してください。
ノートブックおよび GPU 環境
ノートブック用の GPU 環境は、ダラスの IBM Cloud サービス・リージョンでのみ使用できます。
プロジェクト内の複数のノートブックに対して、同じ Python 環境定義と GPU 環境定義を選択できます。 この場合、すべてのノートブック・カーネルは同じランタイム・インスタンスで実行され、リソースは共有されます。 ランタイム・リソースを共有しないようにするには、同じ仕様で複数のカスタム環境定義を作成し、各ノートブックを独自の定義に関連付けます。
Watson Machine Learning を使用してスコアリング・モデルのデフォルトのハードウェア仕様です
ノートブック内で Watson Machine Learning API を呼び出す場合、Watson Machine Learning サービスの計算リソースのほか、ノートブック・カーネルの計算リソースを消費します。
Watson Machine Learning に接続してデプロイメントを作成するときに、以下のいずれかのハードウェア仕様を選択できます。
キャパシティーのサイズ | ハードウェア構成 | 1 時間当たりの CUH 率 |
---|---|---|
極小 | 1x4 = 1 vCPU および 4 GB RAM | 0.5 |
小 | 2x8 = 2 vCPU および 8 GB RAM | 1 |
中 | 4x16 = 4 vCPU および 16 GB RAM | 2 |
大 | 8x32 = 8 vCPU および 32 GB RAM | 4 |
特大 (非推奨) | 16x64 = 16 vCPU および 64 GB RAM | 8 |
注: 特大のハードウェア仕様は推奨されません。 サポートは 2022 年 4 月 14 日に終了します。
ノートブック環境のデータ・ファイル
大規模なデータ・セットを処理する場合、プロジェクトに関連付けられている IBM Cloud Object Storage に小さいチャンクでデータ・セットを保管し、ノートブックでチャンクごとにデータを処理する必要があります。 あるいは、Spark 環境でノートブックを実行する必要があります。
各ランタイムのファイル・システムは非永続であり、環境間で共有することはできないので注意してください。 Watson Studio でファイルを永続化するには、IBM Cloud Object Storage を使用する必要があります。 プロジェクトのノートブックで IBM Cloud Object Storage を使用する最も簡単な方法は、 Python 用の project-lib
パッケージ または R 用の project-lib
パッケージを活用することです。
サービスによるコンピュート使用量
ノートブック・ランタイムは、プロジェクト内の以下のいずれかのサービスから CUH として計算リソースを消費します:
- Watson Studio: デフォルトまたはカスタムの環境の実行時。 環境 ページで、プロジェクト内の Watson Studio CUH 使用量をモニターできます。
- IBM Analytics Engine: サービスによって提供される Spark 環境でのノートブックの実行時。
ノートブックがモデルをスコアリングするために Watson Machine Learning を呼び出す際、ノートブックは Watson Machine Learning サービスの CUH も消費する場合があります。 環境 ページで、 Watson Machine Learning サービスの CUH 使用量の合計月次量をモニターできます。
ノートブックでの Watson Machine Learning の CUH 使用量の追跡
ノートブックによって消費されるキャパシティー・ユニット時間を計算するには、ノートブックで次のコードを実行します。
CP = client.service_instance.get_details()
CUH = CUH["entity"]["usage"]["capacity_units"]["current"]/(3600*1000)
print(CUH)
以下に例を示します。
'capacity_units': {'current': 19773430}
19773430/(3600*1000)
結果: 5.49 CUH
詳しくは、 IBM Watson Machine Learning API 資料の「サービス・インスタンス」セクションを参照してください。
ランタイム・スコープ
{: #scope} 環境ランタイムは、常にプロジェクト内の環境テンプレートおよびユーザーにスコープ設定されます。 プロジェクト内の複数のユーザーが同じ環境で作業した場合、各ユーザーに別個のランタイムが付与されます。
スケジュールされたジョブとしてノートブックの特定のバージョンを実行するように選択した場合、スケジュールされたジョブはそれぞれ、専用ランタイムで常に開始します。 ジョブが完了すると、ランタイムは停止します。
ノートブックの環境の変更
さまざまな理由で環境を切り替えることができます。例えば、以下を実行できます。
- さらに多くの処理能力または RAM を備えた環境を選択する
- Spark を使用しない環境から Spark 環境に変更する
ノートブックがロック解除されている場合にのみ、ノートブックの環境を変更できます。 環境は以下のように変更できます:
-
編集モードで開いたノートブックから、以下を行います。
- ノートブックの変更を保存します。
- ノートブックのツールバーから「ノートブック情報」アイコン (
) をクリックし、 環境をクリックしてください。 環境の簡略説明が表示されます。
- 環境の下のリストから、計算能力とメモリー容量を持つ別のランタイムを選択してください。 アクティブなランタイムが停止し、選択したランタイムがインスタンス化されます。
- 環境の変更を選択してください。 これにより、アクティブなランタイムが停止し、新しく選択された環境が始動します。
-
プロジェクトの 資産 ページから、以下のようにします:
- 「ノートブック」セクションでノートブックを選択し、 アクション > 環境の変更 をクリックして、別の環境を選択してください。 環境を変更するには、kernel を停止しておく必要があります。 次回ノートブックが編集用に開かれると、この新しいランタイム環境がインスタンス化されます。
-
ノートブック・ジョブで、ジョブ・テンプレートを編集します。 ジョブ設定の編集を参照してください。
次のステップ
詳細情報
親トピック: ツールのコンピュート・リソースの選択