<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=445779107733115&amp;ev=PageView&amp;noscript=1">

【速報】Colab Enterprise とは?
機能やColaboratoryとの違いを徹底解説

 2023.10.27  株式会社電算システム 松原 颯

データサイエンスの分野では、対話形式でPythonコードを実行しながらデータの分析、可視化や機械学習モデルの開発が行えるJupyter Notebook(ノートブック)と呼ばれるツールが広く使われています。多くの派生サービスも登場しており、特にGoogle Colaboratory(Colab)はWebブラウザとインターネットがあれば特別な環境構築無しでノートブックを利用できるという点から多くの方に利用されています。そんな中、Google は「Colab Enterprise」という、Colaboratoryの利点を活かしつつ、Google Cloud 環境でより組織的に利用できるサービスを提供開始しました。

本記事では、通常版のColaboratoryとの比較も交えながら、Colab Enterpriseの機能や特徴を紹介しています。Colaboratoryやノートブックの組織的な導入を検討されている方に役立つ情報となっていますので、ぜひ最後までお読みください。

【速報】Colab Enterprise とは?機能やColaboratoryとの違いを徹底解説

Colab Enterprise とは企業版 Colaboratory 

Colab Enterpriseとは、Google が提供するWeb上のノートブック環境である「Colaboratory」を Google Cloud 上で利用できるサービスです。Colaboratoryの手軽さと強力なコラボレーション機能はそのままに、Google Cloud のセキュリティ機能やリソース管理機能が利用できます。あくまで個人のアカウントに紐づいて利用・課金(基本無料、Pro版は有料)するColaboratoryに対して、複数ユーザーの管理や請求の統合など、組織的に利用しやすいサービスとなっていることが特徴です。

※2023年8月末に、米 Google Cloud のイベントである Google Cloud Next ‘23内で発表され、本記事公開時点(2023年10月)では誰でも利用できる状態となっています。

Colab Enterprise に含まれる機能

ここでは、Colab Enterpriseの特徴と利用できる機能について解説します。

IAMアクセスコントロールによる共有とコラボレーション機能

Colab Enterpriseで作成したノートブックは、通常のColaboratoryと同様に他のユーザーへ共有して共同編集することが可能です。通常のColaboratoryはログインしているGoogle アカウントによって認証し、ノートブックへのアクセスを管理しますが、Colab Enterpriseの場合は、Google Cloud 上のサービスの Google Cloud のIAM機能を利用してユーザーの認証を行います。そのためユーザーAにはノートブックを見るだけの権限を付与し、ユーザーBにはノートブック上のコードを実行できる権限も付与するなど、柔軟な対応が可能です。それに伴い、共有相手のユーザーにはノートブックに対するアクセス権限の他にも適切なIAMロールを付与する必要があります。

構成可能なランタイム

Colab Enterpriseでは、ノートブックの実行に利用するランタイム(仮想マシンのインスタンス)を、用途に応じて構成することが可能です。CPUのコア数やメモリの量、GPUの有無や種類、ストレージの容量といったハードウェアの構成を変更することができます。例えばディープラーニングのモデル開発用に多くの計算リソースを持つランタイムを使用し、それ以外の開発では最小限のランタイムを使用することでコストを抑えるといった柔軟な運用を可能にします。

Vertex AIおよびBigQueryとの統合

Pythonノートブックを使用する際、データウェアハウスであるBigQueryからデータを取得したり、機械学習プラットフォームであるVertexAIにモデルをデプロイするなど、ノートブック上から他のサービスにアクセスすることは良くあるケースです。ですが、他サービスと連携させるには認証の設定など煩わしい作業が必要な場合が多く存在します。Colab Enterpriseは、Vertex AIの一部として提供されていますので、煩わしい認証作業が不要でノートブック上からVertex AIの機能を呼び出せます。同様に、BigQueryとの連携も効率化されています。Google からは「BigQuery DataFrames」というPythonライブラリが提供されていますので、このライブラリを使用することでBigQueryへSQLを実行し、使い慣れたpandasデータフレーム形式でデータを操作したり、scikit-learnのような操作感でBigQueryに統合された機械学習機能であるBigQueryMLを操作できるようになっています。

また、BigQuery Studioという機能によって、BigQueryのUI上からColab Enterpriseのノートブックを操作することもできるので、BigQueryとColab Enterpriseを連携した作業がよりシームレスに行えるようになっています。

Duet AIアシストによるインラインコード補完

