ユーザー管理のノートブック インスタンスの環境をアップグレードする
Vertex AI Workbench ユーザー管理ノートブック インスタンスは、JupyterLab ノートブック環境が有効ですぐに使用できる Deep Learning VM Image インスタンスです。このページでは、ユーザー管理ノートブック インスタンスの環境をアップグレードする方法について説明します。
アップグレードする理由
次のような場合は、ユーザー管理のノートブック インスタンスの環境をアップグレードすることをご検討ください。
新しいバージョンの環境でのみ使用できる新機能を使用したい。
新しいバージョンの環境で実装されているフレームワークの更新、パッケージの更新、バグの修正のメリットを活用したい。
アップグレード方法
ユーザー管理のノートブック インスタンスをアップグレードするには、次の 2 つの方法があります。
自動アップグレード: ユーザー管理のノートブック インスタンスの作成時に自動アップグレードを有効にします。指定した繰り返し期間中に、Vertex AI Workbench はインスタンスがアップグレード可能かどうかを確認します。アップグレードが可能な場合は、Vertex AI Workbench はインスタンスをアップグレードします。
手動アップグレード: 既存のユーザー管理のノートブック インスタンスがアップグレードの要件を満たしている場合、インスタンスを手動でアップグレードできます。
要件と制限事項
ユーザー管理のノートブックの下位互換性は保証されていません。ユーザー管理ノートブック インスタンスをアップグレードする前に、データのコピーを作成してください。
特定のユーザー管理ノートブック インスタンスをアップグレードできるかどうか確認するには、次の要件と制限事項をご覧ください。
Notebooks API は、インスタンスの Google Cloud プロジェクトで有効にする必要があります。詳細については、有効なサービスの一覧と API の有効化をご覧ください。
ユーザー管理のノートブック インスタンスの環境バージョンは、M54 以降にする必要があります。
ユーザー管理ノートブック インスタンスは、Notebooks API を使用して作成されているか、Notebooks API に登録されている必要があります。
ユーザー管理ノートブック インスタンスがコンテナベースの場合、Vertex AI Workbench により OS がアップグレードされます。イメージのバージョンは、Dockerfile によって pull されるイメージによって異なります。
アップグレードでイメージの最新バージョンが使用されるように、Dockerfile に
latest
タグを含めることを検討してください。
インスタンスをアップグレードできない場合は、新しいユーザー管理のノートブック インスタンスにデータを移行することを検討してください。
アップグレードの仕組み
アップグレード可能なユーザー管理のノートブック インスタンスは、ブートディスクとデータディスクを 1 つずつ含むデュアル ディスクです。アップグレード プロセスでは、データディスク上のデータを保持しながら、ブートディスクが新しいイメージにアップグレードされます。
アップグレードされるコンポーネントと保持されるコンポーネント
次の表は、ユーザー管理ノートブック インスタンスのコンポーネントで、アップグレードされるコンポーネントと維持されるコンポーネントを示したものです。
コンポーネント | アップグレード結果 |
---|---|
機械学習のフレームワーク | アップグレードされます |
機械学習データ | 保持されます |
プリインストールされた依存関係 | アップグレードされます |
ユーザーがインストールしたライブラリ | デフォルトでは、再インストールする必要があります(ユーザーがインストールしたライブラリを参照)。 |
/home/jupyter ディレクトリ内のローカル ファイル |
保持されます |
他の /home/ ディレクトリ内のローカル ファイル |
保持されません |
プリインストールされたオペレーティング システム パッケージ | アップグレードされます |
ユーザーがインストールしたオペレーティング システム パッケージ | 保持されません |
GPU ドライバ | アップグレードされます |
ノートブック | 保持されます |
ユーザー構成 | 保持されます |
ユーザーがインストールしたライブラリ
デフォルトでは、ユーザー管理ノートブック インスタンスは、ブートディスクに pip ライブラリと Conda ライブラリを保存します。このライブラリは、アップグレード中に置き換えられます。pip ライブラリをインストールするときに、--user
フラグを含めて /home/jupyter/
ディレクトリにインストールすると、アップグレード時に保持されます。
デフォルトでは、カスタム コンテナから作成されたカーネルに pip ライブラリまたは Conda ライブラリをインストールすると、カーネルの実行中の場合にのみ、ライブラリが保持されます。カーネルを再起動するたびに、これらのライブラリを再インストールする必要があります。カスタム コンテナに永続ライブラリをインストールするには、Dockerfile にライブラリのインストールを含めます。カスタム コンテナから作成したカーネルに pip ライブラリをインストールする場合は、インスタンスが再起動するまでライブラリが保持されるように --user
フラグを指定できます。
環境バージョン
Vertex AI Workbench は環境を定期的に更新しますが(Deep Learning VM リリースノートを参照)、すべての環境ではなく、リリースされたバージョンごとに更新します。インスタンスのベースとなっている VM イメージの新しい環境バージョンが存在する場合のみ、Vertex AI Workbench はインスタンスをアップグレードします。
特定のバージョンを使用してユーザー管理ノートブック インスタンスを作成する方法については、ユーザー管理ノートブック インスタンスの特定のバージョンを作成するをご覧ください。
アップグレードする前に
アップグレードを行う前に、次の手順を完了します。
新しいバージョンへの更新については、リリースノートをご覧ください。
バックアップとしてデータのコピーを作成します。
自動アップグレード
Vertex AI Workbench は、実行中のインスタンスを自動的にアップグレードできます。インスタンスが停止した場合、作成時に自動アップグレードを有効にしていても、インスタンスは自動的にはアップグレードされません。
環境の自動アップグレードを有効にする場合は、Vertex AI Workbench でインスタンスがアップグレード可能かどうかを定期的にチェックし、可能であればアップグレードします。
指定する期間は、notebook-upgrade-schedule
メタデータ エントリとして unix-cron 形式のグリニッジ標準時(GMT)で保存されます。
インスタンスをアップグレードできるかどうか確認するため、Vertex AI Workbench は API メソッド isUpgradeable
を使用します。このメソッドは、インスタンスのブートディスク上で、より新しいバージョンのイメージを確認します。
インスタンスをアップグレードできる場合、Vertex AI Workbench は内部アップグレードの方法でインスタンスをアップグレードします。
自動アップグレードを有効にしてユーザー管理ノートブック インスタンスを作成する
自動アップグレードを有効にしてユーザー管理ノートブック インスタンスを作成するには、インスタンスの作成時に [環境の自動アップグレードを有効にする] チェックボックスをオンにして、スケジュールを設定します。
自動アップグレードは、Google Cloud コンソールまたは Google Cloud CLI を使用して指定できます。
始める前に
ユーザー管理のノートブック インスタンスを作成する前に、Google Cloud プロジェクトを準備し、そのプロジェクトで Notebooks API を有効にする必要があります。- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- ユーザー管理のノートブック インスタンスで GPU を使用する場合は、Google Cloud コンソールの [割り当て] ページで、プロジェクトに使用できる GPU が十分であることを確認してください。GPU が [割り当て] ページのリストにない場合や、さらに GPU 割り当てが必要な場合は、割り当て量の増加をリクエストしてください。Compute Engine のリソースの割り当てページの割り当て量の増加をリクエストするをご覧ください。
必要なロール
プロジェクトを作成した場合、そのプロジェクトに対するオーナー(roles/owner
)IAM ロールが付与されています。このロールには、必要な権限がすべて含まれています。このセクションをスキップして、ユーザー管理のノートブック インスタンスの作成を開始します。プロジェクトを自分で作成していない場合は、このセクションに進んでください。
Vertex AI Workbench ユーザー管理ノートブック インスタンスの作成に必要な権限がユーザー アカウントに付与されるように、プロジェクトに対する次の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。
-
Notebooks 管理者(
roles/notebooks.admin
) -
サービス アカウント ユーザー(
roles/iam.serviceAccountUser
)
ロールの付与の詳細については、アクセス権の管理をご覧ください。
管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をユーザー アカウントに付与することもできます。
インスタンスを作成する
コンソール
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。または、notebook.new(https://notebook.new)にアクセスして、次のステップをスキップします。
[
新しいノートブック] をクリックして、[カスタマイズ] を選択します。[ユーザー管理のノートブックの作成] ページの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。
- 名前: 新しいインスタンスの名前
- リージョンとゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。利用可能なユーザー管理ノートブックの場所をご覧ください。
[システムの状態] セクションで、[環境の自動アップグレード] を選択します。
ノートブックのアップグレード頻度(毎週または毎月)を選択します。
[曜日] フィールドで、目的のオプションを選択します。
[時間] フィールドで時間を選択します。
インスタンス作成ダイアログの残りの部分を入力して、[作成] をクリックします。
gcloud
Cloud Shell、または Google Cloud CLI がインストールされている環境で、次の Google Cloud CLI コマンドを入力します。
gcloud notebooks instances create INSTANCE_NAME --metadata=notebook-upgrade-schedule=SCHEDULE --vm-image-project=deeplearning-platform-release --vm-image-family=VM_IMAGE_FAMILY --machine-type=MACHINE_TYPE --location=LOCATION
次のように置き換えます。
INSTANCE_NAME
: 新しいインスタンスの名前SCHEDULE
: unix-cron 形式で設定する週単位または月単位のスケジュール(たとえば、「00 19 * * MON」は、グリニッジ標準時(GMT)で毎週月曜日の 19 時 00 分を意味する)VM_IMAGE_FAMILY
: インスタンスの作成に使用するイメージ ファミリー名MACHINE_TYPE
: インスタンスの VM のマシンタイプLOCATION
: 新しいインスタンスを配置する Google Cloud のロケーション
Google Cloud コンソールからインスタンスにアクセスします。
自動アップグレード スケジュールを編集する
ユーザー管理のノートブック インスタンスを作成した後に自動アップグレード スケジュールを編集するには、次の手順を行います。
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
スケジュールの変更が必要なインスタンス名をクリックします。
[ノートブックの詳細] ページの [環境の自動アップグレード] セクションで、スケジュールを編集します。
[送信] をクリックして変更内容を保存します。
手動でのアップグレード
要件を満たすユーザー管理のノートブック インスタンスは手動でアップグレードできます。
インスタンスの環境の新しいバージョンを確認する
インスタンスの環境の新しいバージョンが利用可能かどうか確認するには、Google Cloud コンソールからインスタンスにアクセスします。
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。
新しい環境バージョンの可用性を確認するインスタンス名をクリックします。
[ノードブックの詳細] ページで、[VM の詳細] の横にある [Compute Engine で表示] をクリックします。
環境の新しいバージョンが利用可能な場合は、「このインスタンスはアップグレードする必要があります」というメッセージが表示されます。
インスタンスの環境を新しいバージョンにアップグレードする
Google Cloud コンソールまたは Google Cloud CLI を使用して、ユーザー管理のノートブック インスタンスを手動でアップグレードできます。
Console
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。
アップグレードするインスタンス名をクリックします。
[ノートブックの詳細] ページで、[アップグレード] をクリックします。
続行する前に、インスタンスにデータのコピーが作成されていることを確認してください。
データをバックアップしたら、[アップグレード] をクリックします。Vertex AI Workbench がインスタンスをアップグレードして起動します。
gcloud
インスタンスをアップグレードできるかどうか確認するには、API メソッド
isUpgradeable
を使用します。このメソッドは、インスタンスのブートディスク上で、より新しいバージョンのイメージを確認します。gcloud notebooks instances is-upgradeable INSTANCE_NAME \ --location=LOCATION
次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前LOCATION
: インスタンスが配置されている Google Cloud のロケーション
インスタンスがアップグレード可能な場合、レスポンスは
true
です。レスポンスがfalse
の場合、インスタンスをアップグレードすることはできませんが、データの新しいインスタンスへの移行は試行できます。インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。
続行する前に、インスタンスにデータのコピーが作成されていることを確認してください。
インスタンスがアップグレード可能な場合、API メソッド
upgrade
を使用してインスタンスをアップグレードします。gcloud notebooks instances upgrade INSTANCE_NAME \ --location=LOCATION
Vertex AI Workbench がインスタンスをアップグレードします。
アップグレードをロールバックする
アップグレードをロールバックするには、次の手順を行います。
Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。
ロールバックするインスタンス名をクリックします。
[ノートブックの詳細] ページの [アップグレード履歴] で、[ロールバック] をクリックします。
Vertex AI Workbench がインスタンスを以前のバージョンにロールバックします。