ユーザー管理ノートブック インスタンスの環境をアップグレードする

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 はインスタンスをアップグレードします。

特定のバージョンを使用してユーザー管理ノートブック インスタンスを作成する方法については、ユーザー管理ノートブック インスタンスの特定のバージョンを作成するをご覧ください。

アップグレードする前に

アップグレードを行う前に、次の手順を完了します。

  1. 新しいバージョンへの更新については、リリースノートをご覧ください。

  2. バックアップとしてデータのコピーを作成します。

自動アップグレード

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 を有効にする必要があります。
  1. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトで課金が有効になっていることを確認します

  3. Notebooks API を有効にします。

    API を有効にする

  4. ユーザー管理のノートブック インスタンスで GPU を使用する場合は、Google Cloud コンソールの [割り当て] ページで、プロジェクトに使用できる GPU が十分であることを確認してください。GPU が [割り当て] ページのリストにない場合や、さらに GPU 割り当てが必要な場合は、割り当て量の増加をリクエストしてください。Compute Engine のリソースの割り当てページの割り当て量の増加をリクエストするをご覧ください。

必要なロール

プロジェクトを作成した場合、そのプロジェクトに対するオーナー(roles/owner)IAM ロールが付与されています。このロールには、必要な権限がすべて含まれています。このセクションをスキップして、ユーザー管理のノートブック インスタンスの作成を開始します。プロジェクトを自分で作成していない場合は、このセクションに進んでください。

Vertex AI Workbench ユーザー管理ノートブック インスタンスの作成に必要な権限がユーザー アカウントに付与されるように、プロジェクトに対する次の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。

ロールの付与の詳細については、アクセスの管理をご覧ください。

管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をユーザー アカウントに付与することもできます。

インスタンスを作成する

コンソール

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。または、notebook.new(https://notebook.new)にアクセスして、次のステップをスキップします。

    [ユーザー管理のノートブック] に移動

  2. [新しいノートブック] をクリックして、[カスタマイズ] を選択します。

  3. [ユーザー管理のノートブックの作成] ページの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • 名前: 新しいインスタンスの名前
    • リージョンゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。利用可能なユーザー管理ノートブックの場所をご覧ください。
  4. [システムの状態] セクションで、[環境の自動アップグレード] を選択します。

  5. ノートブックのアップグレード頻度(毎週または毎月)を選択します。

  6. [曜日] フィールドで、目的のオプションを選択します。

  7. [時間] フィールドで時間を選択します。

  8. インスタンス作成ダイアログの残りの部分を入力して、[作成] をクリックします。

gcloud

  1. 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 のロケーション
  2. Google Cloud コンソールからインスタンスにアクセスします。

自動アップグレード スケジュールを編集する

ユーザー管理のノートブック インスタンスを作成した後に自動アップグレード スケジュールを編集するには、次の手順を行います。

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。

    [ユーザー管理のノートブック] に移動

  2. スケジュールの変更が必要なインスタンス名をクリックします。

  3. [ノートブックの詳細] ページの [環境の自動アップグレード] セクションで、スケジュールを編集します。

  4. [送信] をクリックして変更内容を保存します。

手動でのアップグレード

要件を満たすユーザー管理のノートブック インスタンスは手動でアップグレードできます。

インスタンスの環境の新しいバージョンを確認する

インスタンスの環境の新しいバージョンが利用可能かどうか確認するには、Google Cloud コンソールからインスタンスにアクセスします。

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。

    [ユーザー管理のノートブック] に移動

  2. インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。

  3. 新しい環境バージョンの可用性を確認するインスタンス名をクリックします。

  4. [ノードブックの詳細] ページで、[VM の詳細] の横にある [Compute Engine で表示] をクリックします。

    環境の新しいバージョンが利用可能な場合は、「このインスタンスはアップグレードする必要があります」というメッセージが表示されます。

インスタンスの環境を新しいバージョンにアップグレードする

Google Cloud コンソールまたは Google Cloud CLI を使用して、ユーザー管理のノートブック インスタンスを手動でアップグレードできます。

Console

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。

    [ユーザー管理のノートブック] に移動

  2. インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。

  3. アップグレードするインスタンス名をクリックします。

  4. [ノートブックの詳細] ページで、[アップグレード] をクリックします。

  5. 続行する前に、インスタンスにデータのコピーが作成されていることを確認してください。

  6. データをバックアップしたら、[アップグレード] をクリックします。Vertex AI Workbench がインスタンスをアップグレードして起動します。

gcloud

  1. インスタンスをアップグレードできるかどうか確認するには、API メソッド isUpgradeable を使用します。このメソッドは、インスタンスのブートディスク上で、より新しいバージョンのイメージを確認します。

    gcloud notebooks instances is-upgradeable INSTANCE_NAME \
        --location=LOCATION
    

    次のように置き換えます。

    • INSTANCE_NAME: インスタンスの名前
    • LOCATION: インスタンスが配置されている Google Cloud のロケーション

    インスタンスがアップグレード可能な場合、レスポンスは true です。レスポンスが false の場合、インスタンスをアップグレードすることはできませんが、データの新しいインスタンスへの移行は試行できます。

  2. インスタンスが実行中でない場合は、インスタンスを起動します。Vertex AI Workbench は、実行中のインスタンスのみをアップグレードできます。

  3. 続行する前に、インスタンスにデータのコピーが作成されていることを確認してください。

  4. インスタンスがアップグレード可能な場合、API メソッド upgrade を使用してインスタンスをアップグレードします。

    gcloud notebooks instances upgrade INSTANCE_NAME \
        --location=LOCATION
    

    Vertex AI Workbench がインスタンスをアップグレードします。

アップグレードをロールバックする

アップグレードをロールバックするには、次の手順を行います。

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。

    [ユーザー管理のノートブック] に移動

  2. ロールバックするインスタンス名をクリックします。

  3. [ノートブックの詳細] ページの [アップグレード履歴] で、[ロールバック] をクリックします。

  4. Vertex AI Workbench がインスタンスを以前のバージョンにロールバックします。