モデル推定の概要

このドキュメントでは、BigQuery ML がサポートする以下の種類のバッチ推論について説明します。

ML 推論とは、データポイントを ML モデルに入力して、単一の数値スコアなどの出力を計算するプロセスです。このプロセスは、「ML モデルの運用」または「本番環境への ML モデルのデプロイ」とも呼ばれます。

予測

以下の各セクションでは、BigQuery ML で利用可能な予測の実行方法について説明します。

BigQuery ML トレーニング済みモデルを使用した推論

BigQuery ML における予測は、教師あり学習モデルだけでなく、教師なし学習モデルにも使用されます。独立同分布(IID)データでトレーニングされたモデルにのみ使用されます。IID 以外の時系列データに対しては、予測という用語が使用されます。以下の予測セクションをご覧ください。

BigQuery ML は、ML.PREDICT 関数による予測機能をサポートしており、以下のモデルがあります。

モデルカテゴリ モデルタイプ ML.PREDICT が行うこと
教師あり学習 線形回帰とロジスティック回帰

ブーストツリー

ランダム フォレスト

ディープ ニューラル ネットワーク

ワイド&ディープ

AutoML Tables
回帰タスクの場合は数値、分類タスクの場合はカテゴリ値でラベルを予測します。
教師なし学習 K 平均法 エンティティにクラスタを割り当てます。
PCA 固有ベクトルで囲まれた空間に変換することで、エンティティの次元数を削減します。
オートエンコーダ エンティティを埋め込みスペースに変換します。

行列分解モデルの推論については、推奨事項をご覧ください。

インポートしたモデルを使用した推論

この方法では、BigQuery の外部でモデルを作成してトレーニングし、CREATE MODEL ステートメントを使用してモデルをインポートします。その後、ML.PREDICT 関数を使用して推論を実行します。推論処理は、すべて BigQuery のデータを使用して BigQuery で実行されます。インポートされたモデルは、教師あり学習と教師なし学習の両方を実行できます。

BigQuery ML は次のタイプのインポートされたモデルをサポートしています。

この方法により、さまざまな ML フレームワークで開発されたカスタムモデルを活用しながら、BigQuery ML の推論速度やデータとの同居のメリットを享受できます。

詳細については、次のチュートリアルのいずれかをお試しください。

リモートモデルを使用した推論

この方法では、CREATE MODEL ステートメントを使用して Vertex AI Prediction でホストされているモデルへの参照を作成し、ML.PREDICT 関数を使用してそのモデルで推論を行います。推論処理は、すべて BigQuery のデータを使用して Vertex AI で行われます。リモートモデルは、教師あり学習と教師なし学習の両方を実行できます。

この方法は、Vertex AI が提供する GPU ハードウェア サポートを必要とする大規模なモデルに対して推論を実行する場合に使用します。ほとんどのモデルが Vertex AI でホストされている場合にこの方法を使用すると、データを Vertex AI に取り込んで予測結果を BigQuery に戻すデータ パイプラインを手動で構築することなく、SQL を使用してこれらのモデルに対する推論を実行することもできます。

手順ガイドについては、Vertex AI でリモートモデルを使用して予測するをご覧ください。

予測

予測とは、履歴データを入力として使用し、情報に基づいた将来の予測を行う手法です。BigQuery ML では、予測は時系列データに適用されます。IID データについては、予測をご覧ください。

BigQuery ML では、ARIMA_PLUS モデルと ARIMA_PLUS_XREG モデルで ML.FORECAST 関数を使用して予測機能がサポートされています。時系列モデルは、単一のモデルではなく、複数のモデルとアルゴリズムを含む時系列モデリング パイプラインです。詳細については、時系列モデリング パイプラインをご覧ください。

推奨事項

Recommender システムは、ビジネス向けの ML テクノロジーの最も成功し広く普及しているアプリケーションの一つです。レコメンデーション システムは、ユーザーが大量の作品の中から魅力的なコンテンツを見つける際に活用できます。たとえば、Google Play ストアには何百万ものアプリがあり、YouTube には数十億本もの動画が用意されており、さらに多くのアプリや動画が毎日追加されています。魅力的な新しいコンテンツを見つけるためにユーザーは検索を使うことができますが、レコメンデーション エンジンは、ユーザーが自分で検索しようと考えなかったようなコンテンツを表示できます。詳細については、レコメンデーション システムの概要をご覧ください。

