モデル推定の概要
このドキュメントでは、BigQuery ML がサポートする以下の種類のバッチ推論について説明します。
ML 推論とは、データポイントを ML モデルに入力して、単一の数値スコアなどの出力を計算するプロセスです。このプロセスは、「ML モデルの運用」または「本番環境への ML モデルのデプロイ」とも呼ばれます。
バッチ予測
以下の各セクションでは、BigQuery ML で利用可能な予測の実行方法について説明します。
BigQuery ML トレーニング済みモデルを使用した推論
BigQuery ML における予測は、教師あり学習モデルだけでなく、教師なし学習モデルにも使用されます。
BigQuery ML は、ML.PREDICT
関数による予測機能をサポートしており、以下のモデルがあります。
モデルカテゴリ | モデルタイプ | ML.PREDICT が行うこと |
---|---|---|
教師あり学習 |
線形回帰とロジスティック回帰 ブーストツリー ランダム フォレスト ディープ ニューラル ネットワーク ワイド&ディープ AutoML Tables |
回帰タスクの場合は数値、分類タスクの場合はカテゴリ値でラベルを予測します。 |
教師なし学習 | K 平均法 | エンティティにクラスタを割り当てます。 |
PCA | 固有ベクトルで囲まれた空間に変換することで、エンティティの次元数を削減します。 | |
オートエンコーダ | エンティティを埋め込みスペースに変換します。 |
インポートしたモデルを使用した推論
この方法では、BigQuery の外部でモデルを作成してトレーニングし、CREATE MODEL
ステートメントを使用してモデルをインポートします。その後、ML.PREDICT
関数を使用して推論を実行します。推論処理は、すべて BigQuery のデータを使用して BigQuery で実行されます。インポートされたモデルは、教師あり学習と教師なし学習の両方を実行できます。
BigQuery ML は次のタイプのインポートされたモデルをサポートしています。
- PyTorch、scikit-learn、他の一般的な ML フレームワークでトレーニングされたモデル用の Open Neural Network Exchange(ONNX)
- TensorFlow
- TensorFlow Lite
- XGBoost
この方法により、さまざまな ML フレームワークで開発されたカスタムモデルを活用しながら、BigQuery ML の推論速度やデータとの同居のメリットを享受できます。
詳細については、次のチュートリアルのいずれかをお試しください。
リモートモデルを使用した推論
この方法では、CREATE MODEL
ステートメントを使用して Vertex AI Prediction でホストされているモデルへの参照を作成し、ML.PREDICT
関数を使用してそのモデルで推論を行います。推論処理は、すべて BigQuery のデータを使用して Vertex AI で行われます。リモートモデルは、教師あり学習と教師なし学習の両方を実行できます。
この方法は、Vertex AI が提供する GPU ハードウェア サポートを必要とする大規模なモデルに対して推論を実行する場合に使用します。ほとんどのモデルが Vertex AI でホストされている場合にこの方法を使用すると、データを Vertex AI に取り込んで予測結果を BigQuery に戻すデータ パイプラインを手動で構築することなく、SQL を使用してこれらのモデルに対する推論を実行することもできます。
手順ガイドについては、Vertex AI でリモートモデルを使用して予測するをご覧ください。
Vertex AI で BigQuery モデルを使用してバッチ推論を行う
BigQuery ML には、Vertex AI を使用することなくバッチ予測をサポートする機能が組み込まれています。BigQuery テーブルを入力として Vertex AI でバッチ予測を行うために、BigQuery ML モデルを Model Registry に登録することもできます。ただし、これを行うには、Vertex AI API を使用して InstanceConfig.instanceType
を object
に設定する必要があります。
オンライン予測
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 モデルを柔軟にエクスポートできます。
次のステップ
- Vertex AI モデルを使用してテキストとエンベディングを生成する方法については、生成 AI の概要をご覧ください。
- Cloud AI API を使用して AI タスクを実行する方法については、AI アプリケーションの概要をご覧ください。
- 対応するモデルタイプや推論の種類に応じた SQL 関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。