🚐

MiniRAGでモバイル環境に適したRAGを実現する

2025/01/21に公開
1

導入

こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。

今回は、小規模な言語モデル(SLM)を利用したRAGの性能を維持しつつストレージ利用量を抑える手法、MiniRAGについて紹介します。

https://arxiv.org/pdf/2501.06713

サマリー

モバイル端末では、使用できるプロセッサの性能やストレージサイズの制限により、通常のRAGはそのまま利用することができません。以前紹介したEdgeRAGではこの問題に対して、保管するデータのメモリ空間上の利用量を抑えることで対応していました。

MiniRAGでは、RAG手法そのものを制限の多い環境に適応することで、高い性能と圧縮率を実現しています。

問題意識

制限のある環境におけるRAGの問題

モバイル環境を含むリソースに制限のある環境では

  • LLMではなくSLMなどの小規模な言語モデルの利用
  • 使用できるメモリの制限
  • 使用できるストレージの制限

などの制約が存在します。しかし、多くのこれまで提案されているRAGの手法はこれらの制約を考慮していないため、そのまま利用できないことが多いです。

このため、よりモバイル環境に適したRAG手法の開発が求められています。

手法

MiniRAGは、SLMの利用とストレージの利用量を抑えることを意識した手法です。
この手法の特徴は以下の2つです。

効率的に情報を保持するGraphRAG

MiniRAGでは、データ保管にGraphRAGを利用しています。ノードにはチャンクデータと、単語がそれぞれ保管され、それぞれの関係性がEdgeに情報として埋め込まれます。
グラフ内にチャンクだけではなく単語を埋め込むことで、関係性の推測を容易にし、SLMであっても重要な情報にアクセスできるようになります。(逆にLLMにとっては冗長な情報になる側面もあります)

ストレージ容量を抑えられる理由

この工夫により、使用するストレージ容量を一般的な手法と比べて最大で75%抑えることに成功していますが、その要因を個人的な解釈で分析してみました。論文内に直接的な記述があるわけではないので、個人的な意見として見てみてください。

小さいEmbeddingモデルの利用

ストレージ容量を抑えられている要因の一つに小さいEmbeddingモデルの使用が要因考えています。Embeddingの使用するストレージ容量についてはこちらの記事を参考にしてください。今回のMiniRAGでは384次元のEmbeddingを用いており、一般的な1024次元のものと比較して1/3程度なので容量を抑えられていると考えられます。

類似情報の統合

GraphRAGにデータを保存する上で、MiniRAGでは似たような情報を一つのノードにまとめて保管する仕組みを採用しています。定量的な評価の難しい部分ではありますが、Embeddingだけでは説明しきれない容量の圧縮の説明はつきそうです。

高精度なグラフ検索

検索プロセスでは以下の手法を組み合わせることで高精度な検索を実現します。

  • SLMを利用したキーワードの特定
  • 軽量なEmbeddingモデルを利用した類似度の高いノードの探索
  • 関連性の高いキーワード間のパス検索

ポイントとしては、SLMの使用は単語の生成などの限られた場面に限定していること。そして、できるだけグラフを利用したアルゴリズムで検索を行っている点です。
この検索で得られた情報をSLMに渡して、最終的な解答を生成しています。

成果

まずは、精度に関する成果について確認します。

2つの指標で他のRAGシステムと比較して高い精度を実現しています。一方で、性能の高いLLMでは差は小さくなる傾向にあるようです。

続いて、Storage利用量に関する比較です。

横軸が容量で、縦軸が精度を表し左上にあるほど2つの指標で優れていることになります。MiniRAGは精度高くかつ容量を少なくできており、同程度の性能でLightRAGと比べて25%程度の性能を実現しています。

まとめ

SLMでのRAGの性能を最大限に引き出す手法「MiniRAG」について紹介しました。この手法は、SLMの弱点を考慮したデータベースの構造を考案し組み込んでいます。結果的にLLMの性能が高い場合には有効な手法とはならない可能性がありそうですが、モバイル環境でRAGを構築することを想定すると非常に優れた手法となりそうです。以前、似たような問題に対応したEdgeRAGについて紹介しましたが、こちらの手法はDBの使用するメモリに焦点を当てており、今回とは別方面でのモバイル環境へ対応した手法になっています。

残念ながら根本が異なるため2つの手法は組み合わせられませんが、これらの知識から皆様のユースケースにより沿った手法のアイディアが生まれればと思います。

1
ナレッジセンス - AI知見共有ブログ

Discussion