データと ML の統合: BigQuery と Vertex AI の 5 つの活用方法
Google Cloud Japan Team
※この投稿は米国時間 2022 年 2 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。
データを BigQuery に保存し、そのデータを使用してモデルをトレーニングしたりデプロイしたりすることに関心をお持ちでしょうか。あるいはすでに、Vertex AI で ML ワークフローを構築しているものの、モデルの予測において、より複雑な分析を行いたいとお考えの方もいらっしゃるかもしれません。この投稿では、Vertex AI と BigQuery の 5 つの統合方法についてご紹介します。これにより、データの保存と取り込み、ML モデルの構築、トレーニング、デプロイ、さらには組み込みの MLOps による大規模なモデルの管理を、すべて 1 つのプラットフォームで行うことができます。では、さっそく始めましょう。
BigQuery データを Vertex AI にインポートする
Google Cloud をお使いであれば、BigQuery に保存されたデータがあるのではないでしょうか。機械学習モデルのトレーニングに十分なデータが揃ったら、コンソールでいくつかの手順を実行するだけで BigQuery データを Vertex AI に直接アップロードすることができます。


Vertex AI SDK を使用して、これを実行することもできます。
ここで注目して欲しいのが、BigQuery データをエクスポートして、Vertex AI に再インポートする必要がなかったことです。この統合機能により、クラウドからデータを移動することなく、BigQuery データを Vertex AI にシームレスに接続できます。
BigQuery の一般公開データセットにアクセスする
この Vertex AI と BigQuery のデータセット統合機能により、自社の BigQuery データセットを Vertex AI に接続できるだけでなく、BigQuery の 200 以上の一般公開データセットを活用して、独自の ML モデルをトレーニングできます。BigQuery の一般公開データセットには、地理、国勢調査、気象、スポーツ、プログラミング、医療、ニュースなど、多種多様なトピックが含まれています。
このデータは、Vertex AI でモデルのトレーニングを試すために単独で使用するか、既存のデータを補うために使用できます。たとえば、需要予測モデルを構築していて、天候が商品の需要に影響を与えていることが判明したとします。この場合、BigQuery の一般公開の気象データセットと会社の販売データを結合して、Vertex AI で予測モデルをトレーニングできます。
以下は、昨年の一般公開の気象データをインポートして、天気予報モデルをトレーニングしている例です。


Vertex AI Workbench ノートブックから BigQuery データにアクセスする
データ サイエンティストは、ノートブック環境で探索的データ分析、ビジュアリゼーションの作成、特徴量エンジニアリングを行うことがよくあります。Vertex AI のマネージド Workbench ノートブック インスタンス内では、SQL クエリで BigQuery データに直接アクセスすることも、それを Python で分析するために Pandas DataFrame としてダウンロードすることもできます。
以下では、ロンドン市内のシェア自転車に関する一般公開のデータセットに対して SQL クエリを実行し、クエリの結果を Pandas DataFrame としてダウンロードしてノートブックで使用する方法を示しています。


BigQuery でテストの予測データを分析する
Vertex AI でのモデルのトレーニングに BigQuery データを使用する方法について説明しました。次に、モデルの予測をエクスポートするための Vertex AI と BigQuery の統合機能について見ていきます。
AutoML を使用して Vertex AI でモデルをトレーニングする場合、Vertex AI はデータをトレーニング、テスト、検証の 3 セットに分割し、テストデータに対するモデルのパフォーマンスを評価します。モデルのテストの予測を BigQuery にエクスポートし、より詳しく分析することも可能です。


トレーニングが完了したら、テストデータを調べ、テストの予測に対してクエリを実行できます。これにより、モデルがうまく機能しなかった部分を特定できるため、次回のモデルのトレーニングに向けてデータの改善を図ることができます。
Vertex AI のバッチ予測の結果をエクスポートする
トレーニング済みモデルが本番環境で使用できる状態になったら、Vertex AI でモデルの予測を行うにあたり、いくつかのオプションがあります。
オンライン予測のためにモデルをエンドポイントにデプロイする
デバイス上での予測のためにモデルアセットをエクスポートする
モデルに対してバッチ予測ジョブを実行する
予測のためにモデルに送りたいサンプルが大量にあり、レイテンシがそれほど問題にならない場合は、バッチ予測をおすすめします。Vertex AI でバッチ予測を作成する場合、予測ジョブの入力と出力として BigQuery テーブルを指定できます。この場合、予測したい入力データが含まれる BigQuery テーブルが 1 つと、Vertex AI が予測の結果を書き込む別の BigQuery テーブルがあることになります。


これらの統合機能により、BigQuery データにアクセスし、モデルの構築とトレーニングが行えます。その後、Vertex AI を使用して以下のことが可能です。
これらのモデルの本番環境へのデプロイ
マネージド パイプラインによるモデルの再現性の自動化
モデルのパフォーマンスや信頼性の継続的な管理
管理しやすいガバナンスに向けた、モデルの系列や成果物の追跡
説明可能性を適用した特徴アトリビューションの評価
次のステップ
Vertex AI で BigQuery データを使用したモデルのトレーニングや予測を開始するには、以下のリソースをご確認ください。
Codelab: Vertex AI での AutoML モデルのトレーニング(英語)
Codelab: Vertex AI Workbench の概要(英語)
ドキュメント: Vertex AI でバッチ予測を取得する
動画シリーズ: AI の基礎: Vertex AI
GitHub: サンプル ノートブック
トレーニング: Vertex AI: Qwik Start
他にも取り上げて欲しい BigQuery と Vertex AI の統合機能がありましたら、ぜひ Twitter でお知らせください。アカウントは @SRobTweets です。
- Staff Developer Relations エンジニア Sara Robinson
- Cloud AI プロダクト マーケティング Shana Matthews