こんにちは、プロダクト開発本部の上原です。
db tech showcase 2023 1日目のC8のセッションである「BigQueryと大規模言語モデルPaLMで進化するデータ分析 」のレポートをお届けします。dbts2023の一部のセッションについては、1月からアーカイブ配信を開始しておりますので、当日いらっしゃらなかった方も是非ご覧ください!
セッション概要
Google Cloud の提供する DWH 、BigQuery のデータに最先端の AI を簡単に適用できるようになりました。Google の提供する大規模言語モデル (LLM) の PaLM を BigQuery から直接呼び出し、コンテンツ生成に活用する方法をご紹介します。また、埋め込みとベクトル検索を組み合わせ、LLM の性能を向上させるアーキテクチャ "RAG" を BigQuery の SQL だけで実装する方法についても解説します。さらに柔軟性が高まった BigQuery をぜひ御覧ください。
スピーカー名:グーグル・クラウド・ジャパン合同会社 村上 祐磨様
BigQuery ML(BQML)
BigQueryはBigQuery ML(BQML)という組み込みの機械学習機能を提供しています。BQMLが提供を開始したのは実に5年前(!)。「MLの民主化」を掲げ、誰もがMLの恩恵を気軽に得られることを目指しているそうです。回帰、分類、クラスタリングといったタスクを解くための基本的なモデルはもちろん用意されています。そしてセッションタイトルの通り、BigQueryからGoogleが開発した大規模言語モデルPaLMを呼び出すことができます!
Vertex APIを通じて、SQLでLLMを呼び出せる。https://cloud.google.com/blog/ja/products/data-analytics/integrating-vertex-ai-foundation-models-in-bigqueryより引用
Vertex AIのAPIを叩くことで、PaLMはSQLを使って呼び出されます。これだけ書くのは面倒そうですが、こうしたSQLもPaLMで生成できるとのこと。LLMすごいな~
BQMLの活用事例
非構造化データの分析
BigQueryは画像や動画といった非構造化データを保持することができるので、BQMLを活用することで、その分析ができます!
今回の例では、BigQueryからAPIを通じて、Imagenと呼ばれるImage-to-Textツールを呼び出し、SQLを使って画像質問応答タスクを解いていました。いかにも機械学習らしいタスクなのに、SQLを叩くだけで最後までできるのはとても魅力的!タスクの予測結果はそのままBigQueryに落ちるので、後のさらなる集計・分析ステップにも活用しやすそうです。
Retrieval-Augmented Generation(RAG)
RAGはLLMが外部のドキュメントを参照できるようにする仕組みですが、こちらもなんとBQMLで完結できます!
BigQueryはベクトルストアやベクトルの類似検索、さらにエンベディングといったRAGに必要な要素をサポートしています。あとはPaLMを呼び出し、適切にプロンプトに埋め込むことでRAGが実現されます。これが全部BigQueryで動くのは興味深いです!
聴講した感想
そのほか、PaLMにSQLクエリのリファクタリングをさせたり、「秘伝のたれ的なSQL」の意味を聞いてみたりなど、データベースエンジニアにとっても耳よりな活用方法のご紹介がありました。BigQuery, PaLMともに様々なアップデートが予定されているとのことで、今後がとても楽しみですね!