開発分析

生成LLM・Embedding・Rerankerは何が違う?RAGでの役割を整理

生成LLM・Embedding・Rerankerは何が違う? — RAGでの役割を整理
目次

RAGを調べると、「生成LLM」「Embeddingモデル」「Reranker」という名前が同時に出てくる。

三つは同じ種類のモデルを大きさで分けたものではない。入力を受け取って何を返すのか、その役割が違う

この違いを分けておくと、RAGで期待した答えが出ないときも、検索の問題なのか、候補の順位なのか、回答生成の問題なのかを追いやすい。

生成LLM・Embedding・Rerankerは何が違う?RAGでの役割を整理の要点を図解

図を拡大して見る

図: 主な比較軸を1枚に整理。細かな条件は本文と表で確認する。

まず3種類の役割を分ける

大まかな違いは次のとおりだ。

種類 主な入力 主な出力 RAGでの役割
生成LLM 質問、取得した文書 文章 最終回答を作る
Embeddingモデル 質問や文書 ベクトル 意味が近い文書を探す
Reranker 質問と候補文書 スコア・順位 取得した候補を並べ直す

この三つを分けるだけでも、「Embeddingモデルへチャットさせる」「回答が悪いから検索モデルも悪い」といった混同を避けやすくなる。

Embeddingモデルは検索の入口を作る

Embeddingモデルは、文章を数値のベクトルへ変換する。

RAGでは、質問と文書をベクトル化し、意味的に近いものを検索するために使う。

たとえば「返品期限は?」という質問なら、

質問
↓ Embedding
質問のベクトル
↓ 類似度検索
関連しそうな文書候補

という流れになる。

この段階では、最終回答の文章はまだ作っていない。

検索した文書がずれている場合、いきなり生成LLMを大きくするのではなく、Embeddingモデル、文書の分割方法、検索インデックス、質問文などを確認する理由がここにある。

Rerankerは候補をもう一度並べ替える

ベクトル検索で複数の候補を取った後、その候補と質問の関係をあらためて評価し、順位を付け直すのがRerankerだ。

概念的には次の位置に入る。

検索で上位N件を取得

Rerankerで再評価

上位K件へ絞る

生成LLMへ渡す

回答を生成

Qwen3シリーズでもEmbeddingモデルとRerankerは別のモデルとして公開されている。役割が分かれている具体例として理解しやすい。

ただし、RAGを作るならRerankerが必須という意味ではない。

検索結果がすでに十分なら、処理を一段増やさない方が構成を単純に保てる。

生成LLMは取得した文書を使って答える

検索で候補文書を選んだ後、質問と文書を生成LLMへ渡して回答を作る。

重要なのは、生成LLMが高性能でも、必要な文書が検索段階で取れていなければ、その情報を根拠として使えないことだ。

逆に、正しい文書を取得できていても、生成LLMが文脈を読み違えたり、渡した情報を無視したりすることはある。

評価も分ける。

  1. 正しい文書が検索できたか
  2. Rerankerを使うなら、必要な文書が上位へ来たか
  3. 生成LLMが渡された根拠から適切に回答したか

最初は2種類だけでもよい

初めてRAGを作るなら、最初から三つのモデルを全部入れる必要はない。

まずは、

Embeddingモデル
+
生成LLM

の最小構成で動かす。

そのうえで、「正解文書は検索候補に入っているのに順位が低く、生成LLMへ渡せていない」といった具体的な問題が見えたら、Rerankerを試す。

理由なく構成を増やすより、必要になった場所へ一つずつ追加する方が切り分けやすい。

モデル選びも役割ごとに行う

「性能が高いモデルだからRAGの全部に使う」ではなく、それぞれの役割に必要な条件を見る。

Embeddingモデルなら、

  • 対応言語
  • ベクトルの次元
  • 入力できる長さ
  • 検索性能

などを見る。

Rerankerなら、質問と候補文書の組み合わせをどのように再評価するかを見る。

生成LLMなら、最終的に必要な回答品質、コンテキスト長、実行速度やメモリ条件を見る。

今の問題が検索・再順位付け・回答生成のどこにあるのかを先に決め、必要なモデルだけを選ぶ。 それがRAGを必要以上に複雑にしない基本になる。

RAGそのものと追加学習の違いから整理したい場合は、ローカルRAGと学習の違いへ進む。日本語向けEmbeddingモデルの選び方は、日本語RAGでEmbeddingモデルを選ぶ方法で確認できる。Rerankerを追加するべきか迷う場合は、RAGへRerankerを追加する前に確認することも参考になる。

まとめ

  • 生成LLMは文章を生成し、Embeddingモデルは文章をベクトル化し、Rerankerは検索候補を並べ替える
  • RAGでは検索と回答生成を別の処理として考えると、どこで失敗しているかを切り分けやすい
  • Rerankerは必須ではなく、検索候補の順位を改善したい具体的な理由があるときに追加する
  • 一つのチャットモデルがEmbeddingや再順位付けまで同じ役割で代用できるとは考えない

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索