Elasticsearchと生成AIを組み合わせるメリット
「釈迦に説法だが」と前置きし、古久保氏は改めて機械学習、生成AI、大規模言語モデル(LLM)の違いを解説。機械学習や人工知能(AI)の定義はデータから予測を行うアルゴリズムである。ユースケースとしては画像認識や自然言語処理、音声認識などがある。
生成AIは新しいデータを作る人工知能。ユースケースとしてはチャットボット、文章やイメージ、音楽の生成が挙げられる。「今、最も注目されている技術」と古久保氏は続ける。そしてその生成AIの基になるのがLLMである。LLMは文章を生成する深層学習アルゴリズム。ユースケースとして翻訳、質問への回答が挙げられる。着目してほしいのは、いずれのユースケースにも検索は一切入っていないことである。
確かにChatGPTが登場した頃、検索で遊んだ人は多い。そして嘘をつかれる経験もした。「LLMはあくまでもモデルによる推論。ロジックであって、データベースでは無い」と古久保氏は言い切る。
例えばChatGPTに昨日起きたことを探す人はいない。実際、ChatGPTに昨日起きたことを尋ねても「知りません」と回答される。これはLLMがトレーニングに制限されるからだ。最新情報に弱いだけではない。LLMに社内の情報を尋ねても回答は返ってこない。「万一、回答が戻ってきたら、社内の情報が漏れていることになる」と古久保氏は苦笑いを浮かべる。このように現在のLLMは最新情報や特定の情報を調べるのには使いづらいところがある。
LLMと検索の違いはこれだけではない。LLMは検索とは異なり、費用が高額になることだ。「検索のコストは文章生成コストの100分の1か1000分の1。例えばECサイトでOpenAIにリクエストを投げて検索したら、破産すると思います」(古久保氏)
では、生成AIをどうやって活用していけばよいのか。例えばChatGPTに「確定拠出年金制度への加入方法を教えてください」と尋ねたとする。ChatGPTは厚生労働省などが提供しているオープンな文書を返してくれる。確かに回答としては正しい。だが、会社の中でこういう質問をした場合、求めているのは預かっている証券会社の名前や登録方法である。
「それはイントラネットに掲載されている情報なので、ChatGPTは教えてくれません。このようにChatGPTは一般的なことは知っているが、あなたの会社のことは知らないのです」(古久保氏)
そこで活用したいのがElasticsearchとの組み合わせた仕組み「ESRE(Elasticsearch Relevance Engine)」である。Elasticsearchを導入し、イントラネットに載っている情報をインデックス化する。こうすることで、「確定拠出年金制度」と入力すると、「ABC社の確定拠出年金はXYの証券会社を通して提供されており……」がヒットするようになり、さらに「アカウントの作成方法は社内ページの登録ボタンを……」「確定救出年金は毎月1日に開始されます……」という詳細情報もヒットするようになる。
「Elasticsearchは全文検索なので、確定拠出年金制度といういずれかのワードが入っていないと、ヒットはゼロになる。確定、拠出、年金という単語がすべて使われている文章が上位にきます」(古久保氏)
そしてこの後、プロンプトエンジニアリングを行う。質問文「確定供出年金制度の加入方法は」と、そのネタとしてトップ3〜5に入った文章をコンテキストとしてOpenAIに投げ、要約してもらう。つまりこの仕組みにおいてAIはコンテキストとして入れた文章を、質問に合わせて要約して回答を作るツールとして活用しているのだ。
「このように検索という一手間を加えることで、生成AIはあなたを理解できるようになります」と古久保氏。あなたは最新に置き換えることもできる。生成AIの弱点を検索で補うことで、より有効に活用できるようになるわけだ。