BigQuery MLとは?できること・使い方・料金・モデルの種類をわかりやすく解説

BigQuery MLとは?できること・使い方・料金・モデルの種類をわかりやすく解説

こんにちは。クラウドエースの田中です。

BigQueryに蓄積したデータを分析するだけでなく、売上予測や顧客の分類、異常検知などにも使いたい。そのような場面で候補になるのがBigQuery MLです。機械学習というと、Pythonによる開発や専用の環境構築が必要というイメージを持つ方もいるかもしれません。

BigQuery MLでは、BigQuery上でGoogleSQLを使い、機械学習モデルの作成から評価、予測まで進められます。利用者が学習データを手動でエクスポートする工程を減らせるため、普段からSQLでデータ分析をしている人が、これまでのスキルを活かしながら機械学習に取り組めるのが特徴です。ただし、利用するモデルによっては、学習や推論が外部サービスで実行されます。

扱える範囲も、回帰や分類、クラスタリング、時系列予測といった従来型の機械学習に限りません。現在は、外部モデルを通じて生成AIを利用する方法も用意されています。

本記事では、BigQuery MLとはどのような機能なのかをはじめ、できることやモデルの種類、基本的な使い方、料金体系、利用時に確認しておきたい点まで紹介します。

BigQuery MLとは

BigQuery MLは、BigQueryに保存されたデータを使い、GoogleSQLを中心に機械学習モデルの作成・評価・予測などを行うための機能です。作成したモデルはBigQueryのデータセット内に保存され、テーブルやビューと同じBigQueryの環境で管理できます。

一般的な機械学習では、データウェアハウスからデータを取り出し、Pythonなどを使って前処理やモデル開発を行う構成もあります。BigQuery MLではBigQuery上のデータに直接モデルを作成できるため、データを別環境へ移したり、複数のツールを行き来したりする工程を減らせます。

参考:BigQuery の ML の概要 | Google Cloud Documentation

SQLを使って機械学習を進められる

BigQuery MLでは、モデルの作成から評価、予測までSQLで実行できます。モデル作成には「CREATE MODEL」、評価には「ML.EVALUATE」、予測には「ML.PREDICT」といったSQLステートメントや関数を使います。

機械学習用のプログラミング言語を新たに習得しなければ利用できないわけではありません。BigQueryで日常的にデータの抽出や集計をしているデータアナリストであれば、これまで使ってきたSQLの知識を活かしながらモデル作成に取り組めます。

データを手動でエクスポートする工程を減らせる

BigQueryに保存されているデータを使い、SQLからモデルの作成を実行できます。利用者が大量のデータをエクスポートし、別の機械学習基盤へ転送するための処理を用意する工程を減らせます。

ただし、すべての処理がBigQuery内部で完結するわけではありません。オートエンコーダやAutoML、ブーストツリー、DNN、ランダムフォレストなどは外部サービスで学習され、リモートモデルの推論も接続先で実行されます。利用者によるデータ移行作業の有無と、実際の処理場所は分けて確認する必要があります。

BigQuery MLでできること

BigQuery MLでは、数値予測や分類、クラスタリング、レコメンド、時系列予測、異常検知といった機械学習を扱えます。リモートモデルなどを利用すれば、生成AIやCloud AIサービスをBigQueryから呼び出すことも可能です。

売上や需要などの数値を予測する

回帰モデルでは、過去のデータと複数の特徴量をもとに、連続した数値を予測します。商品やサービスの売上、顧客単価、利用量などが代表的な例です。

利用できるのは線形回帰だけではありません。ブーストツリー、ランダムフォレスト、DNNなど複数のモデルを回帰問題に使えるため、分析対象や必要な精度、モデルの解釈性などを踏まえて選びます。

購入や離脱などを分類する

分類モデルでは、「購入する・しない」「解約する・しない」といったカテゴリを予測できます。マーケティングや営業であれば、顧客の行動予測や、アプローチ対象となる顧客の抽出などに使えます。

分類に利用できるモデルには、ロジスティック回帰のほか、ブーストツリー、ランダムフォレスト、DNNなどがあります。評価する際は単純な精度だけを見るのではなく、利用目的に合った指標を選ぶことも必要です。

顧客や商品をグループに分ける

