Vertex AIのColab Enterpriseのランタイムテンプレートを利用してみた
今回はVertex AI上で提供されているColab Enterpriseについて、ランタイムテンプレートの設定方法を調べてみました。
Colab Enterpriseとは?
Colab EnterpriseはVertex AI上で提供されているマネージドなノートブック環境となります。ノートブックファイルを共有することで共同編集することができるほか、それぞれのユーザごとにランタイムを作成できます。また、Geminiによるコード補完機能があったり、BigQueryなどのGoogle Cloudのサービスと統合されているところも特徴です。詳細は以下のページに記載されているのでぜひ参照してください。
ランタイムテンプレートとは?
Colab Enterpriseではランタイムという単位で実行環境を作成します。何も指定しない場合デフォルトのランタイムテンプレートが採用されますが、事前に用意したテンプレートを利用することでGPUを含めたマシンスペックやアイドルシャットダウンの設定などを事前に定義することができます。
また、ランタイムテンプレートを他のユーザと共有することにより、同じ開発環境でノートブックを実行できるようになり、再現性などの問題にも対処することができます。
実際にランタイムテンプレートを作ってみる!
それでは実際にランタイムテンプレートを作成してみます。
Colab Enterpriseへのアクセス
Vertex AI上にノートブックとしてColab Enterpriseが提供されており、アクセスすると以下のような画面が表示されます。
Colab Enterpriseトップページ
左のメニューでランタイムテンプレートというメニューがあるので選択すると以下のような画面が表示されます。
テンプレートページ
テンプレートの作成
それではテンプレートを作成していきましょう。ランタイムテンプレートを作成ボタンを選択します。
まず初めにランタイムの基本情報を設定します。今回はasia-northeast1リージョンにsample-template
という名前で作成します。
ランタイムの基本情報
その次の設定はコンピューティングの設定になります。ここではインスタンスタイプやストレージサイズ、GPUアクセラレータの設定などを設定できます。今回はn2-standard-4
を利用の設定をしていますが、GPUアクセラレータなどが利用できる場合はそちらを設定する項目も表示されます。なおここで重要なのがアイドル状態でのシャットダウンの設定になります。ML系のプログラムの実行は実行時間が長くなることが多くなりがちであり、不必要にVMを実行し続けると課金事故に繋がります。それに対応するため、Colab Enterpriseでは一定時間アイドル状態が続いた時に自動的にインスタンスをシャットダウンする機能があります。最低10分から設定できるので、利用する際はそれぞれのユースケースに合わせて設定してください。
コンピューティングの構成
3つ目に環境の設定があります。ここでは利用するPythonのバージョンを指定します。記事執筆時点では3.10または3.11が選択できるようになっており、今回はLatest(Python 3.11)を選択しました。
環境設定
最後がネットワークとセキュリティの設定になります。ここの設定でどのVPCに含めるかやアクセス制限をかけるかなどを指定できます。今回はデフォルトの設定で進めますが、それぞれの要件に従って変更してください。
ネットワークとセキュリティ
作成するとランタイムテンプレート画面に遷移し、以下のようにテンプレートが作成されていることが確認できます。なお、テンプレートを選択すると設定詳細が表示されます。
テンプレート作成後の画面
テンプレートの詳細
テンプレートからランタイムを起動
それでは先ほど作成したテンプレートからランタイムを起動してみようと思います。
まずはランタイム画面に移動します。ランタイム画面で作成ボタンを押すと以下のように設定画面が表示されます。テンプレートが選択できるので、先ほど作成したテンプレートを利用してランタイムを起動します。
テンプレートの選択
ランタイムが作成されると、以下のようにランタイム一覧に表示されます。
作成されたランタイム
ノートブックからランタイムに接続する
それは最後にノートブックを作成してランタイムに接続してみます。
まずはノートブックを作成します。マイノートブックから新しいノートブックを作成すると以下のようにノートブック画面が表示されます。
ノートブック画面
ノートブックを作成しただけではランタイムに接続されていないので、ランタイムに接続する必要があります。先ほどの画面の右上に「接続」とあり、こちらを選択すると、以下のようにランタイムに接続するためのオプションが表示されます。こちらで先ほど作成したランタイムを指定すると、設定内容に事前にテンプレートで定義した構成が反映されます。
ランタイムへの接続
画面右上にRAMやディスクの使用率が表示されており、クリックすると以下のように詳細が展開されます。
ランタイムリソース状況
まとめ
今回はColab Enterpriseでランタイムテンプレートを作成してからノートブックと連携するところまで使ってみました。Vertex AIにはColab Enterpriseと合わせてWorkbenchというノートブック環境がありますが、よほど大きなワークロードを扱ったり詳細に設定を変更したい場合を覗いてまずはColab Enterpriseを利用してもらえればいいかなと思います。
Discussion