生成 AI の概要

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

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

この方法では、SQL クエリでこれらの Vertex AI モデルの機能を使用することで、BigQuery データを分析できます。

ワークフロー

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

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

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

テキスト生成

テキスト生成は、プロンプトまたはデータ分析に基づいてテキストを生成する生成 AI の一種です。テキストとマルチモーダル データの両方を使用してテキスト生成を実行できます。

テキスト生成の一般的なユースケースは次のとおりです。

  • クリエイティブ コンテンツの生成。
  • コードを生成する。
  • チャットまたはメールの返信の生成。
  • 今後の商品やサービスの可能性の提案など、ブレインストーミング。
  • コンテンツのパーソナライズ(商品の候補など)。
  • コンテンツに 1 つ以上のラベルを適用してカテゴリに分類することで、データを分類します。
  • コンテンツで表現されている主な感情を特定する。
  • コンテンツで伝えられた主なアイデアや印象を要約する。
  • テキストデータまたは画像データ内の 1 つ以上の重要なエンティティを特定する。
  • テキスト データまたは音声データのコンテンツを別の言語に翻訳する。
  • 音声データの音声コンテンツに一致するテキストを生成します。
  • 画像キャプションや画像データに関する Q&A の実行。

テキスト生成後の一般的な次のステップはデータの拡充です。ここでは、初期分析からの分析情報を追加データと組み合わせて拡充します。たとえば、家具の画像を分析して design_type 列のテキストを生成すると、家具の SKU に mid-century modernfarmhouse などの説明が関連付けられます。

サポートされているモデル

次の Vertex AI モデルがサポートされています。

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

テキスト生成モデルを使用する

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

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

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

次のいずれかのモデルを参照するリモートモデルを作成するときに、必要に応じて教師ありチューニングを同時に構成することもできます。

  • gemini-1.5-pro-002
  • gemini-1.5-flash-002
  • gemini-1.0-pro-002プレビュー

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

次のトピックを使用して、BigQuery ML でテキスト生成を試すことができます。

エンベディングの生成

エンベディングは、テキストや音声ファイルなど、特定のエンティティを表す高次元の数値ベクトルです。エンベディングを生成すると、データを推論して比較しやすくするように、データのセマンティクスをキャプチャできます。

エンベディング生成の一般的なユースケースは次のとおりです。

  • 検索拡張生成(RAG)を使用して、信頼できるソースの追加データを参照し、ユーザーのクエリに対するモデルのレスポンスを補強します。RAG は、事実の精度と回答の一貫性を高め、モデルのトレーニング データよりも新しいデータにアクセスできるようにします。
  • マルチモーダル検索を実行しています。たとえば、テキスト入力を使用して画像を検索する。
  • セマンティック検索を実行して、レコメンデーション、置換、レコードの重複除去に類似したアイテムを見つける。
  • クラスタリング用の K 平均法モデルで使用するエンベディングを作成する。

サポートされているモデル

次のモデルがサポートされています。

  • テキスト エンベディングを作成するには、Vertex AI の text-embedding モデルと text-multilingual-embedding モデルを使用できます。
  • テキスト、画像、動画を同じセマンティック空間に埋め込むマルチモーダル エンベディングを作成するには、Vertex AI multimodalembedding モデルを使用します。
  • 構造化された独立同分布確率変数(IID)データのエンベディングを作成するには、BigQuery ML の主成分分析(PCA)モデルまたはオートエンコーダ モデルを使用します。
  • ユーザーデータまたはアイテムデータのエンベディングを作成するには、BigQuery ML の行列分解モデルを使用します。

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

エンベディング生成モデルを使用する

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

リモートモデルの場合、すべての推論は Vertex AI で行われます。他のモデルタイプの場合、すべての推論は BigQuery で行われます。結果は BigQuery に保存されます。

次のトピックを使用して、BigQuery ML でテキスト生成を試すことができます。

次のステップ

  • 機械学習モデルに対する推論の実行について詳しくは、モデル推論の概要をご覧ください。