通常、レコメンデーション システムの ML アルゴリズムは、コンテンツ ベース方式と協調フィルタリング方式の 2 つに分類されます。

種類定義
コンテンツ ベースのフィルタリング アイテム間の類似度を使用して、ユーザーが好むものに似たアイテムを推奨します。 ユーザー A が可愛い猫の動画を 2 本見ると、システムはそのユーザーに可愛い動物の動画を推奨します。
コラボレーション フィルタリング クエリとアイテムの類似度を同時に使用して、レコメンデーションを提供します。 ユーザー A がユーザー B に類似しており、ユーザー B が動画 1 を好む場合、ユーザー A が動画 1 に類似する動画を見ていなくても、システムはユーザー A に動画 1 を推奨します。

行列分解モデルは、レコメンデーション システムの協調フィルタリング手法として広く利用されています。BigQuery ML では、レコメンデーション目的で行列分解の使用を容易にする ML.RECOMMEND 関数がサポートされています。レコメンデーションに対する行列分解の適用について詳しくは、行列分解をご覧ください。

最新のレコメンデーション エンジンでは、ディープ ニューラル ネットワーク(DNN)モデルワイド&ディープ モデルを含む)が広く使用されています。これは、行列分解に基づく協調フィルタリングの拡張とみなすことができます。クエリの特徴やアイテムの特徴を組み込んで、レコメンデーションの関連性を改善できます。詳しい背景情報については、ディープ ニューラル ネットワーク モデルを使用したレコメンデーションYouTube レコメンデーション用のディープ ニューラル ネットワーク、またはレコメンデーション システム向けのワイド&ディープ ラーニングをご覧ください。また、教師あり学習モデルであれば、どのようなものでもレコメンデーション タスクに使用できることは、特筆に値します。

異常検出

異常検知とは、データ マイニングの 1 つのステップであり、データセットの通常の動作から逸脱するデータポイント、イベント、観測値を特定することです。異常データは、技術的な問題などの重大なインシデントや、消費者の行動の変化などの機会を示すことがあります。

異常検知の課題の一つは、異常の特定と定義です。既知の異常があるラベル付きデータを使用すると、BigQuery ML ですでにサポートされている教師あり ML モデルのタイプから選択できます。既知の異常タイプやラベル付きデータがなくても、教師なし ML を使用して異常を検知できます。トレーニング データが時系列かどうかに応じて、次のモデルで ML.DETECT_ANOMALIES 関数を使用して、トレーニング データや新しい入力データの異常を検知できます。

データ型 モデルタイプ ML.DETECT_ANOMALIES が行うこと
時系列 ARIMA_PLUS 時系列の異常を検知します。
独立同分布確率変数(IID) K 平均法 入力データから各クラスタ セントロイドまでの正規化距離の中で最短の距離に基づいて異常を検知します。正規化距離の定義については、ML.DETECT_ANOMALIES をご覧ください。
オートエンコーダ 平均二乗誤差の観点から再構成損失に基づいて異常を検知します。詳細については、ML.RECONSTRUCTION_LOSS をご覧ください。ML.RECONSTRUCTION_LOSS は、あらゆる種類の再構成損失を取得できます。
PCA 平均二乗誤差の観点から再構成損失に基づいて異常を検知します。

オンライン予測

BigQuery ML の組み込みの推論機能は、バッチ予測などの大規模なユースケース向けに最適化されています。BigQuery ML では、少量の入力データを処理する場合に低レイテンシの推論結果が得られるだけでなく、Vertex AI とのシームレスなインテグレーションを通じてより高速なオンライン予測を実行できます。

Vertex AI 環境内で BigQuery ML モデルを管理できるため、BigQuery ML からモデルをエクスポートしなくても、モデルを Vertex AI エンドポイントとしてデプロイできます。Vertex AI 内でモデルを管理することで、Vertex AI MLOps のすべての機能と、Vertex AI Feature Store などの機能を利用できます。

また、他のモデル ホスティング プラットフォームで利用するために、Cloud Storage に BigQuery ML モデルを柔軟にエクスポートできます。

次のステップ