生成AIをバリバリ活用したい人は知っておきたい「RAG」の知識
生成AIを活用するなら知っておきたいRAGの基礎知識やその回答精度を高める方法、RAG専用のデータを効果的に作成する秘訣を専門家が語った。
生成AIを業務で使いたいと考える企業が増えている。キーマンズネットが実施したアンケート調査「生成AIの活用意向と利用状況」(実施期間:2024年5月24日〜6月7日、回答件数:219件)によれば、企業における生成AIへの投資意欲は、「生成AIを利用している/試験利用中」「検討中」の割合は60.7%だった。一方で、生成AIが出力する情報の正確性や信頼性への懸念も生まれている。
こうした懸念を軽減するための技術としてRAG(Retrieval-Augmented Generation)が注目を集めている。RAGとは生成AIがテキストを出力する際に外部情報の検索を組み合わせて回答を生成する手法のことだ。
RAGの基本的な考え方やその回答精度を高める方法、RAG専用のデータを効果的に作成する秘訣について、ストックマークの西村元一氏が語った。
生成AIの精度を高める「RAG」の基礎知識
ストックマークは、自然言語処理を活用したサービスを提供するAIスタートアップだ。近年では、経産省の生成AIプロジェクト「GENIAC」の採択事業者の1社として、日本国内の基盤モデルの開発力を底上げし、企業などの創意工夫を促すための活動をしているという。
同社は企業の生成AI環境構築を支援する中で、RAGに関するさまざまな相談を受けてきたという。RAGはAIが最新の情報を基に回答を生成するため、より正確で信頼性の高い回答を得られるとして高い関心を集める技術だ。しかし西村氏は、ユーザーにとって最適な方法がRAGなのかをまず考える必要があると話す。
「RAGシステムを構築しなくてもQAリストを用意するだけでニーズを満たせることもあります。本当にLLMが持つ知識以外の情報が必要かどうか、そもそも検索で解決できるのかといったことを精査する必要があります」(西村氏)
こうした前提の下、実際にRAGシステムの構築をしてユーザーに展開する段階でもさまざまな課題が噴出するという。特に多いのは、生成結果が意図したものと違う、データはあるのに検索できない、引用は正しいはずなのに答えが生成できない、といった精度に関する課題だ。
こうした相談に対し、西村氏はRAGの精度を上げる3つのポイントを解説した。
1つ目は、「検索」の領域で、質問に対して正確な情報を素早く検索できるようにすることだ。セッションでは詳しく語られなかったが、「検索結果が得られない」といった課題には、検索クエリを拡張したり、検索結果をユーザーの意図する順番に並び替えたりといったアプローチが考えられる。
「社内用語の変換辞書を用意することも有効です。定義だけでなく、言葉と言葉の関係性などを整理するなどさまざまなナレッジの作り方に取り組むことで、精度を高めることにつながります」
2つ目は、「生成」の領域で、ユーザーの質問に対して有用な情報を生成できるようにすることだ。これについても、プロンプトチューニングやファインチューニング、ヒューマンインザグループといったさまざまな取り組みが考えられるという。
ストックマークでは、2200億トークンの日本語テキストデータを学習した日本語LLMを独自に開発しており、これに固有のデータを学習させることで各社のコンテクストを理解したモデルを構築できるという。さらに、ファインチューニングとして業務に特化した教師QAデータを学習させることで、アウトプットのスタイルや形式を微調整することも可能だ。
「企業の固有知識をファインチューニングで読み込ませる場合、多くのQAセットを大量に作成する必要があります。データ量によっては多大な時間がかかるため、LLMに追加事前学習を実施した方がコストの適正化や汎用的なアウトプットにつながる場合がありますのでバランスを見て判断する必要があります」(西村氏)
なお、上記の検索と生成という2つのポイントについては、あらかじめ評価の観点を設定することが望ましいと西村氏は強調する。
「精度が高いとはどのような状況かをあらかじめ明確化しておく必要があります。検索であれば、しっかりと正解を選出できているのかという適合性や、あるべきデータをきちんと検索しきれているのかどうかという網羅性の観点があります。生成に関しては、結果が正しくハルシネーション(幻覚)が起きていないかという観点が重要です。これらの観点を良いか悪いかの二元論ではなく、どのくらい改善されたかを段階的に評価することも大切です」
データの質の向上は見落とし勝ちだが特に重要
データの質の向上の取り組みも欠かせないポイントだ。西村氏はこの3つ目のポイントが「見落としがちだが、特に重要」と話す。
「望んだ回答を引き出すためには、検索元のデータをきちんと準備していること、さらにデータを検索できる状態にしていることが重要です」(西村氏)
社内には報告書や製品仕様書、企画書などさまざまなドキュメントがあるが、これらはテキストや図、表などの要素から成り、マルチカラムとシングルカラムが混在するなど構造もさまざまだ。マルチモーダルLLMはこれらの雑多な要素を読み取るのが得意だが、幾つかの課題もある。
「マルチモーダルLLMは、資料の概要をきれいに抽出できますが、その概要に含まれない情報はRAGの検索の対象にはなりません。かといって全ての要素を一言一句テキストで抜き出してしまうと、検索したい情報以外のものも含まれてしまいノイズになります。そこで文章を小さな単位に分割してからLLMに処理させる『チャンキング』という手法を取りますが、これによってテキストのコンテクスト(文脈)が失われて、LLMがさまざまな要素をあべこべに組み合わせてしまうことがあります」
こうした課題には、AIに「資料のどこに何の要素があるのか」を視覚的な要素で示す「Visual Referring Prompting」が有効だ。「社内にある全ての資料にVisual Refferring Promptingを施す技術が必要になります」と西村氏は話す。
なおRAGにおけるチャンキングは、不要な情報をLLMに渡さないことで情報取得と生成の処理速度を速めるだけでなく、ハルシネーションを防いで回答の正確性を高める効果がある。また、必要な情報を抽出する検索の適合性、再現性を向上させるという。
西村氏によれば、チャンキングでは、検索に使用するチャンクと、最終的に回答を生成するためのチャンクは異なるものであると理解することが重要だ。検索用のチャンクは効率的に情報を探すためのものであり、生成時にはそのチャンクに他の関連するチャンクを組み合わせて修正することで、精度の高い回答を作成できる。
「ある大手飲料メーカーとストックマークの協業プロジェクトにおいては、RAGシステムを構築し、研究資料や報告書の検索結果の要約を生成する取り組みを実施しました。従来はテキストをそのままチャンク(小さな部分)に分割して検索をしていましたが、必要な情報をうまく見つけ出せないという課題がありました。そこで、各チャンクに『市場情報』『技術』『機能』などのメタデータや説明文を付与することで検索の精度を向上させて、生成の内容を改善しました」(西村氏)
Boxの社内情報と、社外情報を組み合わせてビジネス戦略に活用
講演の最後に西村氏は「Box API」とストックマークのサービス「Stockmark A Technology」(以下、SAT)を使ってRAGシステムの精度を向上させる手法を紹介した。
Box APIを使用すると、Boxに保存されたファイルからテキストを抽出できるようになる。さらに、SATは検索機能を備えたAPIを提供しており、Boxに保存されたデータをAPI経由で検索することができる。この組み合わせにより、Box内のデータを効率的に検索し、さらにそのデータを分析などに活用できるようになる。
「SATは、テキスト抽出時に図や表を含む要素も正確に構造化して、適切なチャンクを作成できます。さらに、社内用語の変換辞書をはじめとするナレッジを自動的に構築し、検索の精度を高めることも可能です」(西村氏)
SATは、「AWS」(Amazon Web Services)や「Microsoft Azure」といったクラウドサービスで構築したRAGシステムとAPI連携させることも可能だ。これにより、すぐに検索の対象となるデータの構造化に取り組むことができる。
ストックマークは、API経由で技術を提供するだけでなく、ブラウザで動作するクラウドサービス「A News」や「A Strategy」も提供している。前者は、AIを使ってニュースや論文、特許、社内ドキュメントなどの推薦、検索、要約を実行するサービスで、後者はAIがニュースなどの情報を基に、市場や競合調査を実施するものだ。これらによって、社内外の情報を組み合わせて、ビジネス戦略に活用することが可能になるという。
西村氏は最後に、現在ストックマークではSATの初期ユーザーを募集していると付け加えた。
「RAGシステムの精度向上のためには幾つかの観点による取り組みが必要になりますが、当社はそれらの取り組みを自動化するサービスを提供しています。興味がある方はぜひお声がけください」(西村氏)
本記事は、Boxが2024年6月25日〜26日に開催した「BoxWorks Tokyo 2024」の内容を編集部で再構成した。
Copyright © ITmedia, Inc. All Rights Reserved.