NovaSearch-Team/RAG-Retrieval
Unify Efficient Fine-tuning of RAG Retrieval, including Embedding, ColBERT, ReRanker.
What it solves
RAG-Retrievalは、検索拡張生成 (RAG) パイプラインの検索段階を最適化するための包括的なツールキットを提供します。埋め込みモデル、Late Interactionモデル、Rerankerを含む、異なる種類の検索モデルのトレーニング、微調整、およびデプロイメントを統一-フレームワークで実現することの難しさを解決します。
How it works
本プロジェクトは、主に以下の3つの機能を通じて、検索モデルのライフサイクル全体を実装しています:
- Training and Fine-tuning: BERT-basedおよびLLM-basedの埋め込みモデル、ColBERT-styleのLate Interactionモデル、およびRerankerのエンドツーエンドの微調整をサポートします。BGE、BCE、GTEなどの人気のあるオープンソースモデルと互換性があります。
- Distillation: ユーザーが、より大規模で高性能なモデル (例:大規模なLLM-based Reranker) から、より小規模で効率的なモデル (例:BERT-base or 0.5B LLMs) へ知識を転移することを可能にします。
- Inference: 軽量なPythonライブラリ (
rag-retrieval) を含んでおり、統一インターフェースを通じて様々なRerankerモデルを呼び出し、ドキュメントの長さに合わせた切り出し (truncation) または分割 (splitting) を行い、スコアリングを最適化します。
Who it’s for
RAGシステムを構築している開発者や研究者で、カスタムトレーニングやモデル圧縮を通じて、検索コンポーネントの精度と効率を向上させたいと考えている方々です。
Highlights
- Unified Framework: 埋め込み、Late Interaction、Rerankerモデルのための単一のコードベース。
- Model Distillation: 大規模モデルを、デプロイ可能な小規模バージョンへ蒸留するための組み込みサポート。
- Advanced Algorithms: 出力ベクトル次元を削減するためのMRLアルゴリズムとStella蒸留法を実装しています。
- Scalable Training: DeepSpeedおよびFSDPを使用したマルチGPU戦略の統合サポート。