Colab Enterpriseでは、Duet AIによるコーディング支援を利用することが可能です。Duet AIとは、Google Cloud 上で利用できる生成AIによるユーザー支援機能のことを指し、ユーザーが自然言語でDuet AIに指示をするとコードやコマンドの生成、トラブルシューティングといった各種タスクを助けてくれる機能です。Colab Enterpriseでは、このDuet AIによるコード補完を利用することができます。例えば、ユーザーが途中までコードを書くと、ユーザーがその後書きたいであろうコードをDuet AIが予想して提案を行います。例えば、pandasモジュールをインポートするコードを書くと、その後はデータフレームにファイルを読み込みたいだろうと予測して、ファイルを読み込むコードを提案します。文法エラーや変数名の不一致に留まらない高精度なコード提案が可能となっているので、ユーザーはより自分の書きたいロジックに集中でき、効率的な開発が可能となります。

Colab Enterprise と Colaboratory の違い

ここでは、通常のColaboratoryとColab Enterpriseの機能にどのような違いがあるのかを比較します。まずは、以下の表をご覧ください。

 

Colab Enterprise

Colaboratory

ストレージ

リージョンストレージ

Googleドライブ のストレージ(リージョナルストレージ非対応)

アクセス制御

Google Cloud のIAM

Googleドライブ の共有機能

ネットワーク

Google Cloud のネットワーク

常にインターネットに接続

セキュリティ

Google Cloud のセキュリティ

Googleドライブ ベースのセキュリティ

インフラ構成

柔軟に変更可

一部変更可

バージョン管理機能

統合

統合

料金

有料(従量課金)

無料(Pro、Pro+は有料)

支払い

Google Cloud の請求先アカウント

Google アカウント単位

両者を比較すると、Colab Enterpriseの方が企業や組織が利用するのにより適した機能となっています。

例えばストレージでは、Colab Enterpriseは Google Cloud のリージョナルストレージを使用するため、データを日本国内や特定の地域に保存したいといった要件に応えられるようになっています。
インフラの観点では、Colab Enterpriseはマシン構成が柔軟に変更でき、コンピュートリソースを占有可能となっていることが特徴です。ですので、ディープラーニングのために多くのメモリとGPUを搭載したインスタンスを利用することもできますし、共有リソースを使うColaboratoryのような制限もありません。
加えて、費用は Google Cloud の請求先アカウントに集約されることもポイントです。Colab Enterpriseの費用は Google Cloud の利用料として請求されますので、複数人で複数インスタンスを用いた開発を行ったり、その他の Google Cloud サービスと併せて利用する場合にも費用の管理と支払いがしやすくなっています。

一方で、Colaboratoryはより個人利用に向いた機能となっています。
サーバーレスのため、インフラの構成を一切気にせず利用することができますし、Google アカウントがあればすぐに使い始められます。データは Google ドライブに保存されるため、セキュリティに特別な設定は必要ありませんし、他ユーザーとの共有も簡単に行えます。そしてなにより、基本無料で利用できるのが強みです。一方で、GPUやメモリといったマシン構成を自由に選ぶことができなかったり、リソースを占有できず、一定時間利用し続けると自動的にシャットダウンされるなどの制約も存在します。Colaboratoryの有料版となるColab ProやColab Pro+ではこれらの制限が緩和されてより大規模な用途にも活用しやすくなっていますが、課金は個人単位で行わないといけないこともあり、やはり個人ユース向けのサービスだと言えるでしょう。

Colab Enterprise の使い方

Colab Enterpriseを利用開始し、ノートブックを作成するまでの手順を紹介します。
Colab Enterpriseは本記事公開時点(2023年10月)で一般提供されている機能ですので、どなたでも Google Cloud コンソールから利用することが可能です。
また、以下の手順は課金設定が有効な Google Cloud プロジェクトが存在していることを前提としています。Google Cloud の利用開始に関してはこちらをご覧ください。

Google Cloud 公式ガイド

事前準備

まずは、Colab Enterpriseを動作させるのに必要なAPIを有効化します。必要なAPIは以下の3つです。

  • Vertex AI API
  • Dataform
  • Compute Engine API

Google Cloud コンソール画面上部の検索ボックスにAPIの名前を入力し、検索結果から対象のAPIを選択します。

各APIの画面で「APIが有効です」と表示されていることを確認します。有効になっていない場合は有効化します。

次に、Colab Enterpriseの利用者(プリンシパル)に、以下のIAMロールを付与します。

  • ノートブック ランタイムユーザー
  • Dataform コード作成者

ランタイムテンプレートを作成する

Colab Enterpriseでノートブックを動作させるには、ランタイム(仮想マシンのインスタンス)を起動する必要があります。そのためにまず、ランタイムの構成を指定したランタイムテンプレートを作成します。ただし、テンプレートを作成していなくてもColab Enterpriseデフォルト構成を利用してランタイムを起動することも可能です。デフォルト構成は変更できませんので、CPUやメモリ、ディスク容量などを細かく指定したい場合にはテンプレートを使用しましょう。