K-meansクラスタリングでは、あらかじめ正解ラベルを用意しなくても、特徴が似ているデータ同士をグループ化できます。

たとえば、購入頻度や利用金額、アクセス状況などから顧客を複数のグループに分け、それぞれの傾向を分析するといった使い方があります。既存の顧客区分だけでは見えなかった特徴を探す際にも利用できます。

ユーザーごとに商品やコンテンツを推薦する

行列分解モデルを使うと、ユーザーと商品などの関係をもとにレコメンデーションを行えます。ECサイトの商品推薦や、動画・記事といったコンテンツの推薦が代表的です。

BigQuery MLでは、行列分解モデルに対して「ML.RECOMMEND」を実行することで、ユーザーと商品の組み合わせに対する予測値を取得し、推薦に利用できます。

なお、行列分解モデルを作成するには、BigQueryのEnterprise EditionまたはEnterprise Plus Editionの予約と、QUERYジョブタイプの割り当てが必要です。オンデマンド料金のみの構成では作成できないため、利用前に予約の設定を確認してください。

参考:The CREATE MODEL statement for matrix factorization models | BigQuery | Google Cloud Documentation

時系列データから将来の値を予測する

時間の経過に沿って蓄積されたデータを使った時系列予測にも対応しています。「ARIMA_PLUS」では単変量の時系列予測、「ARIMA_PLUS_XREG」では外部説明変数を含めた多変量の時系列予測を行えます。

対象になるのは、売上やアクセス数、在庫需要など、時間とともに変化する指標です。ARIMA_PLUSでは異常検知にも対応しています。

また、BigQueryには事前学習済みの時系列基盤モデルTimesFMも用意されています。(一部機能はPreview)「AI.FORECAST」を使えば、自分で時系列モデルを作成・管理せずに予測を実行する方法も選べます。

参考:TimesFM モデル | BigQuery | Google Cloud Documentation

BigQuery MLを利用するメリット

BigQuery MLの利点は、すでにBigQueryを使っている分析環境から機械学習へ移りやすくなる点にあります。SQLを使う人がモデル開発に参加しやすく、学習のためにデータを手動で書き出したり、別環境への転送処理を用意したりする工程も減らせます。

既存のSQLスキルを活用できる

モデルの作成や評価、予測にはGoogleSQLを使います。BigQueryを日常的に使っているデータアナリストであれば、新しいプログラミング環境を一から用意しなくても、既存の分析環境から機械学習を試せます。

もちろん、適切なモデルの選択や評価指標、特徴量の設計といった機械学習の知識まで不要になるわけではありません。それでも、実装のために覚えなければならないものを減らせる点は、BigQuery MLを使う理由の一つになります。

大規模データの書き出しや転送の手間を減らせる

データがすでにBigQueryへ集約されていれば、そのデータを参照するSQLからモデルを作成できます。機械学習のために大量のデータを書き出し、別のストレージや分析環境へコピーする処理を、利用者が個別に用意する手間を減らせます。

外部で学習するモデルでも、モデル作成の指示はBigQueryから実行できます。ただし、処理場所やデータ所在地に要件がある場合は、モデルごとの実行先と対応リージョンを確認してください。

データ分析から予測までをSQLワークフローに組み込みやすい

BigQueryでデータを整形し、その結果からモデルを作成して、予測結果を再びBigQuery上で分析する。こうした一連の流れを、同じ環境の中で構成できます。

予測結果をテーブルとして扱えば、既存の集計処理やBIツールと組み合わせることも可能です。機械学習を単発の検証で終わらせず、普段のデータ分析プロセスへ組み込みたい場合にも扱いやすい構成です。

モデルの評価や説明にもSQLを利用できる

BigQuery MLには、作成したモデルの性能を確認するための機能もあります。「ML.EVALUATE」で評価できるほか、対応するモデルでは「ML.EXPLAIN_PREDICT」を使い、各特徴量が予測結果にどの程度寄与したのかを確認できます。

モデルによってはハイパーパラメータチューニングも利用できます。モデルを作成して終わりではなく、その後の評価や改善までBigQuery内で進められます。

参考:モデルの作成 | BigQuery | Google Cloud Documentation

異常を検知する

通常とは異なるデータを見つけたい場合にもBigQuery MLを使えます。時系列モデルに加えて、PCAやAutoencoder、K-meansなどでも「ML.DETECT_ANOMALIES」を利用できます。

