BigQuery AI / ML の最新情報
Vaibhav Sethi
Product Manager, Google
Omid Fatemieh
Senior Engineering Manager, Google Cloud
※この投稿は米国時間 2025 年 4 月 30 日に、Google Cloud blog に投稿されたものの抄訳です。
Next ’25 において、Google はデータを AI につなげる自律型プラットフォームである BigQuery の新しいイノベーションをいくつか発表しました。BigQuery ML は、AI と ML の幅広い機能を提供しており、BigQuery を使用して生成 AI アプリケーションや予測 ML アプリケーションを簡単に構築できます。BigQuery ML の新しい AI と ML の機能には、以下が含まれます。
-
予測の問題を大幅に簡素化する、新しい最先端の事前トレーニング済み予測モデル(TimesFM)
-
大規模言語モデル(LLM)による構造化データの生成または抽出のサポート
-
生成 AI 処理と標準 SQL を組み合わせることができる新しい行単位の推論関数のセット
-
Gemini モデルと OSS モデルの追加による、モデルの選択肢の拡大
-
ビジネス指標の変化を説明するのに役立つ貢献度分析機能の一般提供
では、これらの新機能を見ていきましょう。
1. BigQuery の TimesFM 予測モデル
正確な時系列予測は、計画、サプライ チェーン管理、リソースの割り当てなど、多くのビジネス シナリオにおいて不可欠です。現在、BigQuery には Google Research の最先端(SOTA)の事前トレーニング済みモデルである TimesFM が組み込まれており、シンプルな AI.FORECAST 関数を使用して高度な予測を行うことができます。1,000 億を超える実際の時間ポイントに基づいてトレーニングされた TimesFM は、データのトレーニングやチューニングが必要なく、さまざまな実世界のドメインにおいて、さまざまな粒度で高精度のゼロショット予測を実現します。
BigQuery の TimesFM がもたらす主なメリットは次のとおりです。
-
マネージドかつスケーラブル: BigQuery 内のフルマネージドでスケーラビリティに優れた予測エンジンです。
-
簡単な予測: 単一のクエリで、1 個から数百万個の時系列の予測を生成します。モデルのトレーニングは必要ありません。
ここでは、新しい AI.FORECAST 関数と TimesFM を使用して予測を作成する基本的な例を示します。
SQL
SELECT * FROM AI.FORECAST(
TABLE dataset.table,
data_col => "data",
timestamp_col => "timestamp",
model => "TimesFM 2.0",
horizon => 30
)
このクエリは、「timestamp」を時間識別子として使用し、以降の 30 時間の単位で「data」列を予測します。詳細については、こちらのドキュメントをご覧ください。
2. LLM を使用した構造化データの抽出と生成
構造化された情報を購入者レビュー、メール、ログなどの非構造化データから常に抽出する場合、処理が複雑になることがあります。BigQuery の新しい AI.GENERATE_TABLE 関数は、LLM の制約付きデコード機能を使用して構造化データの抽出と生成を簡素化します。この関数は、モデル、入力データのテーブル、output_schema を入力として受け取り、output_schema パラメータで指定されたスキーマを持つテーブルを出力します。
AI.GENERATE_TABLE の使用方法は次のとおりです。
SQL
SELECT * FROM AI.GENERATE_TABLE(
MODEL project_id.dataset.model,
(SELECT medical_transcripts as prompt from table),
STRUCT("age INT64, medications ARRAY<STRING>" AS output_schema)
)
この例では、出力テーブルに「age」と「medications」の列があります。複雑な解析は必要ありません。出力は BigQuery の一時テーブルとして書き込まれます。結果を永続的なテーブルに実体化するには、上記のクエリを DDL ステートメントで使用します。
CREATE TABLE project_id.dataset.my_structured_table
AS <AI.GENERATE_TABLE subquery>
詳細については、こちらのドキュメントをご覧ください。
3. 行単位(スカラー)の LLM 関数
BigQuery の最初の LLM 関数では、テーブル全体を出力するテーブル値関数(TVF)に焦点を当てました。データ操作と分析をより柔軟かつ表現性に優れた方法で行うために、LLM 推論用の行単位の AI 関数を導入しました。これらのスカラー関数は、SELECT、WHERE、JOIN、GROUP BY 句など、値が必要な任意の場所で使用できるため、BigQuery 内での LLM のユーザビリティが向上します。追加した機能の一部をご紹介します。a)AI.GENERATE による基本的なテキスト生成
まず、新しい AI.GENERATE() を、便利な行単位の LLM 推論にどのように使用できるかを見てみましょう。
SELECT
city,
AI.GENERATE(
('Give a short, one sentence description of ', city),
connection_id => 'us.test_connection',
endpoint => 'gemini-2.0-flash').result
FROM mydataset.cities;
b)AI.GENERATE による構造化出力
また、上記で説明した構造化出力の生成機能は、行単位の AI 関数にも拡張されています。次の例では、クエリは output_schema 引数を使用して出力構造体に 2 つのカスタム フィールド(state と capital)を設定し、州のリストに対して州都を生成します。
SQL
SELECT
state,
AI.GENERATE(
('What is the capital of ', state, '?'),
connection_id => 'us.example_connection',
endpoint => 'gemini-2.0-flash',
output_schema => 'state STRING, capital STRING').capital
FROM mydataset.states;
c)型固有の関数(例: AI.GENERATE_BOOL)
BigQuery では、ブール、整数、浮動小数点数などの特定のデータ型を必要とする一般的なタスク向けに、型固有のシンプルな関数を提供できるようになりました。たとえば、分類や検証のタスクに AI.GENERATE_BOOL を使用できます。
SQL
SELECT city.name, AI.GENERATE_BOOL(
("Is", city.name, "in the state of WA?"),
connection_id => "us.example_connection",
endpoint => 'gemini-2.0-flash').result
FROM city
整数と浮動小数点の結果を生成するために、AI.GENERATE_INT と AI.GENERATE_DOUBLE という別の型固有の関数も使用できます。詳細については、こちらのドキュメントをご覧ください。
4. モデルの選択肢の拡大: Gemini、OSS、サードパーティ
BigQuery ML では、LLM で使い慣れた SQL 構文を使用して、データのエンティティ抽出、感情分析、翻訳、テキスト生成といったタスクを実行できます。BigQuery は、Google の Gemini モデルに加え、オープンソース モデルとサードパーティ モデルによる推論もサポートしており、これには 2 つの種類があります。
-
オープンソース モデル用の顧客管理エンドポイント(以前に発表済み): 任意のオープンソース モデルを Vertex AI Model Garden エンドポイントでホストし、BigQuery から使用できます。
-
Model as a Service のインテグレーション: BigQuery から直接フルマネージド モデル エンドポイントにアクセスできます。これにはすでに、Anthropic の Claude などのモデルが含まれていますが、Llama モデルと Mistral モデルのサポートが新たに追加されたため、デベロッパーが利用できるモデルの選択肢がさらに広がりました。
5. 貢献度分析の一般提供を開始
企業は常に「先月、売上が落ちたのはなぜか?」や「マーケティング キャンペーンが最も効果的だったのは、どのユーザー、デバイス、ユーザー属性の組み合わせか?」といった疑問に答えなければなりません。このような「なぜ」という疑問に正確に答えることは重要ですが、複雑な手動での分析が必要になることも珍しくありません。BigQuery の貢献度分析機能は、この分析を自動化し、定義したコントロール グループとテストグループ間で指標の大幅な変化の原因となる主要な要因(または要因の組み合わせ)を特定できます。
一般提供が開始された BigQuery ML の貢献度分析のリリースには、解釈可能性とパフォーマンスの向上に重点を置いた、次のような機能強化が含まれています。
-
カテゴリ別に合計可能な新しい指標: カテゴリ変数で正規化された対象の数値指標の合計を分析します。
-
Apriori サポートによる Top-K 分析情報オプション: セグメント サイズが上位の k 個の分析情報を自動的に取得します。
-
重複する分析情報のプルーニング オプション: 一意の分析情報のみを返すことで、結果の読みやすさを向上させます。
たとえば、コントロール データとテストデータ間で、さまざまなベンダーと支払いタイプにおけるユーザーあたりの平均売上高の変化の要因を把握したいとします。貢献度分析モデルでこの答えを見つけるには、BigQuery に調査する要因(ディメンション)(dimension_id_cols)、重要な指標(contribution_metric)、テストグループとコントロール グループを識別する列(is_test_col)を指定します。
SQL
-- Define the contribution analysis task
CREATE MODEL bqml_tutorial.contribution_analysis_model
OPTIONS (
model_type = 'CONTRIBUTION_ANALYSIS',
dimension_id_cols = ['vendor', 'month', 'payment_type'],
contribution_metric = 'sum(sales)/count(distinct user_id)',
is_test_col = 'is_test_col',
top_k_insights_by_apriori_support = 25,
pruning_method = 'PRUNE_REDUNDANT_INSIGHTS'
) AS
SELECT * FROM dataset.input_data;
モデルを作成したら、次のような SQL クエリを使用して分析情報を生成できます。
SELECT * FROM ML.GET_INSIGHTS (MODEL bqml_tutorial.contribution_analysis_model);
BigQuery は、コントロール グループとテストグループ間のユーザーあたりの平均売上高に最も大きな影響を与えた要因の組み合わせ(例:「ベンダーから AMEX クレジットカードで支払うユーザー」)を示す優先順位リストを返します。
データに AI を活用する
BigQuery ML の最新アップデートにより、強力な AI / ML 機能をデータ ワークフローに直接組み込むことができます。TimesFM による予測、貢献度分析による自動根本原因分析、柔軟な行単位の LLM 関数、効率的な構造化データ生成、そしてモデルの選択肢の拡大により、迅速にデータから分析情報を獲得し、効果的な成果を得られます。
また、Next '25 のブレイクアウト セッションでは、これらの機能のデモもご覧いただけます。
-Google、プロダクト マネージャー Vaibhav Sethi
-Google Cloud、シニア エンジニアリング マネージャー Omid Fatemieh