画像生成、テキスト生成をはじめここ数年で多くのサービスが登場し、精度・品質も急速に向上しつつあるGenerative AI。今後もあらゆる産業におけるさまざまなビジネスシーンでの活用が見込まれているが、最新情報へのアクセスのしづらさなど、現状ではまだ課題も多い。

そうした課題の解決策の1つとなりうるのが、BigQueryとの統合である。2023年11月に開催されたオンラインセミナー「TECH+ EXPO 2023 Autumn for データ活用 Day7 経営とデータ活用」では、クラウドエース株式会社 取締役CTO 高野 遼氏が登壇し、Generative AIとBigQueryの活用法について解説した。

  • 登壇する高野氏

    クラウドエース株式会社 取締役CTO 高野 遼氏によるセッション「イノベーションを促進するためのGenerative AIとBigQueryの活用

Generative AIの流行とLLMの限界

ここ数年におけるGenerative AI(生成AI)の流行は目覚ましく、ビジネスに与える影響も非常に大きいと言われている。数あるGenerative AIサービスの中でも、最も速く一億ユーザーを達成したと言われているのが、テキスト生成モデルChat GPTだ。人気の秘訣はさまざまあるが、各国の言語で自然な会話が成立する点、なおかつ推論能力がある点が特に注目されている。

ChatGPTの重要な要素技術となるのが、LLM(Large Language Model:大規模言語モデル)である。LLMとは、これまで人類が使用してきた膨大な文章データを学習し、自然な文章を生成する技術だ。高野氏は「LLMはGenerative AIのなかでも私が非常に注目している技術であり、今後も活用が見込まれます」としたうえで、現時点でのLLMの4つの限界を紹介した。

1.「最新情報へのアクセスの欠如」

LLMは学習された時点までの情報しかなく、たとえば最近のニュースについては正確な回答ができない。

2.「独自情報へのアクセスの欠如」

学習に使われていないクローズドな情報へはアクセスできないため、社内の情報やプライベートな内容ついては回答されない。業務でLLMを使ううえでは特に重要な問題になる。

3.「推論の欠如」

LLMでは推論が可能だが、複雑になると誤った推論をしたり、精度が低下したりする場合もある。

4.「モデル爆発」

LLMは、非常に汎用性の高いテキスト生成モデルである一方、特定の業務にあわせて利用しようとすると精度が見込めない場合がある。特定のタスクに向けてファインチューニングなどを行い、モデルを特殊化していかなければならないが、各業務に対してそれを行うことは運用上現実的ではない。

これら4つの課題を受けて、高野氏は「LLMを身のまわりの業務効率化に使うには、非公開情報の活用が欠かせない」とする。縦軸を動的/静的、横軸を公開/非公開で情報の性質を4象限に整理すると次のようになる。

  • (図)社内情報とLLMの関連

このうち、現状でLLMが取り扱える情報は図左側となる。法律や技術規約といった静的かつ公開されている情報、気象データや渋滞情報など動的かつ公開されている情報だ。ただ、やはり普段の業務で利用するとなると、図右側の非公開の事実情報をどう使うかが鍵となる。

「非公開情報をLLMと上手くなじませ、LLMの得意領域である推論に活用できるかどうかが今後重要になります。最新かつ独自の情報にアクセスでき、より良い推論を大規模なトレーニングなしでできることが業務適用への第一歩になると考えます」(高野氏)

現時点でこうした問題を解決する方法としては、グラウンディングやプロンプトエンジニアリングなどが知られているが、高野氏はBigQueryを活用する方法について紹介した。

BigQueryとLLMの統合方法

BigQueryとは、Google Cloudで提供されているフルマネージドなデータウェアハウスであり、これをLLMと統合する場合、LLMは推論エンジンとして使うことを高野氏は推奨する。