アクセス数や取引量の急な変化、設備データの異常など、対象によって選ぶモデルは変わります。異常値を見つけるだけで終わらせず、その結果をどのような業務判断につなげるのかまで決めておくと、実際の運用に組み込みやすくなります。

生成AIや外部のAIモデルをBigQueryから利用する

現在のBigQuery MLは、BigQuery内部で学習するモデルだけを扱うものではありません。リモートモデルを作成することで、Googleのモデルやパートナーモデル、対応するCloud AIサービスなどをBigQueryから利用できます。

たとえば、テーブルに保存されているテキストを生成AIで要約したり、埋め込みを生成したりできます。構造化データの処理とAIによる処理を同じSQLベースのワークフローへ組み込めるため、BigQueryに蓄積したデータの使い方を広げられます。

生成AI関連の関数や利用可能なモデル、提供ステータスは更新されるため、実装時には公式ドキュメントで最新の情報を確認してください。

参考:生成 AI の概要 | BigQuery | Google Cloud Documentation

BigQuery MLで利用できる主なモデル

BigQuery MLには、分析や予測の目的に合わせて複数のモデルが用意されています。回帰や分類だけではなく、クラスタリング、次元削減、時系列予測のほか、外部で作成したモデルやリモートモデルも扱えます。モデル名をすべて覚えるよりも、「何を予測したいのか」「どのような分析をしたいのか」から候補を絞る方が整理しやすいでしょう。

用途 主なモデル 利用例
回帰 LINEAR_REG、BOOSTED_TREE_REGRESSOR、RANDOM_FOREST_REGRESSOR、DNN_REGRESSORなど 売上、価格、利用量などの数値予測
分類 LOGISTIC_REG、BOOSTED_TREE_CLASSIFIER、RANDOM_FOREST_CLASSIFIER、DNN_CLASSIFIERなど 購入予測、離脱予測、カテゴリ分類
クラスタリング KMEANS 顧客セグメントの作成
レコメンデーション MATRIX_FACTORIZATION 商品・コンテンツの推薦
次元削減・異常検知 PCA、Autoencoder 特徴量の圧縮、異常データの検出
時系列予測 ARIMA_PLUS、ARIMA_PLUS_XREG 売上、需要、アクセス数などの予測
拡張分析 CONTRIBUTION_ANALYSIS 指標変化の要因分析
インポートモデル TENSORFLOW、TENSORFLOW_LITE、ONNX、XGBOOST 外部で作成したモデルをBigQueryで利用
リモートモデル 外部AIモデルやCloud AIサービスへの接続 生成AI、テキスト処理、画像処理など

このほか、回帰や分類にはAutoMLモデルや、線形モデルとディープニューラルネットワークを組み合わせたWide-and-Deepモデルも利用できます。また、事前学習済みの基盤モデルとして、時系列予測に対応するTimesFMや、表形式データの回帰・分類に対応するTabFMも提供されています。TabFMは現在Preview段階で、「AI.PREDICT」を使って予測を実行できます。

以前利用されていた「ARIMA」は、現在モデルタイプとして非推奨です。新しく時系列モデルを作成する場合は「ARIMA_PLUS」を確認してください。

参考:The CREATE MODEL statement | BigQuery | Google Cloud Documentation

参考:TabFM モデル | BigQuery | Google Cloud Documentation

BigQuery MLの基本的な使い方

基本的な流れは、「データを準備する」「モデルを作成する」「評価する」「予測する」の4段階です。必要に応じて、特徴量の前処理やハイパーパラメータチューニング、予測結果の説明といった処理を加えます。

以下のSQLは、学習用・評価用・予測用のテーブルがすでにBigQueryに用意されていることを前提としたサンプルです。実際に利用する際は、「project_id」と「dataset_id」を自身の環境に合わせて変更してください。

1. 学習に使用するデータを準備する

最初に、BigQuery上へ学習データを用意します。既存のテーブルをそのまま使うこともできますが、必要に応じて分析対象の列や期間を絞り、学習用データを作成します。

確認したいのは、目的変数と説明変数の関係だけではありません。欠損値や異常値がないか、予測する時点では本来取得できない情報が特徴量に混ざっていないか、といった点も見ておく必要があります。

