生成 AI の概要

このドキュメントでは、BigQuery ML がサポートする生成 AI(人工知能)機能について説明します。これらの機能を使用すると、事前トレーニング済みの Vertex AI 基盤モデルを使用して BigQuery ML で AI タスクを実行できます。サポートされているタスクは次のとおりです。

Vertex AI モデルにアクセスして、BigQuery ML で Vertex AI モデルのエンドポイントを表すリモートモデルを作成し、これらの関数のいずれかを実行します。使用する Vertex AI モデルでリモートモデルを作成後、リモートモデルに対して BigQuery ML 関数を実行して、そのモデルの機能にアクセスします。

この方法では、これらの Vertex AI モデルの機能を使用して、SQL による BigQuery データの分析を行います。

ワークフロー

複雑なデータ分析や生成 AI タスクを実行するには、Vertex AI モデルのリモートモデルと Cloud AI サービスに対するリモートモデルを BigQuery ML 関数とともに使用できます。

次の図は、これらの機能を組み合わせて使用する一般的なワークフローを示しています。

Vertex AI モデルまたは Cloud AI サービスを使用するリモートモデルの一般的なワークフローを示す図。

生成 AI

テキストの要約や生成、ビジュアル コンテンツの分析などのタスクの実行には、大規模言語モデル(LLM)を使用できます。たとえば、長いレポートの要約や、視覚的なコンテンツを説明するテキストの生成が可能です。また、ビジョン言語モデル(VLM)を使用して、画像キャプションや視覚的な Q&A などのタスクに関し、画像や動画などの視覚コンテンツを分析することもできます。

生成自然言語のタスクまたは視覚分析タスクを実行するには、リモートモデルを作成して ENDPOINT 値のモデル名を指定することで、事前トレーニング済みの Vertex AI 基盤モデルへの参照を作成できます。次の Vertex AI モデルがサポートされています。

  • gemini-pro
  • gemini-pro-visionプレビュー
  • text-bison
  • text-bison-32k
  • text-unicorn

任意のバージョンの Vertex AI text-bison モデルを参照するリモートモデルを作成するときに、必要に応じて教師ありチューニングプレビュー)を同時に構成することを選択できます。

モデルを作成したら、ML.GENERATE_TEXT 関数を使用して、そのモデルを操作できます。テキストモデルに基づくリモートモデルの場合、ML.GENERATE_TEXT 関数は標準テーブルのテキストを処理します。マルチモーダル モデルに基づくリモートモデルの場合、ML.GENERATE_TEXT 関数はオブジェクト テーブルのビジュアル コンテンツに対応します。推論はすべて Vertex AI で行われます。結果は BigQuery に保存されます。

詳細については、ML.GENERATE_TEXT 関数を使用してテキストを生成してみてください。

エンベディング

エンベディングを使用すると、意味的に類似したアイテムを識別できます。たとえば、テキスト エンベディングを使用すると、2 つのテキストの類似度を特定できます。テキストが意味的に類似している場合、それぞれのエンベディングはエンベディング ベクトル空間内で互いに近接しています。

BigQuery ML モデルを使用して、次のタイプのエンベディングを作成できます。

  • テキスト エンベディングを作成するには、リモートモデルを作成して ENDPOINT 値の LLM を指定することで、いずれかの Vertex AI textembedding-gecko または textembedding-gecko-multilingual テキスト エンベディングの基盤モデルへの参照を作成できます。
  • テキストと画像を同じセマンティック空間に埋め込むマルチモーダル エンベディングを作成するには、リモートモデルを作成し、ENDPOINT 値に LLM 名を指定して、Vertex AI multimodalembedding LLM への参照を作成します。この機能はプレビュー版です。
  • 構造化された独立同分布確率変数(IID)データのエンベディングを作成するには、主成分分析(PCA)モデルまたはオートエンコーダ モデルを使用します。この機能はプレビュー版です。
  • ユーザーデータまたはアイテムデータのエンベディングを作成するには、行列分解モデルを使用します。この機能はプレビュー版です。

モデルを作成したら、ML.GENERATE_EMBEDDING 関数を使用して操作できます。サポートされているすべてのタイプのモデルについて、ML.GENERATE_EMBEDDING標準テーブルのデータを処理します。マルチモーダル エンベディング モデルの場合、ML.GENERATE_EMBEDDINGオブジェクト テーブルの視覚コンテンツにも対応しています。リモートモデルの場合、すべての推論は Vertex AI で行われます。他のモデルタイプの場合、すべての推論は BigQuery で行われます。結果は BigQuery に保存されます。

詳細を確認するには、ML.GENERATE_EMBEDDING 関数を使用してテキスト エンベディング画像エンベディングを作成してみてください。

よりサイズが小さく軽量のテキスト エンベディングには、NNLM、SWIVEL、BERT などの事前トレーニング済み TensorFlow モデルを使用してみてください。

エンベディングのユースケースに最適なモデルの選択については、テキスト エンベディング モデルの選択をご覧ください。

次のステップ