「LLMは、もともと備わっている一定の知識と推論能力で、人間に代わって推論を行うものとして利用。一方、BigQueryは、LLMの課題である非公開の事実情報へアクセスできないという部分を補うために、それらを提供する情報ソースとして利用する。また、LLMの推論の結果として実世界に影響をもたらすための処理系という役割も果たせるのではないかと考えます」と話す。

具体的には、下図のような流れで統合していくとよいという。

  • (図)BigQueryとの統合パターン

以下では、順に詳しく見ていきたい。

1.SQLの生成

テーブル定義情報、カラムの意味、行いたい分析内容をプロンプトに入力したうえで、BigQueryで使用可能なSQLを生成するよう指示を出すことでそれが叶えられる。ここで、間違えやすいポイントについてもあらかじめプロンプトに含めると、精度が上がりやすいという。

「データ分析をする人に必須と思われていたSQLのスキルがこの方法で不要になるかもしれません。BIツールはあらかじめ組み込まれた分析しかできないため、SQLを自在に生成できるということは、今後誰もがそのときに思った分析をできるようになる可能性があるということです」(高野氏)

2.テーブルデータをもとにしたテキスト生成

ここでは、BigQueryのテーブルに格納されているデータをもとにテキスト生成ができるというPaLM2によるテキスト生成機能 ML.GENERATE_TEXTを用いる。

たとえば、テーブル内のフルーツや季節の情報をもとに、新しい小説のあらすじを300文字以内で作成したい場合は次のようなSQLクエリと結果になる。

  • (キャプチャ)SQLクエリ

    SQLクエリ

  • (キャプチャ)クエリ結果

    クエリ結果

「これを業務データに置き換えて考えると、1行ずつデータを読み込んでプロンプトエンジニアリングするのではなく、BigQueryのなかで自動的に完結することができるというわけです」(高野氏)

3.(高度)SQLの生成と実行・結果の分析までを含むテキスト生成

ここでは、指示に対して何をすべきかという推論から生成・実行までを行えるオープンソースのフレームワーク「LangChain」を利用する。

さまざまな企業がLLMを提供するなか、LangChainはメーカーごとに異なる実装となるLLM APIの抽象や、LLM拡張のためのツールキットを提供しており、各LLMを簡単に使い分けることができたり、特定のLLMタスクと後続のタスクを紐づけて連続的に動かしたりといったことが簡単にできるようになる。

BigQueryとともに利用する場合は次の図のようなイメージとなる。

  • (図)LangChainの活用

    プロンプトを与えると、LangChainとLangChainのコントロールのもとに動く推論エンジン(LLM)でBigQueryのデータを使いながら、推論やアクションを行ったり、その結果を見たりすることができる。

LLMを有効活用するには、データガバナンスが重要

他にも統合の方法はあるが、いずれにしてもBigQueryはLLMとの相性が良い。高野氏は「非公開の技術情報を格納しておくのにも適しているし、LLMによる結果を現実世界に実装したい場合にもBigQueryは有効に使えるのではないか」とコメントした。

この先、LLMの活用を進めるには、LLMが仕事をしやすい環境づくりが重要となる。それは、情報が整理された環境であり、人間が仕事をしやすい環境と同じといえる。

※LLMをビジネスの現場で効果的に活用するためのポイントと、それを実現するGoogle Cloudの特徴についてはクラウドエースの無料ガイドブック「Google Cloud だからできるビジネスと生成 AI のシームレスなガイドブック」をご覧ください。

最後に高野氏は「わからない情報や不確実な情報をできるだけなくし、正しい情報を整備した環境で推論を行わせることが重要です。そのために、社内のあらゆる情報をBigQueryにまとめて整理し、それぞれの行を説明できるようにしたうえで、LLMでアクセスできるようにしておくと上手く推論が行えるようになるはずです。今後はデータガバナンスが取れた状態がより一層求められるようになるでしょう」と述べ、セッションの幕を閉じた。

関連リンク

[PR]提供:クラウドエース