2. CREATE MODELでモデルを作成する

モデルの作成には「CREATE MODEL」ステートメントを使います。たとえば、数値を予測する線形回帰モデルであれば、次のように記述します。

CREATE OR REPLACE MODEL `project_id.dataset_id.sales_model`
OPTIONS (
  MODEL_TYPE = 'LINEAR_REG',
  INPUT_LABEL_COLS = ['sales']
) AS
SELECT
  sales,
  advertising_cost,
  website_visits,
  number_of_customers
FROM `project_id.dataset_id.training_data`;

この例では「sales」を予測対象とし、広告費、Webサイトへのアクセス数、顧客数などを特徴量としてモデルを作成しています。

指定できるオプションはモデルごとに異なります。実際に作成する際は、利用するモデルタイプのCREATE MODELリファレンスを確認してください。

3. ML.EVALUATEでモデルを評価する

モデルを作成した後は、すぐに業務で使うのではなく、まず性能を確認します。その際に利用できる代表的な機能が「ML.EVALUATE」です。

SELECT *
FROM ML.EVALUATE(
  MODEL `project_id.dataset_id.sales_model`,
  TABLE `project_id.dataset_id.evaluation_data`
);

この例のevaluation_dataには、学習時に使用した特徴量の列と、正解値となるsales列が必要です。各列の名前とデータ型は、モデルが受け取れるものにそろえてください。また、未知のデータに対する性能を確認するため、学習に使っていないデータで評価します。

出力される評価指標はモデルによって変わります。回帰モデルであれば平均絶対誤差や平均二乗誤差など、分類モデルであればPrecisionやRecallなどを確認し、目的に合った指標で評価します。

4. ML.PREDICTで予測する

性能を確認できたら、新しいデータに対して予測を行います。多くのモデルでは「ML.PREDICT」を使います。

SELECT *
FROM ML.PREDICT(
  MODEL `project_id.dataset_id.sales_model`,
  TABLE `project_id.dataset_id.prediction_data`
);

この例のprediction_dataには、学習時に特徴量として使用したadvertising_cost、website_visits、number_of_customersの各列が必要です。各列はモデルが受け取れるデータ型にそろえ、実際に予測する時点で取得できる値を使用してください。予測対象のsales列は不要です。

予測結果はBigQueryのクエリ結果として返るため、そのままSQLで集計したり、別のテーブルへ保存したりできます。モデルの出力を既存の分析フローへ戻しやすいのもBigQuery MLの特徴です。

参考:BigQuery ML で SQL を使用して ML モデルを作成する | Google Cloud Documentation

5. 必要に応じてモデルを改善する

期待する精度が出ない場合は、特徴量や学習に使う期間、モデルタイプなどを見直します。対応するモデルでは、ハイパーパラメータを自動で探索する機能も利用できます。

ハイパーパラメータチューニングでは、「CREATE MODEL」に「NUM_TRIALS」などのオプションを指定します。複数の条件でモデルを学習するため、試行数を増やすほど処理量や料金が増える可能性があります。

BigQuery MLの料金

BigQuery MLに一律の月額料金があるわけではありません。BigQueryの料金モデル、作成するモデル、学習・評価・予測で処理するデータ量、外部サービスを利用するかどうかによって費用が変わります。料金を見るときは、モデルの作成時と利用時を分けて考えると整理しやすくなります。

オンデマンド料金の場合

オンデマンド料金では、モデルの種類や実行する処理によって適用される料金が異なります。モデル作成と評価・予測を分けて、利用するモデルの課金条件を確認してください。

モデル作成には、通常の分析クエリとは異なる単価が適用される処理があります。また、ハイパーパラメータチューニングの試行数や、時系列予測で学習する候補モデル数によっても費用が変わります。

BigQueryには月間1TiBのクエリ処理の無料枠があります。BigQuery MLでも、リモートモデルを除くモデルの評価・検査・予測に伴うクエリ処理は、この無料枠の対象です。一方、モデルの作成・学習には通常の分析クエリとは異なる料金が設定される場合があり、同じ無料枠が一律に適用されるわけではありません。

