Zilliz は AI アプリケーション開発者を支援し続けます。
最近、Zilliz は Zhiyuan Research Institute と協力して、さまざまな BGE ( BAAI General Embedding )オープン ソース モデルをオープン ソース ベクトルデータベース Milvus と統合しました。Milvus 2.4 で新たに開始された Sparse Vector (スパース ベクター) と Multi-vector (マルチベクター) のサポートのおかげで、開発者は、業界で広く使用されている Dense Em bedding (密ベクター モデル)だけでなく、さまざまな選択肢を得ることができます。また、BGE の最新の Sparse Embedding (スパース検索モデル) および Reranker (再ランキング) モデルも使用されます。開発者は、これらのツールを簡単に組み合わせて、セマンティック検索、全文検索、洗練されたランキング機能をカバーする、より強力なリコール ソリューションを構築できます。
BGE と Milvus の統合により、柔軟性を維持しながら RAG の品質が包括的に向上し、AI アプリケーション開発者により良いサービスを提供できます。

01.
スパース エンベディングとリランカー: RAG を改善するための新しいトレンド
RAG (Retrieval Augmented Generation) は、外部の知識ベースから取得した情報を使用して、大規模な言語モデルの精度と信頼性を向上させるテクノロジーです。RAG は、大規模モデルの適用を妨げる一連の中核的な問題 (幻覚、適時性の欠如、専門分野の知識の不足、データ セキュリティの問題など) を効果的に解決できることが証明されています。このソリューションを実現するには、埋め込みモデルとベクトル データベースが鍵となります。より豊富な機能を備えた優れたモデルとベクトル データベースは、RAG 応答の品質を効果的に向上させ、大規模な言語モデルでより優れた端末 Q&A エクスペリエンスを実現するのに役立ちます。
ただし、基本的な高密度埋め込みとベクトル リコール スキームの制限により、シナリオによっては RAG の最終的な効果が満足のいくものではありません。現在、業界では RAG の Q&A の品質を向上させるために 2 つのソリューションを採用する傾向があります。
オプション 1は、Sparse Vector と Dense Vector を使用して双方向リコールを実行することです。その中で、Sparse Vector は従来の全文検索の機能をカバーし、特定のキーワードを識別して取得するのに役立ちます。一方、Dense Vector はテキスト内の全体的な意味情報をより効果的に取得できます。これら 2 つのベクトルリコールの結果を統合することにより、より豊富で包括的な情報が得られ、それにより RAG の有効性が向上します。
オプション 2 : Cross-Encoder Reranker を細かいランキングの 2 番目のレイヤーとして使用します。まず、密ベクトル、疎ベクトル、またはその 2 つの組み合わせを使用して大まかなランク付けを行い、次にリランカー モデルを使用して第 1 段階の結果をさらにフィルタリングおよび並べ替えて、最終結果の品質を向上させます。
オプション 1 は独立して使用できること、つまり、ルールベースのアルゴリズムを使用して、一般的に使用される RRF Reciprocal Rank Fusion (RRF) などの双方向リコールの結果をマージすることもできることは注目に値します。オプション 2 と組み合わせます。つまり、Cross-Encoder Reranker を使用して、双方向の結果をマージし、並べ替えます。
02.
Milvus は BGE と協力して RAG の品質問題を柔軟に解決します
Milvus は AI アプリケーション用のオープンソース ベクトル データベースであり、ベクトル検索と非構造化データ管理を提供します。元々は Zilliz 社によって立ち上げられ、2019 年にオープンソース化されました。 Milvus は発売以来、AI 開発者コミュニティや企業ユーザーの間で人気があり、広く採用されており、GitHub には 26,000 を超えるスターと 260 人を超える寄稿者がおり、世界中で 2,000 万回以上ダウンロードおよびインストールされています。世界で最も広く使用されているベクター データベースの 1 つ。
少し前に、Zilliz の創設者兼 CEO の Xingjue 氏は、NVIDIA GTC カンファレンスで Milvus 2.4 バージョンを正式にリリースしました。これは業界の革命的なアップグレードと言えます。話題になっている GPU ベースのベクトル インデックス作成機能と検索高速化機能に加えて、スパース ベクトルとマルチベクトルのサポートもハイライトです。Milvus と Zhiyuan BGE の統合により、RAG 品質を向上させるために必要なスパース エンベディング、マルチチャネル リコール、リランカー機能が一度に集められるだけでなく、実際の状況に応じて開発者を支援する複数のタイプとマルチレベルのリコール ソリューションも開発者に提供されます。 AI アプリケーションを柔軟に構築します。
今回Milvusと共同開発したBGEは、知的情報源研究所が作成した普遍意味モデルです。 2023年8月の最初のリリース以来、Zhiyuanチームは中国語と英語のモデルBGE v1.0、v1.5、および100以上の言語と複数のリコール方法をサポートするBGE-M3モデルを連続してリリースしてきました。現在までに、BGE シリーズ モデルは全世界で 1,500 万回以上ダウンロードされ、国内のオープンソース AI モデルの中で第 1 位にランクされています。BGE-M3モデルは、かつてハグフェイスの人気トップ3にランクインしたモデルです。最新の Milvus 2.4 クライアントでは、BGE モデルにシンプルで使いやすい関数のカプセル化が提供されています。開発者は、さまざまな BGE オープン ソース モデルをより便利に使用し、Milvus ベクトル データベースと連携してマルチチャネルおよびマルチレベルのリコール ソリューションを構築し、RAG 品質を包括的に向上させることができます。これまでに統合された BGE オープン ソース モデルには次のものがあります。
埋め込みモデル
BAAI/bge-m3
BAAI/bge-large-en-v1.5
BAI/bge-base-en-v1.5
BAY/bge-small-en-v1.5
BAAI/bge-large-zh-v1.5
BAAI/bge-base-zh-v1.5
BAAI/bge-small-zh-v1.5
リランカーモデル
BAAI/bge-reranker-v2-m3
BAAI/bge-reanchor-large
BAAI/bge-reranker-base
03.
コードサンプルの表示
バージョン 2.4 以降、Milvus Python クライアントには、 pymilvus[model]
Sparse Vector と Dense Vector の多方向リコールを組み合わせたもの、または Cross-Encoder Reranker を使用して第 1 レベルのリコールの関連性を向上させるための新しいコンポーネントが追加されました。 Milvus は柔軟な地上サポートです。
たとえば、pip install pymilvus[model]
BGE-M3 モデルによって生成された密ベクトルを使用してベクトル最近傍検索を実行し、BGE リランカー モデルを使用して結果を絞り込むことが簡単にできます。
from pymilvus.model.hybrid import BGEM3EmbeddingFunction
from pymilvus.model.reranker import BGERerankFunction
client = MilvusClient(uri="http://localhost:19530")
embed_fn = BGEM3EmbeddingFunction(device='cuda:0')
rerank_fn = BGERerankFunction(device="cuda:0")
query = "tell me information about France."
query_vector = [embed_fn([query])["dense"][0]]
# Search for top 20 nearest neighbour vectors
retrieved_results = client.search(collection_name="my_collection", data=query_vector, limit=20, output_fields=["text"])
# Rerank the vector search results and select the top 5
final_results = rerank_fn(query, [result['entity']['text'] for result in retrieved_results[0]], top_k=5)
さらに、リンク(https://github.com/milvus-io/pymilvus/blob/master/examples/hello_hybrid_sparse_dense.py) でさらに多くのケースを参照できます。
04.
未来展望
Zilliz 作为向量数据库行业的引领者,此次与业界领先的智源研究院合作,支持基于开源 BGE 模型和 Milvus 向量数据库的多种召回方案,集成了两者对 Sparse Embedding 和 Reranker 的支持,极大地便利了 RAG 开发者。
Zilliz 生态集成和 AI 平台负责人陈将表示:“未来,Milvus 将持续与智源在模型研究、开发者推广等方面深度合作,助力 AI 应用的进一步普及和提升。”
智源研究院 BGE 团队负责人表示:“ 智源研究院 BGE 负责人表示:“ BGE 和 Milvus 的集成,为社区用户快速搭建“三位一体的”(稠密检索、稀疏检索、重排序)检索流水线带来的极大便利。未来期待与像 Zilliz 这样行业优秀的企业进一步合作,共同为 AI 应用开发者赋能。”


本文分享自微信公众号 - ZILLIZ(Zilliztech)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。