Colab Enterpriseの画面上部のタブから「ランタイムテンプレート」を選択します。まずは、画面上部の「リージョン」プルダウンから利用するリージョンを指定します。ランタイムやランタイムテンプレート、ノートブックはリージョン毎に管理されます。
リージョンを選択したら「新しいテンプレート」ボタンを押して、ランタイムテンプレートの新規作成画面を開きます。

ランタイムテンプレートに任意の名前を付け、リソースが作成されるリージョンを選択してから「続行」で次へ進みます。なお、説明欄には任意のテキストを入力して保存することができ、ラベルには任意のキーと値のペアを設定することができます。テンプレート構成の利用目的を入力したり、ラベルを付けて複数のテンプレートを管理するなど、必要に応じて設定しましょう。

マシン構成では、マシンタイプ(CPU、GPUの数とメモリ)、ディスクタイプと容量を選択します。
ここで「アイドル状態でのシャットダウン」を有効にすると、一定時間アイドル状態が続いたランタイムが自動的に終了されるように設定できます。不注意でランタイムを起動し続けてしまうことによる請求を防ぐことができますので、特別な理由が無ければ設定しておくことをオススメします。
マシン構成を入力したら「続行」で先に進みます。

ネットワーク構成を設定します。特に指定のない場合は省略することも可能です。
ノートブックからインターネット上のデータにアクセスさせない、Google Cloud 内で作成したカスタムネットワークを利用したい、といった要件がある場合は設定を行います。
最後に「CREATE」ボタンを押すことでランタイムテンプレートが作成されます。

ランタイムを作成する

Colab Enterpriseの画面上部のタブから「ランタイム」を選択し、「ランタイムを作成」を選びます。

ランタイムテンプレートを選択する画面が出てきますので、作成したランタイムテンプレート、もしくはデフォルトのテンプレートを選択します。
ランタイムに任意の名前を付ける場合は入力します。
「作成」ボタンを押すことで、選択したテンプレートの構成に従ってランタイムが作成されます。

ランタイムの一覧で、ステータス表示が「作成中」から「正常」に変わればランタイムの作成は完了です。

ノートブックを作成する

Colab Enterpriseの画面上部のタブから「ノートブック」を選択し、「ノートブックを新規作成」を選びます。

Getting startedのサンプルコードが記載された新しいノートブックが作成され、エディタに表示されます。複数のノートブックはエディタ内でタブとして表示されますので、ノートブックを切り替えながらの作業も可能です。
また、画面左側のノートブック一覧に新しく作成されたノードブックが追加されます。作成時はデフォルトの名前が付けられますが、ノートブック名横の「⋮」ボタンからノートブックの名前を変更することができます。

about-colab-enterprise-thorough-explanation-of-functions-image11

ランタイムを接続し、コードを実行する

作成、もしくは開いたノートブックは、起動中のランタイムに接続することでコードを実行できます。ランタイムに接続されていない状態では、エディタ画面右上に「接続」ボタンが表示されています。これをクリックすることで、デフォルトのランタイムに接続されます。独自に作成済みのランタイムに接続するには、接続ボタン横の下三角をクリックし、「ランタイムに接続」をクリックします。

ランタイムを選択する画面が表示されるので、接続したいランタイムを選択して「接続」をクリックします。ランタイムが存在しない場合には、この画面から作成することもできます。

about-colab-enterprise-thorough-explanation-of-functions-image13

エディタ画面右上の「接続」ボタンのあった箇所に緑のチェックマークが表示されればコードが実行可能です。
試しに、サンプルコードを実行してみます。ここからは通常のColaboratoryと操作方法は同じで、コードの実行はコードセル左側の実行ボタンをクリック、もしくは「Ctrl+Enter」です。

コードが実行され、サンプルコードによるグラフが描画されました。

補足1:ノートブックのアップロード

Colab Enterpriseでは、新規のノートブック作成の他に、ipynb形式のノートブックファイルをアップロードし、編集や実行することも可能です。ですので、通常のColaboratoryやJupyter Notebookなど別の環境で作成したノートブックを取り込んで利用することができます
画面左側「ファイル」領域の上部にあるアップロードアイコンをクリックします。

アップロードするノートブックを選択する画面が表示されますので、端末上から対象のipynbファイルを選択し、「アップロード」ボタンをクリックすればアップロード完了です。

about-colab-enterprise-thorough-explanation-of-functions-image16

補足2:ノートブックの共有

Colab Enterprise上のノートブックは、Google Cloud のIAMロールを付与することで他ユーザーに共有ができます。画面左側ファイル領域にて、ノートブック名横の「⋮」ボタンから「共有」を選択します。

現時点で、このノートブックに権限を持っているプリンシパル(ユーザー)が表示されますので、「プリンシパルを追加」から共有したいユーザーのアカウントとロールを設定しすることで、共有が行われます。

閲覧者、編集者などロールを使い分けることで、見るだけのユーザー、共同編集するユーザーといったように権限をコントロールすることが可能です。