DNNやランダムフォレストなど、外部サービスで学習するモデルでは、オンデマンド料金の場合、BigQueryでのデータ前処理にかかる費用と、外部の学習基盤で発生する費用の合計が請求されます。学習基盤側の費用はBigQuery MLの課金対象バイト数に換算され、BigQueryの請求に含まれます。また、リモートモデルで接続先のAIサービスを利用する場合、そのサービスの利用料金はBigQueryの無料枠には含まれません。利用するモデルや処理ごとの課金条件と、リージョン・通貨に応じた単価は公式料金ページで確認してください。

参考:BigQuery | Google Cloud

BigQuery Editionsを利用する場合

容量ベースの料金体系であるBigQuery Editionsでは、BigQuery MLをEnterprise EditionまたはEnterprise Plus Editionで利用できます。BigQuery MLの処理には、基本的にこれらのEditionで予約したコンピューティングリソースを使用できます。

ただし、モデルの種類によって必要な予約の割り当てが異なります。線形回帰などのBigQuery内部で学習するモデルでは「QUERY」ジョブタイプを使用します。一方、DNNやブーストツリー、ランダムフォレストなど、外部サービスで学習するモデルでは「ML_EXTERNAL」ジョブタイプの予約割り当てが必要です。

「ML_EXTERNAL」の予約割り当てがない場合、外部学習モデルのジョブにはオンデマンド料金が適用されます。Enterprise EditionまたはEnterprise Plus Editionを利用していても、すべてのモデルが同じ予約で処理されるわけではないため、利用するモデルに応じた設定を確認してください。

参考:ワークロードの割り当てを管理する | BigQuery | Google Cloud Documentation

TabFMの料金と課金方式

表形式データ向けの事前学習済みモデル「TabFM」には、通常のBigQuery MLモデルとは異なる料金条件があります。2026年10月30日より前は、オンデマンド料金では処理バイト数、Enterprise EditionまたはEnterprise Plus Editionではスロット使用量に基づいて課金されます。

Google Cloudは、2026年10月30日以降、TabFMの料金体系をトークンベースに変更すると案内しています。変更後は、TabFMが消費する入出力トークン数に応じた料金に加え、モデル推論以外のクエリ処理に使用したスロットまたは処理バイト数に基づく料金が発生します。利用前には公式料金ページで最新の課金条件を確認してください。

参考:The AI.PREDICT function | BigQuery | Google Cloud Documentation

参考:BigQuery | Google Cloud

リモートモデルでは外部サービス側の料金も発生する

リモートモデルから外部のAIモデルやCloud AIサービスを呼び出す場合は、BigQuery側の処理料金に加え、接続先のモデルやサービスの利用料金が発生します。BigQuery側のクエリ処理には、適用条件に応じて通常の無料枠やBigQuery Editionsの料金体系が適用されますが、接続先サービスの利用料金はこれらに含まれず、別途課金されます。

生成AIモデルで推論するケースであれば、利用したモデルの入出力トークン数などに応じて料金が発生します。大量の行を一度に処理する場合は、対象データ量だけでなく、モデルに送信する入力や生成される出力の量も踏まえてコストを試算しておいた方がよいでしょう。

なお、DNNやランダムフォレストなど、BigQueryの外部サービスで学習するモデルは、リモートモデルとは料金の仕組みが異なります。オンデマンド料金では、BigQueryでのデータ前処理にかかる費用に加え、外部の学習基盤で発生した費用がBigQuery MLの料金に換算されて請求されます。一方、BigQuery Editionsを利用する場合は、外部学習モデル向けの「ML_EXTERNAL」予約割り当てが必要で、割り当てがない場合はオンデマンド料金が適用されます。

参考:BigQuery | Google Cloud

学習済みモデルの保存にも料金がかかる

BigQuery MLで作成したモデルはBigQueryのデータセットに保存されるため、保存されたモデルにはBigQueryのストレージ料金体系が適用されます。

ただし、BigQueryには毎月10GiBのストレージ無料枠があり、BigQueryに保存されたBigQuery MLモデルや学習データも対象です。無料枠を超える場合は、保存容量などに応じた料金が発生します。

継続的に運用するのであれば、モデル作成時の料金だけではなく、保存や予測にかかる費用まで含めて確認しておく必要があります。

参考:BigQuery の ML の概要 | Google Cloud Documentation

参考:BigQuery | Google Cloud

BigQuery MLを利用する際の注意点

