生成AIの「幻覚」防ぐグラウンディング、ハルシネーションの解決策をひもとく

  • 2023.10.12
  • AI
生成AIの「幻覚」防ぐグラウンディング、ハルシネーションの解決策をひもとく

大規模言語モデル(LLM)ベースの生成AI(人工知能)を企業が活用する際の大きな課題は、AIがでたらめを述べる「ハルシネーション(幻覚)」だ。自社の商品サービスを顧客に説明するAIがハルシネーションを起こしたら、企業の評価を毀損する恐れすらある。

「ハルシネーションの解決策としてグラウンディング(Grounding)がある」。グーグル・クラウド・ジャパンが2023年8月22日に開催した生成AIに関するイベント「Generative AI Summit」で、同社の牧允皓氏はこう語った。

ここで言うグラウンディングとは、AIを活用する側が指定した情報源だけに基づいて、LLMに回答を生成させることを指す。LLMは事前に学習した大量の訓練データから得た情報に基づいて文章を生成するが、ここでは事前学習した情報は使わせない。生成した文章の情報がどのデータに基づくのか追跡できるようにもする。

Google Cloudは生成AIを組み込んだ業務アプリケーションの開発ツールGenerative AI App Builder(Gen App Builder)を2023年3月に発表し、一部のユーザー企業に早期提供している。Gen App Builderは2023年8月29日(米国時間)に開催された「Google Cloud Next ’23」で「Vertex AI Search and Conversation」に改名された。同ツールには業務アプリケーションにAIチャットボットを組み込む仕組みや、AIチャットボットにグラウンディングを実装する仕組みが搭載されている。そこで今回は同ツールの実装を例に、グラウンディングがどう行われるのかを説明しよう。

追加学習ではハルシネーションを防げず

まずLLMの追加学習(ファインチューニング)では、ハルシネーションを防げない点を指摘しておこう。例えば自社製品に関する情報をLLMに追加学習させると、LLMは自社製品に関する情報を含む文章を生成できるようになる。しかし「自社製品以外の情報に基づく文章」や、本当にでたらめな文章を生成する可能性は、追加学習をした後でも排除できない。

それに対してVertex AI Search and Conversationにおけるグラウンディングは、追加学習ではなく検索エンジンを使う。ユーザー企業はあらかじめ、自社製品に関するドキュメントなどを専用の検索エンジンに登録しておく。LLMは人間からの質問を受け取ったら、その質問に基づき検索エンジンを使って自社製品の情報を検索する。そして質問に合致する情報を見つけたら、その情報のみに基づいて回答文を生成する。これがグラウンディングの流れだ。

肝は「ベクトル検索エンジン」

ここでの肝は、情報の検索に「ベクトル検索エンジン」と呼ばれる最新技術を使う点だ。昔ながらの「キーワード検索」のように、単語(キーワード)が含まれる文章を単純に探しているのではない。

ベクトル検索エンジンにおいては、文章データは高次元のベクトルとして扱われる。さらに最新のベクトル検索エンジンは、文章データのベクトル化(エンベディングと呼ばれる)にLLMを使用することで、文章の意味を情報としてベクトルに「埋め込む」ことができる。

テキストデータを意味に基づくベクトルに変換できるようにした先駆けは、米Google(グーグル)が2013年に公開したword2vecだった。word2vecは単語単位でのベクトル化が可能だった。ベクトルになることで単語の意味に基づいた「計算」が可能になり、「King-Man+Woman=」という計算式を与えると、「Queen」という答えを導き出せるようになった。

現在はこの仕組みを、単語だけでなく文章単位、さらには複数の文章からなる文書全体に適用できるようになった。最新のベクトル検索エンジンにおいては、質問文をLLMがベクトル化し、検索対象である各文章のベクトルと比較・計算することで、質問文に合致する内容の文章を探し出す。他にも文章の意味に基づく分類(クラスタリング)や、関連情報の探索などが可能だ。

ベクトル検索エンジンは20年以上前から存在する技術だが、ベクトル化にLLMを使うようになることで精度や使い勝手が大幅に向上した。生成AIのグラウンディングは、LLM活用の一環なのである。

最新のPaLM 2がテキストをベクトル化

グラウンディングに使うのはGoogle Cloudのベクトル検索エンジンであるVertex AI Search(2023年8月29日に名称変更、それまでの名称はGenerative AI App Builder Enterprise Search)だ。テキストデータのベクトル化には、グーグルの最新LLMであるPaLM 2のGeckoモデルが使われている。

さらにGoogle Cloudの別のベクトル検索エンジンであるVertex AI Matching Engineを使うと、テキストデータだけでなく画像データも含めて、つまりはマルチモーダルでベクトル化や検索ができる。マルチモーダルのデータをベクトル化すると「画像を意味に基づいて文章で検索する」といったことが可能になる。これを使うと「自社の製品についての質問に、文章や画像を使って回答するチャットボットAI」といった業務アプリが実現できるだろう。

米OpenAI(オープンAI)のLLMをAzure OpenAI Serviceとして提供する米Microsoft(マイクロソフト)にも、生成AIのグラウンディングに使用できるベクトル検索エンジンAzure Cognitive Searchがある。ベクトル検索エンジンを使った生成AIのグラウンディングは、生成AIを業務アプリに活用する際の鍵になりそうだ。

なおベクトル検索エンジンは、意味に基づいた検索が可能になることから「セマンティック(意味)検索エンジン」と呼ばれたり、ベクトル化(エンベディング)を使用することから「エンベディングベース検索エンジン」と呼ばれたりしている。ベクトル検索機能が組み込まれたデータベースである「ベクトルデータベース」も登場している。LLMや生成AIの活用が進むにつれ、ベクトル検索エンジンやベクトルデータベースへの注目度も高まりそうだ。

日経 xtech より

AIカテゴリの最新記事