Colab Enterprise の活用方法

この章では、Colab Enterpriseの活用方法について紹介します。実際の課題やユースケースを想定しながら、Colab Enterpriseを利用するメリットを解説します。

統合されたデータ分析基盤の構築

複数人で構成されるデータアナリストやデータサイエンティストのチームのために、統合されたデータ分析基盤を提供するのに役立ちます。Google CloudのBigQueryは強力なデータウェアハウスですが、SQL以外を利用できるネイティブな分析ツールは備わっていませんでした。Colab Enterpriseを利用すれば、複数人が同じデータを参照しながら(データのコピーやエクスポートをせずに)、使い慣れたノートブック形式でデータを分析できます

機械学習モデルの開発基盤

Colab Enterpriseは機械学習エンジニアによる開発基盤としても活用できます。Colab EnterpriseはGoogle Cloud 環境に統合されていますので、Cloud StorageやBigQueryとVertex AIの統合に複雑な設定は必要ありません。BIgQuery上のデータをトレーニングデータとして機械学習モデルを開発し、Vertex AIのモデルレジストリで管理する、といった一連の機械学習タスクが統合されたプラットフォーム上で完結します。モデル開発のために大量のデータを移動する必要はありませんし、必要に応じて強力なGPUを利用することもできます。

学習・トレーニング基盤として利用

社内でのデータ利活用のために人材育成を進めている企業や、データサイエンス系の学科を持つ教育機関等では、Pythonによるデータ分析のトレーニングにColaboratoryやJupyter Notebookを利用するケースが多く存在します。しかし、複数人で利用する環境を構築したり、誰が、いつ、どのくらい利用したかといった管理も必要となると環境の整備には手間がかかります。このようなケースでは、Colab Enterpriseが役に立ちます。費用の管理やロギング、共有やセキュリティといった機能が簡単に利用できるので、ユーザーにも管理者にも使いやすい環境を構築できます

Colab Enterprise の料金

Colab Enterpriseの料金についてご紹介します。
Colab Enterpriseではランタイム(仮想マシンのインスタンス)の稼働時間に応じて課金が発生します。マシンタイプやメモリのスペック、GPUの種類、ディスクの種類によって課金の根拠となる単価が異なり、単価に対して稼働時間を掛けた金額が利用料となります。
また、単価はリージョンによっても異なります。
例えば、東京リージョンでN1タイプのインスタンスにNvidia Tesla A100のGPUを追加し、バランス型ディスクを使用するインスタンスの場合、以下の価格表となります。

CPU

1CPU ×1時間あたり $0.0487416

メモリ

1GB × 1時間あたり $0.0065028

GPU

1時間あたり $3.7218719

ディスク

1GB × 1か月あたり $0.156

詳細な価格設定はこちら( https://cloud.google.com/colab/pricing )を確認ください。

ColabEnterpriseを使うと業務の効率が格段に変わる!

ここまで、エンタープライズ向けのColaboratoryであるColab Enterpriseについて、特徴と使い方、想定されるユースケースをご紹介しました。データサイエンス領域で広く使われているノートブックの使い勝手はそのままに Google Cloud 上のマネージドな環境で動作させることによって、組織によってより使いやすいサービスとなっています。Colab Enterpriseをインターフェースとして Google Cloud の機能を活用したデータ分析環境を構築することで、データ分析チームや機械学習チームはもちろん、管理者の方にとっても業務の効率化に繋がるでしょう。

 

執筆者紹介

松原 颯
株式会社電算システム 松原 颯
入社5年目。データエンジニアとしてGoogle Cloudを活用したデータ分析・活用基盤の構築を支援する。実際のデータ分析現場での知見を活かし、高校生向け情報授業の特別講師を務めた経験もある。Google Cloud Professional認定資格を全て保有している。BigQueryが大好き。
<保有資格>
・Associate Cloud Engineer
・Professional Cloud Architect
・Professional Data Engineer
・Professional Cloud Database Engineer
・Professional Cloud DevOps Engineer
・Professional Cloud Developer
・Professional Cloud Security Engineer
・Professional Cloud Network Engineer
・Professional Workspace Administrator
・Professional Machine Learning Engineer
Google Cloud と 電算システムのご紹介

RELATED POST関連記事


RECENT POST「Google Cloud(GCP)」の最新記事


Google Cloud(GCP)

FigJamとはアイデア表現するオンラインホワイトボード|使い方と機能を徹底解説

Google Cloud(GCP)

PythonでExcelを操作する方法は3ステップ!環境構築方法やライブラリについて解説

Google Cloud(GCP)

データマートを設計する際に押さえておきたいポイントとは?

Google Cloud(GCP)

失敗しないデータ活用の進め方とは?

【速報】Colab Enterprise とは?機能やColaboratoryとの違いを徹底解説