BigQuery MLではSQLでモデルを作成できます。ただし、SQLを書くことができれば適切な機械学習モデルが自動的に完成するわけではありません。データの設計や評価方法、料金、権限、リージョンなどは、モデルを作る前から確認しておく必要があります。

モデルの目的と評価指標を先に決める

機械学習では、単に精度の高いモデルを作ることが目的になるとは限りません。その予測を使って、誰に対してどのようなアクションを取るのかまで考えておく必要があります。

たとえば顧客の離脱予測でも、離脱しそうな顧客をなるべく見逃したくないのか、それとも離脱候補ではない顧客を誤って対象に含めたくないのかで、重視する評価指標は変わります。業務上の目的から逆算して評価基準を決めることが大切です。

学習データの品質を確認する

BigQuery MLがモデル作成の一部を自動化しても、元データの意味や品質まで保証してくれるわけではありません。欠損や異常値、偏り、重複があれば、モデルの結果にも影響します。

特に気を付けたいのがデータリーケージです。実際に予測する時点では得られない情報が学習データに含まれていると、評価上は高精度に見えても、運用時には同じ精度を出せないモデルになる可能性があります。

モデルごとに利用できる機能が異なる

「ML.PREDICT」「ML.EXPLAIN_PREDICT」「ML.DETECT_ANOMALIES」などの関数を、すべてのモデルで同じように使えるわけではありません。利用できる機能はモデルタイプによって異なります。

先にモデル名を決めてしまうより、最終的にどのような出力が必要なのかを整理したうえで、対応するモデルと関数を確認する方が設計しやすくなります。

参考:ML モデルのエンドツーエンドのユーザー ジャーニー | BigQuery | Google Cloud Documentation

リージョンとリモートモデルの処理場所を確認する

BigQuery MLを使うときは、データセットのロケーションも確認が必要です。特にリモートモデルでは、接続先となるモデルやCloud AIサービスによって利用できるリージョンが異なります。

データ所在地に関する要件がある場合や、VPC Service Controlsを利用している環境では、モデルを作成する前にロケーションと接続条件を確認してください。

参考:BigQuery のロケーション | Google Cloud Documentation

料金はモデル作成前に確認する

BigQueryの通常の分析クエリと同じ感覚でCREATE MODELを実行すると、想定していたより料金がかかる場合があります。BigQuery MLでは、モデルタイプによって学習料金が異なるためです。

ハイパーパラメータチューニングでは複数回の試行が行われます。時系列モデルでも、設定によって複数の候補モデルが学習されます。学習に使うデータ量だけを見て料金を判断しないようにしてください。

BigQuery MLの活用例

BigQuery MLは、すでにBigQueryへ蓄積しているデータに予測や分類を加えたい場面で使いやすい機能です。独立した機械学習プロジェクトとして考えるよりも、普段のデータ分析の先に何を予測したいのかを考えると、用途を見つけやすくなります。

マーケティングで顧客の反応を予測する

顧客属性やWebサイト上の行動、過去の購入履歴などがBigQueryに蓄積されていれば、それらを特徴量として購入やコンバージョンの可能性を予測できます。

予測結果をもとに施策対象を絞る場合は、モデルの精度だけでは十分ではありません。実際にアプローチできる人数や施策にかかるコストも含めて評価すると、業務での使い方を判断しやすくなります。

顧客を行動パターンごとに分類する

K-meansを使えば、購入頻度や利用サービス、アクセス傾向などのデータから顧客をクラスタリングできます。

あらかじめ用意した属性で分類するのではなく、実際の行動データからグループを作れるため、新しい顧客セグメントを探すための分析にも使えます。

売上や需要を予測する

日次・週次・月次などで蓄積された時系列データから、将来の売上や需要を予測できます。予算策定や在庫管理、人員配置など、将来の数値を前提に判断する業務での利用が考えられます。

季節性があるデータや、複数の要因によって変化するデータでは、予測結果だけを見るのではなく、どの期間を学習に使うのか、外部要因をどのように扱うのかも検討が必要です。

ログやセンサーデータから異常を検知する

BigQueryに継続的に蓄積されるログやセンサーデータを対象に異常検知を行い、通常時の傾向から大きく外れたデータを抽出することもできます。

ただし、機械学習上の異常が、そのまま業務上の障害や問題を意味するとは限りません。検出した結果を人が確認するのか、自動で通知するのかなど、後続の運用も含めて考えておく必要があります。

