RAG画像検索におけるCLIP rerankの不要化:基盤モデルの進化が後段処理に与える影響
本記事は、RAG(Retrieval-Augmented Generation)を用いた画像検索システムにおいて、以前使用していた「CLIPによるrerank」を外した経験について詳細に述べています。筆者は当初、SearXNGというバックエンドを使用していた際、「tech casual」のようなクエリに対して、ファッション文脈から逸脱した技術系のアイコンなどのノイズが混入するという問題に直面しました。この問題を解決するため、CLIPを用いて検索結果の埋め込み(embedding)を比較し、関連性の低い画像をフィルタリングするrerank処理を導入していました。
しかし、画像検索のバックエンドをTavilyに変更したところ、状況が一変します。以前はノイズが混入していたのに対し、Tavilyは最初から文脈に合った高品質な候補のみを返却するようになったのです。その結果、CLIPによるsimilarityスコアを見てみると、上位の候補群のスコアが0.3前後で横並びになり、ランキング上の明確な差(信号)が出なくなりました。
筆者はこの現象を、「CLIPが壊れた」と誤解しかけましたが、候補画像自体を確認したところ、そもそもノイズとなる「外れた候補」が存在しなかったことが判明しました。つまり、CLIPは機能的に問題なく動作していたものの、その役割を果たしていたはずの「修正すべき問題(パッチ)」そのものが、基盤となるRetrieval層の品質向上によって消滅していたのです。
結論として、rerank処理とは、検索結果に混ざったノイズを後から補正するための「パッチ」のようなものであり、土台となるRetrievalの精度が上がると、このパッチは不要になるという構造的な変化を指摘しています。重要な教訓として、「システムが動いていること(機能していること)」と「実際に効果を発揮していること(効いていること)」は別であり、スコアなどの定量的な観測を通じて、後段処理の必要性を常に検証し続ける必要があると強調しています。
背景
RAGシステムにおける画像検索では、まず外部データベースから関連性の高い候補(Retrieval)を取得し、その後にさらに精度の高い順序付け(rerank)を行うのが一般的です。本記事は、初期のバックエンド(SearXNG)がノイズを多く含むという課題があり、それをCLIPで補正する「パッチ」的な処理が必要だった状況から、より高品質なTavilyに移行したことでその必要性が消えた経緯を解説しています。
重要用語解説
- RAG: Retrieval-Augmented Generationの略。外部の情報源(検索結果など)を取り込み、それを基に回答を生成するAI技術。情報の根拠付けと精度向上を目指す。
- rerank: 検索や推薦システムにおいて、初期段階で取得された候補リストに対し、より高度なモデルを用いて再評価し、順位を最適化する処理のこと。
- CLIP: OpenAIが開発したマルチモーダルモデルの一つ。テキスト(文字)と画像の両方を同じ埋め込み空間にマッピングし、両者の関連性を計算できる点が特徴である。
今後の影響
この事例は、大規模言語モデルや検索システムを構築する上で非常に重要な知見を提供します。後段の高度な処理(rerankなど)に依存するのではなく、まず基盤となる情報取得層(retrieval)自体の品質向上を目指すことが、システムの全体的な効率と精度を高める鍵となります。常に「なぜこの部品が必要なのか」という観測的視点が求められます。