Today we launched Colab Pay As You Go, a way for you to flexibly purchase additional compute with or without a subscription. With this anyone on a paid tier can upgrade their runtime to a premium GPU accelerator.
— Colaboratory (@GoogleColab) 2022年9月29日
No changes to our free-of-charge tier!https://t.co/0z7WKH0F35
2022年9月末、Colab Pro (+)がユニットごとの課金制となりヘビーユーザだった私には使いにくくなってしまいました。そこで以前やりかけて放置していたGoogle Cloud(旧GCP)で、同様の開発環境を持てないかと軽く調べてみました。
ざっくり書くと、GPUが使えて自作のコード(notebook)を動かせる環境が欲しかったわけなのですが、どうやらGCのやたら数が多いプロダクトの中でVertex AI Workbenchを使えば良い模様。無料トライアル枠(90日間 $300)もあるので実際に試してみることにしました。ちなみに昔は似たことをやるときAI Platform Notebooksを使う感じだった気がするのですが、これもVertex AIとして統合されたようで(2021年10月ぐらいから?)ネット上には新旧の様々な情報が散らばっており私のような初心者には非常にとっつき難い状況となっております。
とりあえずやってみた
まずはGCのアカウント作成が必要です(無料クレジット使いたいだけだとしてもクレジットカード情報やら登録する必要あり)。私は以前作成していたのでダッシュボードからすぐにお試し用のプロジェクトを作成し、Vertex AI Workbenchにて新しく「ユーザー管理のノートブック」を作成できました。
※マネージドノートブックというのもありますがこちらはGC側が用意している環境で、便利なライブラリがパッケージされていたり他のGCプロダクトとの連携が容易だったりするようです。逆にユーザー管理のノートブックでは立ち上げ時にマシンタイプやGPUの種類など細かく設定できる模様(今回使ったのはこちら)。
※ノートブック作成まではGCの同じウィンドウ内で参照できるチュートリアルが親切でした(画面内のUIをハイライトしながらここを押せと教えてくれる)。画面右上あたりにある「学ぶ」ボタンをクリックすると一覧が出てきます。
箸休めとして、GANで生成したいらすとやのAI概念を載せておきます。
チュートリアルで案内されたのはGPUを使わないタイプのノートブックだったので、次はGPUセットのマシンを選んでノートブックを作成しようとしました。しかし何度トライしてみてもリージョン周りのエラーが出て失敗してしまいます(しかも結果が出るまで地味に時間かかる)。リージョンやゾーンを色々変えたりするも状況は改善せず。どうしたものかと調べてみるとGPU割り当て上限が0となっており、それを上げるための申請を事前にやらないといけないらしい。公式ドキュメントのどこかにも書いているらしいが探す気がまったく起きないぐらい分かりにくいです。
画面左上のナビゲーションメニューから「IAMと管理」→「割り当て」からその申請ができるらしい。そちらを開くと割り当て対象となる大量のサービス項目が出てくるのですが、フィルタの検索項目に「GPUs (all regions)」と入れると今回上限アップが必要な「Compute Engine API」の項目が出てきます。ちなみにCompute EngineでVMインスタンスを立ち上げる際もこの作業が必要らしい(Vertex AI側でも内部でCompute EngineのVMを使用しているというのが分かる)。
ただ、ここでそのサービス項目を選択しようとすると「無料トライアルは駄目だから有料アカウントにアップグレードしてね」というメッセージが出てきました。サービス検討&評価のための無料トライアルではないのか。AutoMLとか使いたいだけの人なら良いのかも。また、逆にここでアカウントをアップグレードしたらどうなるのかなと思ったのですが、無料クレジット分は残るらしい。この辺に書いてありました。無料枠でかるくお試し……ぐらいの感覚だったのでこの先はまだ試していません(疲れた)。
さいごに
以上がざっくりレポートです。結論として、無料トライアル枠でGPU付きのノートブック開発環境は使えませんでした(クレジットだけでいえば使えるとも書ける?)(別のやり方あるよという方はコメントにてご教授いただけると幸いです)。
課金が必要というのは良いとして、ドキュメント周りはもっと分かりやすくしてくれと常々思っております(AWS然り)。なんとなく始めて課金しすぎた勢を未然に防ぐため、あえて取っ付きにくくしているのでしょうか。課金しまくっているわけではないけどGoogleのサービスにはお世話になっているのでもう少し初心者ユーザにも優しくなってくれたらな〜と思いました。
参考記事のみなさま。
【おまけ】こちらの記事の方によるとColabでGCEのVMを使う場合でも無料トライアル枠ではGPUが使えないらしい。私はまだ試していません。
その他、特に関係ない記事など。