BigQueryのデータを生成AIで処理する

BigQuery上に保存されたテキストデータを生成AIへ渡し、要約や分類、情報抽出を行う使い方もあります。たとえば、大量の問い合わせ内容やアンケートの自由記述、商品説明などをテーブル単位で処理する場面です。

生成AIを利用する場合は、通常の機械学習とは別に、モデル側の料金やクォータも関係します。対象行数が多いときは、必要なデータだけを事前にテーブルへ絞り込むなど、コストを意識した設計が必要になります。

参考:AI.GENERATE_TEXT 関数を使用してテキストを生成する | BigQuery | Google Cloud Documentation

BigQuery MLに関するよくある質問

BigQuery MLを初めて使う方に向けて、Pythonの必要性や料金、モデルの保存先、外部モデルの利用についてまとめます。

BigQuery MLを使うのにPythonは必要ですか?

BigQuery MLでモデルを作成・評価・予測するだけであれば、Pythonは必須ではありません。一連の処理をGoogleSQLから実行できます。

一方、BigQueryではColab Enterpriseなどを利用し、SQLとPythonを組み合わせることもできます。独自のライブラリを使った分析などが必要であれば、SQLだけに限定する必要はありません。

BigQuery MLは無料で使えますか?

BigQuery MLのすべてを無条件で無料利用できるわけではありません。料金体系やモデル、実行する処理、処理量によって費用が変わります。

BigQueryには月間1TiBのクエリ処理の無料枠がありますが、モデルの学習や外部AIサービスの利用まで一律に対象となるわけではありません。検証目的で利用する場合も、実行する処理の単価と無料枠の適用条件を公式料金ページで確認してください。

BigQuery MLで作ったモデルはどこに保存されますか?

作成したモデルはBigQueryのデータセット内に保存されます。Google Cloudコンソールなどでは、テーブルやビューと同じデータセットのリソースとして確認できます。

外部で作成したモデルをBigQueryで利用できますか?

はい。BigQuery MLでは、TensorFlow、TensorFlow Lite、ONNX、XGBoostなど、対応する形式のモデルをインポートできます。リモートモデルを作成して、外部のAIモデルやCloud AIサービスへ接続する方法もあります。

ただし、対応するモデル形式や利用できる機能には条件があります。既存モデルをBigQueryで使う場合は、対象の形式がサポートされているかを公式ドキュメントで確認してください。

BigQuery MLで作成したモデルをBigQueryの外で利用できますか?

一部のBigQuery MLモデルはCloud Storageへエクスポートできます。すべてのモデルをエクスポートできるわけではないため、外部システムで推論する予定がある場合は、利用したいモデルが対応しているか事前に確認しておく必要があります。

参考:モデルのエクスポート | BigQuery | Google Cloud Documentation

まとめ

BigQuery MLは、BigQuery上のデータを使い、GoogleSQLで機械学習モデルの作成・評価・予測を行える機能です。普段からBigQueryでデータ分析をしている人であれば、既存のSQLスキルを活かしながら機械学習を試せます。

対応しているのは、回帰や分類、クラスタリングだけではありません。レコメンデーションや時系列予測、異常検知にも対応しており、リモートモデルなどを使えばBigQuery上のデータと生成AIを組み合わせることもできます。

ただし、SQLでモデルを作成できることと、適切なモデルを設計できることは別です。何を予測したいのかを明確にし、学習データの品質や評価方法を確認したうえで、モデルの種類や料金、対応リージョン、利用できる機能を選ぶ必要があります。

機械学習だけを別の環境へ切り離すのではなく、BigQueryを中心としたデータ分析の流れの中に予測やAI処理を組み込みたい場合、BigQuery MLは選択肢の一つになります。

田中 悠路

田中 悠路の画像

管理部門およびシステム部門での実務を経て、社会保険労務士としての独立も経験。その後は事業会社にて、業務フロー整備、商品・仕入管理システムの構築、ECシステムの内製化、部門立ち上げ、マネジメントを推進。2023年にクラウドエースへ参画。BIツールのプリセールス・導入支援、カスタマーサポート、データ分析基盤構築などの案件に従事。大学での特別講義や自社セミナーでの登壇実績も多数。

↑