「緑のgoo」は2025年6月17日(火)をもちましてサービスを終了いたします。
これまで長きにわたりご利用いただきまして、誠にありがとうございました。
●この記事のポイント
・世間で言う「RAGで精度向上」とは、「適合率 Precision」ではなく「再現率 Recall(カバレージ)」の向上を意味する。元のLLMに専門知識加えるのだからこれは当たり前
・RAGに正しい構造で省略の無い十全な知識を与えてあげないと、「適合率 Precision」、すなわち本当の精度は低下する。LLMと正反対に、知識を増やせば増やすほどRAGの精度は低下しがち
・RAGエンジンは対話ボット専用ではなく、何万点もの商品について多様な顧客に店員が説明し会話する模範対話例を生成させたり、専門知識による答案を採点したりも可能
2022年夏まで2年半にわたって連載していた「AIなんか怖くない!」ですが、最後の数回は、ウクライナ戦争におけるAIをテーマにしていました。まさかウクライナ・ロシア戦争が3年以上続いていて、まだ終わらないでいるなどとは、当時、戦争とAIについて書いた時点では想像もしていませんでした。ともあれ、このたび昨今の状況を踏まえて「AI無しではもはややっていけない!」という連載タイトルで再開することとなりました。どうぞよろしくお願いいたします。
休載中に、AIについては、人類史上に特筆されるべきかもしれない、とんでもないことが起こりました。2022年11月に、当時は「知る人ぞ知る」だったLLM(大規模言語モデル)のGPT3に人間フィードバック学習などを付加したChatGPT がデビューしたのがきっかけです。LLMが、さまざまなAIの中で、突出して爆速で進化した理由は、学習用の正解データをほぼ自動生成でき、学習データを増やせば増やすほど性能が向上する仕組みをもったからです。
RAGの実現方法、アレンジ法は様々 最大のポイントは「精度(適合率 Precision)」の向上 RAGエンジンは対話ボット専用ではない AIエージェントはけた外れに高い精度が要求される RAGの実現方法、アレンジ法は様々生成AIブームは、単なる技術進化だけではありません。OpenAI社がGPT3を、ChatGPTという対話botとして公開するにあたって、RLHF(人間フィードバックによる強化学習)という仕組みで対話を通して学習できるようにしたり、プロンプトエンジニアリングやファインチューニングにより各種専用AIとしてカスタマイズできるようにしたり、ネット検索などの拡張機能との融合が進むにつれ、業務の現場で実際に使えるよう、普及の度合いにも加速度が増す勢いです。
2018年から2019年春にかけて執筆した「AIに勝つ!」という本の中で、いずれLLM(大規模言語モデル;当時の呼称は「機械読解」)のようなAIが人間に代わって大量の情報を読みこなし、対話的に要点を教えてくれるようになる未来像を描き、今日の事態を予言していました。しかし、その私の予想を超えたスピードでLLMおよび関連技術、応用は進展しています。そんな中で、自分は何をすべきか。「人工知能学会誌16巻 1号」(2001年 1月) 特集「『ナレッジマネジメントとその支援技術』にあたって」の中で、往年のナレッジマネジメントブームの立役者、T.ダベンポート博士や野中郁次郎教授と並んでAI支援ナレッジマネジメントの牽引者と扱われただけでなく、当時の私が作った言葉「類似検索」の実体が今日のベクトル・ストレージに対するベクトル検索というRAG(検索拡張生成)の中核技術そのものであったことから、RAGの高精度化に資源とエネルギーを集中させるのは自然な流れでした。
「うちの総務の外線番号、何番だったっけ?」とChatGPTに訊いても答えられるはずはありませんね? 答えられたなら、何らか情報漏洩し、かつ必要以上に自分の作業内容、個人情報等がクラウドのAIに渡ってしまっていることになるでしょう。法人、組織には社外秘、部外秘の情報が溢れています。また、なんらかの職人芸を支える専門知識を表す言葉、自分たちだけが使う用語やアルファベット2,3文字の略語、さらには、一般用語を違う意味で使う符丁みたいな言葉で溢れています。これらをAIが理解し高精度に回答できる仕組みを確立しない限り産業界で広く生成AIが業務フローに本格的に組み込まれることはない(個人のブレスト、壁打ち用にとどまる)、と2023年初頭に確信し、ノーコードで誰でも使えるRAG製品ChatBridを発売しました。
RAG関連で1万本以上の論文が書かれています。かように、RAGの実現方法、アレンジ法は様々です。中核部分だけをとってもても、一口にベクトル検索といっても、知識の実体をどのようにモデル化して、どのようなベクトル数値化するか千差万別の違いがあります。海外製の分かち書きツール、いわゆるトークナイザでは、日本語の単語、概念の単位を正しくとらえることができず精度が頭打ちになることもあります。あるドキュメントの目次の階層的な構造が知識体系を忠実に表現していることが多いですが、それを適切な粒度(サイズ)に切り取った知識素片(チャンクといわれます)が、知識体系全体の中でどのように位置づけられるかを適切にLLMに教える必要があります。こうした努力をすでに四半世紀前から行ってきている、いわば日本語処理職人の自分がまだまだ世のため人のため貢献できる度合いが大きそうだ。これが、「AI支援ナレッジマネジメント」という「昔の名前で出ています」と表明した理由です。
最大のポイントは「精度(適合率 Precision)」では具体的に、どう貢献すべきか。その最大のポイントが「精度(適合率 Precision)」です。世間では、「素のChatGPTでは精度が出ないのでRAGで正しく答えられるようにしましょう!」なる言い方が流布しています。これは厳密には間違いです。ここでいう精度は、検索結果の何%が正解かを問う「適合率 Precision」ではなく、これまで検索にひっかかってこなかったものをどれだけカバーできるようになったかを問う「再現率 Recall(カバレージ)」を意味するからです。
集合論の「ベン図」を使って描いた「適合率 Precision」「再現率 Recall(カバレージ)」を、往年の法政大学大学院イノベーションマネージメント研究科客員教授時代ならびに同志社大学ビジネススクールゲスト講師(2006-7)時代の講義資料から引用します:
この図を使うと、両者の定義は実にシンプルに説明できます。例えば何かをテーマにした文書群を検索している状況で、社内なら社内の全文書の集合が図中の長方形、すなわち全体部分となります。その中で、神のみぞ知る(?)本当の正解、すなわちそのテーマの文書の集合が「本当の正解A」の円です。検索システム(やAI)が、これが正解でしょ? と出してきたのが「検索システムの出力S」の円です。この2つの円の交わり部分(intersection) が、「正しくヒットしたものH」となります。
「再現率 Recall(カバレージ)」とは、「本当の正解A」のうち何%を検索システムが拾えたかの数字ですので、H/A という割り算をするだけです。まさにカバー率ですね。「適合率 Precision」とは、「検索システムの出力S」のうち何%が正解だったかを示す数字ですので、 H/S という割り算をするだけです。通常ユーザに見えるのはこちらだけであり、「精度」といったら本来こちらのことに他なりません。
ところが先の「素のChatGPTでは精度が出ないのでRAGで正しく答えられるようにしましょう!」なる言い方でRAGによって門外不出の社内知識をLLMが回答できるようになるというのは、本来の精度、「適合率 Precision」ではありません。新たに社内知識をカバーできるようになったから「再現率」が上がる、ということだけをさしているのです。
では精度はどうなるか? LLMには、適切に加工された正解データを大量に入れれば入れるほど精度が上がりました。しかしRAGの場合、似たり寄ったりの構成や内容の文書、バージョンが違って新旧、正誤入り混じった文書、もともと社員にとって当たり前の現場知識は省略されて書かれていなかったり日本語も目次構成も不備だらけだったりの文書など、入れれば入れるほど、どんどん精度が下がります。そもそも日本語の分かち書きや単語認定が間違っていたり、章立て、セクション分けに不備あったり、アウトライン無視した手動インデント(左から6つずつ各行に空白入れるなど)やエクセル方眼紙由来のPDFなどRAGシステムには酷なデータがたくさんあります。これらについて地道に数百種類の対策を行っていかないと90%以上の精度など望めないのが実情です(海外製トークナイザ=分かち書きのAPI頼りだと30〜40%の精度しか出ないことがあります)。
上記のベン図の右下のあたりには、再現率を上げたくてシソーラス、いわゆる類義語辞典を使って不用意に言い換えをしてしまうと、(別の文脈では違う意味になってしまう単語も拾われることで)精度1/5と、激しく精度が下がった事実を示しています。類義語に言い換える仕方に巧みに制限を加え、LLMに指示を与えることで(このようなプロ級のプロンプトエンジニアリングは引き続き超有効です。ChatGPTサイトの一部のGPTsが引き続き超有効なのと同様に!)、精度を低下させずに再現率を上げる。このような工夫がRAGの精度向上にとって本質的に重要です。しかし、そのような地道な試みは論文になりにくいので、研究者の多くは斬新なアーキテクチャ、5種に言い換えたら5回LLMを呼ぶRAG Fusion、リランキングなどのアルゴリズムの工夫に精を出しますが、目先を変えてもクリアできない本質的問題は残ります。
RAGエンジンは対話ボット専用ではない筆者らはRAG製品発表の後もさらに2年以上かけて(潜在的には四半世紀前の類似検索によるAI支援ナレッジマネジメント以来の時間をかけて)、特に日本語向けに極めて高い精度になるよう磨いてきました。ChatBridは当然ながら自前の辞書(複合語の扱いが絶妙)、トークナイザ、ベクトル・ストレージにより高精度の基礎を作っています。その上の、知識階層の構築、知識体系をLLMが理解したまま小さめの必要十分サイズの知識素片により高精度に回答を紡いでいくあたりについては紙数の関係で、こちらのページ先頭のスライドPDFをご覧ください。
RAGエンジンは対話ボット専用ではありません。何万点もの商品について多様な顧客に店員が説明し会話する模範対話例を生成させたり、現場の音声対話からその内容の良し悪しを減点法・加点法を併用して採点したり、顧客役を演じつつ最後は上司、コーチに変身して従業員を元気付け育成・指導したりできます。また、大量の評価用のQ&Aをほぼ自動でうまく生成したり、それを用いて最新版の採点を自ら行ったり、人間用の試験問題を「平等重視」あるいはその生徒の理解度・個性に応じて最適化した「パーソナライズド演習問題」を毎週作成して個別指導に役立てたりなども、教科の知識を備えたRAGエンジンの仕事です。ソフトウェアだけ、プラットフォームだけ提供して、上記のような応用のための知識開発、知識デバッグの仕事をエンドユーザに丸投げしてしまっては、いくらノーコード・ソフトウェアの完成度が高くとも、「なーんだ、RAGなんて精度出ないや!」とばかり、使われずに終わってしまいます。
何百種類も対策がある中で、例えば上記以外にも、より適切なLLMを選択し、適切な正解入出力データでファインチューニングして対応すべき、などと見抜いて適切に効率よく解決していくのは、どうしてもAI、ナレッジマネジメントの専門家の仕事なります。ここが自動化できたら、AI自身が自分の改良方法を見極めて新領域での問題解決のための自学自習でどんどん成長できちゃうわけですから、もはやAGIと呼んでよいでしょう。
AIエージェントはけた外れに高い精度が要求される2年半分の情熱が迸って、思わず長くなりました(笑)。次回は、下記を予定しています。
「AIエージェント業務組込みにあたっての大事な留意点 〜やはり精度が大事」
検索の延長のように質問に答えてくれるだけの対話ボットと違って、何か処理を実行してしまうのがAIエージェントですから、けた外れに高い精度が要求される。言われてみれば当たり前なのですが、そのあたりが十分認識されていない世の中の動きを少し心配している次第です。もしかしたら、まずはModel Context Protocol(MCP)の意義を論じることになったりするかもしれませんが、本当に効果的に使われていけるよう、精度のことは常に念頭に置いてまいりたいと思います。
(文=野村直之/AI開発・研究者、メタデータ株式会社社長、東京大学大学院医学系研究科研究員)