マルチモーダルRAGを実現する2つの手法とは?
続いて、現時点でマルチモーダルRAGを実装しようとする際に、どのような方法があるのか、鈴木氏が解説する。
方法としては、LangChain+Unstructured+GPT4vの組み合わせから名付けられた「LUG」と、2023年11月にOpen AIが発表した「Assistants API」の2種類があるという。
LUGでは、PDFの中にある画像・テキスト・テーブルといった特徴量を抜き出すエンベディング化を実行するとともに、画像はそのままデータベースへ取り込み、インデックス化する。
インデックス化してデータベース化した後は、入力されたクエリに対して、データベースから類似度の高いものを抜き出し、インプットとしてGPT4vに入れ、アウトプットをユーザーに返すという流れだ。
他方、Assistants APIについては、PDFをAssistantというオブジェクトに入れるだけで完了する。ユーザーがクエリを投げると、Assistants APIに含まれる4つのオブジェクト(Assistant・Thread・Message・Run)が作用し合い、入力されたクエリと外部データを利用してアウトプットが返される仕組みだ。
LUGとAssistants APIの違いを聞いた奥田氏が、「それならばAssistants APIを使えばいいのではないかと短絡的に考えてしまうが……」と疑問を呈したところ、鈴木氏は「たしかに試す分にはAssistants APIのほうが簡単だが、プロダクトに実装するには、まだまだ多くの壁が残る」と見解を述べた。
鈴木氏がこのように語る理由は何なのか。実践しながら両者の精度を比較してみよう。
マルチモーダルRAGの評価指標としては、「画像完全抽出率」「回答GT類似度」「回答正解率」の3つがある。
- 画像完全抽出率:画像が見切れたりすることなく、正確に抽出できるかどうかの割合。ベクトル化やデータベース化が正しくできているか否かを測る。完全に正しい画像を抽出できれば1、見切れたりして不完全な場合は0として、問いの総数で割る。
- 回答GT類似度:アウトプットとして返された回答が、あらかじめ定義しておいたGT(Ground Truth)と、どれくらい類似しているかを測るもの。エンベディングモデルなどを用いて計測する。
- 回答正解率:生成された回答が、問いに対して適切かどうかを測った割合。正しく回答できれば1、間違っていた場合は0として、問いの総数で割る。
鈴木氏が実際に計測してみたところ、LUGの画像完全抽出率は、図30%、テーブル100%、全体約70%という結果が出た。
さらに、「2021年10月の就業者数は? 図3-1を参照してください」のように、参照先を明示することで、ある程度精度が上がることが分かっていたことから、回答GT類似度については、参照あり/なしでLUGとAssistants APIのそれぞれを比較したところ、次のような結果が出たという。
回答正解率はどうだろうか。こちらも参照あり/なしで比較したところ、いずれもAssistants APIのほうが高い精度をたたき出したが、参照ありにすることでAssistants APIの回答正答率は、40%から65%へと1.6倍にも跳ね上がった(下図参照)。
ここまでのLUGとAssistants APIの精度評価をまとめると、以下の表となる。
「高精度・低難易度であるAssistants API。だが、Assistants APIにはRate Limitがあるため、プロダクトへの実装を考えると、パフォーマンスの点でLUGに軍配が上がる」と鈴木氏は評した。
ギブリーの「法人GAI」には、ID管理・情報漏えい対策機能・学習未使用・利用状況把握・プロンプトレシピ・プロンプトテンプレート・RAGといった機能はすでに実装されている。さらにマルチモーダルRAGの実装に向けて、鋭意開発中だ。
「これまで100社を超える法人研修で利用されてきた実践的なカリキュラムを、専用のメタバース空間でオンライン受講できる。個人または3名以上の社員が参加できる法人が対象となっているため、興味のある方はぜひ受講のご検討を」と語り、奥田氏はセッションを締めくくった。