SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

AIエンジニア必見! 実践から見る、マルチモーダルRAG最前線

【16-C-5】マルチモーダルRAGの社会実装への技術アプローチ

  • X ポスト
  • このエントリーをはてなブックマークに追加

マルチモーダルRAGを実現する2つの手法とは?

 続いて、現時点でマルチモーダルRAGを実装しようとする際に、どのような方法があるのか、鈴木氏が解説する。

 方法としては、LangChain+Unstructured+GPT4vの組み合わせから名付けられた「LUG」と、2023年11月にOpen AIが発表した「Assistants API」の2種類があるという。

 LUGでは、PDFの中にある画像・テキスト・テーブルといった特徴量を抜き出すエンベディング化を実行するとともに、画像はそのままデータベースへ取り込み、インデックス化する。

画像はエンベディング化した後、クエリから得られた類似度を利用して対応する画像を見つけ出せるようにしておくが、LLMに入れるときには画像そのものをインプットする
画像はエンベディング化した後、クエリから得られた類似度を利用して対応する画像を見つけ出せるようにしておくが、LLMに入れるときには画像そのものをインプットする

 インデックス化してデータベース化した後は、入力されたクエリに対して、データベースから類似度の高いものを抜き出し、インプットとしてGPT4vに入れ、アウトプットをユーザーに返すという流れだ。

LUGを用いたマルチモーダルRAGの実装フロー
LUGを用いたマルチモーダルRAGの実装フロー

 他方、Assistants APIについては、PDFをAssistantというオブジェクトに入れるだけで完了する。ユーザーがクエリを投げると、Assistants APIに含まれる4つのオブジェクト(Assistant・Thread・Message・Run)が作用し合い、入力されたクエリと外部データを利用してアウトプットが返される仕組みだ。

Assistants APIによるマルチモーダルRAGの実装フロー。オレンジの部分がAssistants APIのオブジェクトである
Assistants APIによるマルチモーダルRAGの実装フロー。オレンジの部分がAssistants APIのオブジェクトである

 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のほうが、少し精度が高い結果となった。LUGは参照ありのほうが、精度が下がっていることが分かる
参照の有無に関係なくAssistants APIのほうが、少し精度が高い結果となった。LUGは参照ありのほうが、精度が下がっていることが分かる

 回答正解率はどうだろうか。こちらも参照あり/なしで比較したところ、いずれもAssistants APIのほうが高い精度をたたき出したが、参照ありにすることでAssistants APIの回答正答率は、40%から65%へと1.6倍にも跳ね上がった(下図参照)。

 ここまでのLUGとAssistants APIの精度評価をまとめると、以下の表となる。

マルチモーダルRAGの実践結果。Assistants APIは直接的な参照を取得できないことから評価不可(-)となっている
マルチモーダルRAGの実践結果。Assistants APIは直接的な参照を取得できないことから評価不可(-)となっている

 「高精度・低難易度であるAssistants API。だが、Assistants APIにはRate Limitがあるため、プロダクトへの実装を考えると、パフォーマンスの点でLUGに軍配が上がる」と鈴木氏は評した。

 ギブリーの「法人GAI」には、ID管理・情報漏えい対策機能・学習未使用・利用状況把握・プロンプトレシピ・プロンプトテンプレート・RAGといった機能はすでに実装されている。さらにマルチモーダルRAGの実装に向けて、鋭意開発中だ。

 「これまで100社を超える法人研修で利用されてきた実践的なカリキュラムを、専用のメタバース空間でオンライン受講できる。個人または3名以上の社員が参加できる法人が対象となっているため、興味のある方はぜひ受講のご検討を」と語り、奥田氏はセッションを締めくくった。

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

野本 纏花(ノモト マドカ)

 フリーライター。IT系企業のマーケティング担当を経て2010年8月からMarkeZine(翔泳社)にてライター業を開始。2011年1月からWriting&Marketing Company 518Lab(コトバラボ)として独立。共著に『ひとつ上のFacebookマネジメント術~情報収集・人脈づくり...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

川又 眞(カワマタ シン)

インタビュー、ポートレート、商品撮影写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ギブリー

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19126 2024/04/08 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング