SHOEISHA iD

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

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

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

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

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

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

 昨今、注目が高まっているマルチモーダルRAG(Retrieval-Augmented Generation)。ギブリーの法人向け生成AI活用ツール「法人GAI」では、すでにテキストベースのRAGが実装されているが、今後マルチモーダルRAGへとさらなる進化を遂げるべく、目下、技術開発に取り組んでいる最中だ。そのようななか、Developers Summit 2024(デブサミ2024)では同社AIエンジニアの鈴木岳之氏と、取締役 兼 株式会社Resola 代表取締役社長 奥田栄司氏が登壇。マルチモーダル技術の進化の歴史を振り返るとともに、マルチモーダルRAGの具体的な応用事例について語った。

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

マルチモーダルRAGとは何か

 「HR Tech」「Marketing DX」「Operation DX」と、異なるDX領域で複数のSaaSを展開しているギブリー。2023年4月には、企業が安心・安全にChatGPTを利用できる法人向けGPTプラットフォーム「法人GAI」もリリースしており、認知度が高まっているところだ。

 今回のテーマであるマルチモーダルRAGとは、そもそも何なのか。これを解説する前にRAGとは何かについて、鈴木氏は次のように語った。「日本語訳すると検索拡張生成。LLMだけでは足りないようなドキュメントや外部情報を取り込むことでハルシネーションを抑える効果がある」。

株式会社ギブリー AIエンジニア 鈴木岳之氏
株式会社ギブリー AIエンジニア 鈴木岳之氏

 RAGの実装フローとしては、まず外部テキストをベクトル化してデータベースに入れておく。その後、実際にユーザーからクエリが入力されると、ベクトルの中で類似度の高いものとクエリそのものをインプットとして、GPT4(LLM)に入れ、アウトプットをユーザーに返す。

 次に、マルチモーダルとは何か。これは、複数のデータ形式(ドキュメント・画像・動画・音声・表など)が混在している状態を指す。鈴木氏はマルチモーダルの例として、以下の図(出典:労働力調査の結果(総務省統計局))を示した。

テキスト・表・図の3つのモーダリティを持ったマルチモーダルPDFの例
テキスト・表・図の3つのモーダリティを持ったマルチモーダルPDFの例

 これらを踏まえて、マルチモーダルRAGとは何かをフローで見ると、最初に外部テキストを取り込んでいたところに画像や表といったものが加わることで、インプットされる場所がGPT4からGPT4v(マルチモーダルLLM)へと置き換わる。

 マルチモーダルRAGの構成要素は、「画像の特徴量抽出」「テキストの特徴量抽出」「OCR/Document Layout Analysis/Table to Text」「テキスト生成」「Open AIのモデル」となっている。

 鈴木氏の解説を受け、「お客様から『PDFを読み込んで回答させたい』という依頼をよくいただくが、画像や表が多いものは精度が低いと感じていた。マルチモーダルRAGに対応できれば、こうした問題も解決できそうだ」と感想を述べた奥田氏。加えて、「構成要素を見てみると、昔からある技術も使われているようだが、マルチモーダルRAGの技術が発展してきた背景には、どんなブレイクスルーがあったのかを知りたい」と語り、次に話を進めた。

株式会社ギブリー 取締役 兼 株式会社Resola 代表取締役社長 奥田栄司氏
株式会社ギブリー 取締役 兼 株式会社Resola 代表取締役社長 奥田栄司氏

技術の積み重ねでたどり着いたマルチモーダルRAG

 マルチモーダルRAGの歴史を語るにあたり、鈴木氏は、先に挙げた構成要素について、1つずつ歴史を振り返った。

画像の特徴量抽出

 かつて画像の特徴量抽出は目視による手作業で行っていた。その後、2004年にSIFTが登場し、画像の特徴量(キーポイント)を抜き出せるようになった。2005年にはHOGが登場。これにより輪郭を特徴量として抜き出せるようになった。そして2012年のCNNによってディープラーニングの研究が盛んとなり、2020年にはGoogleのViT(Vision Transformer)が登場した。最後は2021年。Open AIの出したCLIPで画像とテキストが結びつき、マルチモーダルRAGの実現に大きく近づいた。

テキストの特徴量抽出

 最初は1972年のtf-idfにまでさかのぼる。これは単語の頻出度合いによって、その重要度を測るものだが、この技術が応用されて1994年にBM25が登場する。さらにその後進展したディープラーニングの流れを受け、2013年にはベクトル化の技術を取り入れたWord2Vecが登場。そして2018年、GoogleのTransformerのエンコーダをベースにしたBERTへとつながった。

テキストの生成

 2013年のディープラーニングのブレイクスルーによって知名度を上げたRNNだが、実はその歴史は古く、1986年に登場していた。とはいえ、アーキテクチャそのものは存在していたものの、メモリやコンピューティングのリソース不足から実現には至っていなかったようだ。1997年にはLSTMが登場。2013年NN、2017年Transformer、2021年CLIPへと続く。

Open AIのモデル

 Open AIのモデルは、2018年GPT、2019年GPT-2、2020年GPT-3、2022年ChatGPTとエンベディングモデルのada-002、そして2023年GPT-4/GPT-4vという変遷してきた。

 「これらのピースがすべてつながって、マルチモーダルRAGに結びついている」(鈴木氏)

マルチモーダル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 ポスト
  • このエントリーをはてなブックマークに追加

提供:株式会社ギブリー

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

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

この記事をシェア

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

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング