生成 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 などのタスクで画像や動画などのコンテンツを分析することもできます。マルチモーダル モデルを使用すると、LLM や VLM と同じタスクだけでなく、音声文字起こしやドキュメント分析などのタスクも実行できます。

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

Anthropic Claude モデルプレビュー)もサポートされています。

プレビュー版のモデルに関するフィードバックやサポート リクエストについては、bqml-feedback@google.com までメールをお送りください。

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

作成したモデルは、ML.GENERATE_TEXT 関数で操作できます。

  • gemini-1.0-protext-bisontext-bison-32ktext-unicorn モデルをベースとするリモートモデルの場合、クエリで指定したプロンプトまたは標準テーブルの列で ML.GENERATE_TEXT 関数を使用できます。
  • gemini-1.0-pro-vision モデルに基づくリモートモデルの場合、ML.GENERATE_TEXT 関数の引数としてプロンプトを指定し、オブジェクト テーブルの画像または動画コンテンツを分析できます。
  • gemini-1.5-flash モデルまたは gemini-1.5-pro モデルに基づくリモートモデルの場合、ML.GENERATE_TEXT 関数の引数としてプロンプトを指定して、オブジェクト テーブルのテキスト、画像、音声、動画、PDF コンテンツを分析できます。また、クエリで指定したプロンプトまたは標準テーブルの列から、テキストを生成することもできます。

ML.GENERATE_TEXT 関数で Gemini モデルを使用する際に入力として標準テーブルを使用している場合は、グラウンディング安全属性を使用できます。グラウンディングにより、Gemini モデルはインターネットから追加情報を取得し、より具体的で事実に基づく回答を生成できます。安全属性を使用すると、Gemini モデルは、指定された属性に基づいてレスポンスをフィルタできます。

推論はすべて Vertex AI で行われます。結果は BigQuery に保存されます。

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

エンベディング

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

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

  • テキスト エンベディングを作成するには、リモートモデルを作成して ENDPOINT 値の LLM 名を指定することで、いずれかの Vertex AI の text-embedding または text-multilingual-embeddingエンベディング モデルへの参照を作成できます。
  • テキスト、画像、動画を同じセマンティック空間に埋め込むマルチモーダル エンベディングを作成するには、リモートモデルを作成し、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 モデルを使用してみてください。

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

次のステップ