five

Snowflake/msmarco-v2.1-snowflake-arctic-embed-l

收藏
Hugging Face2024-08-07 更新2024-06-29 收录
下载链接:
https://hf-mirror.com/datasets/Snowflake/msmarco-v2.1-snowflake-arctic-embed-l
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含了MSMARCO-V2.1数据集的嵌入表示,这些嵌入是使用Snowflake的Arctic Embed L模型生成的,旨在作为密集检索方法的基线。数据集的大小在100M到1B之间,主要用于问答任务。文件中还提供了不同数据集上的检索性能比较,包括NDCG@10、Recall@100和Recall@1000等指标。此外,文件还详细说明了如何加载数据集以及如何进行搜索操作。

该数据集包含了MSMARCO-V2.1数据集的嵌入表示,这些嵌入是使用Snowflake的Arctic Embed L模型生成的,旨在作为密集检索方法的基线。数据集的大小在100M到1B之间,主要用于问答任务。文件中还提供了不同数据集上的检索性能比较,包括NDCG@10、Recall@100和Recall@1000等指标。此外,文件还详细说明了如何加载数据集以及如何进行搜索操作。
提供机构:
Snowflake
原始信息汇总

TREC-RAG-Embedding-Baseline 数据集概述

基本信息

  • 许可证: Apache 2.0
  • 任务类别: 问答
  • 语言: 英语
  • 标签: TREC-RAG, RAG, MSMARCO, MSMARCOV2.1, Snowflake, arctic, arctic-embed
  • 数据集名称: TREC-RAG-Embedding-Baseline
  • 数据集大小: 100M<n<1B

配置

  • 配置名称: corpus
    • 数据文件:
      • 分割: train
      • 路径: corpus/*

数据集描述

该数据集包含用于TREC RAG的MSMARCO-V2.1数据集的嵌入。所有嵌入均使用Snowflakes Arctic Embed L创建,旨在作为基于密集检索方法的简单基线。

加载数据集

加载文档嵌入

  • 直接加载: python from datasets import load_dataset docs = load_dataset("Snowflake/msmarco-v2.1-snowflake-arctic-embed-l", split="train")

  • 流式加载: python from datasets import load_dataset docs = load_dataset("Snowflake/msmarco-v2.1-snowflake-arctic-embed-l", split="train", streaming=True) for doc in docs: doc_id = doc[docid] url = doc[url] text = doc[text] emb = doc[embedding]

搜索示例

以下是一个完整的搜索示例(在前1,000个段落上): python from datasets import load_dataset import torch from transformers import AutoModel, AutoTokenizer import numpy as np

top_k = 100 docs_stream = load_dataset("Snowflake/msmarco-v2.1-snowflake-arctic-embed-l", split="train", streaming=True)

docs = [] doc_embeddings = []

for doc in docs_stream: docs.append(doc) doc_embeddings.append(doc[embedding]) if len(docs) >= top_k: break

doc_embeddings = np.asarray(doc_embeddings)

tokenizer = AutoTokenizer.from_pretrained(Snowflake/snowflake-arctic-embed-l) model = AutoModel.from_pretrained(Snowflake/snowflake-arctic-embed-l, add_pooling_layer=False) model.eval()

query_prefix = Represent this sentence for searching relevant passages: queries = [how do you clean smoke off walls] queries_with_prefix = ["{}{}".format(query_prefix, i) for i in queries] query_tokens = tokenizer(queries_with_prefix, padding=True, truncation=True, return_tensors=pt, max_length=512)

Compute token embeddings

with torch.no_grad(): query_embeddings = model(**query_tokens)[0][:, 0]

normalize embeddings

query_embeddings = torch.nn.functional.normalize(query_embeddings, p=2, dim=1) doc_embeddings = torch.nn.functional.normalize(doc_embeddings, p=2, dim=1)

Compute dot score between query embedding and document embeddings

dot_scores = np.matmul(query_embeddings, doc_embeddings.transpose())[0] top_k_hits = np.argpartition(dot_scores, -top_k)[-top_k:].tolist()

Sort top_k_hits by dot score

top_k_hits.sort(key=lambda x: dot_scores[x], reverse=True)

Print results

print("Query:", queries[0]) for doc_id in top_k_hits: print(docs[doc_id][doc_id]) print(docs[doc_id][text]) print(docs[doc_id][url], " ")

搜集汇总
数据集介绍
main_image_url
构建方式
在信息检索领域,构建高质量的嵌入表示对于提升检索性能至关重要。该数据集以MSMARCO V2.1语料库为基础,采用Snowflake Arctic Embed L模型生成密集向量表示。构建过程涉及对语料库中每个文档段落进行编码,生成高维嵌入向量,并以标准化格式存储,确保向量间可比性。整个语料库的嵌入规模约为620GB,覆盖了大规模文档段落,为密集检索任务提供了坚实的向量化基础。
特点
本数据集的核心特征在于其嵌入向量由先进的Snowflake Arctic Embed L模型生成,该模型专为检索任务优化。嵌入向量以BF16精度存储,支持高效的向量点积运算,显著提升了检索速度与精度。与传统的BM25方法相比,该嵌入在多个标准评测集上展现出优越性能,如在TREC Deep Learning 2021任务中NDCG@10达到0.70682,体现了其在复杂查询场景下的强大表征能力。数据集结构清晰,包含文档ID、文本内容、URL及对应嵌入向量,便于直接应用于检索系统。
使用方法
使用该数据集时,研究者可通过Hugging Face的datasets库直接加载,支持完整下载或流式读取以适应不同存储条件。加载后,可利用嵌入向量进行相似度计算,例如通过点积操作实现查询与文档的匹配。示例代码展示了如何结合Snowflake Arctic Embed L模型对查询进行编码,并与文档嵌入进行比对,从而检索出最相关的段落。这种方法为构建高效的检索增强生成系统提供了便捷的基线方案,尤其适用于需要快速原型验证或性能对比的研究场景。
背景与挑战
背景概述
在信息检索与自然语言处理领域,密集检索技术通过将文本映射为稠密向量空间中的表示,显著提升了语义匹配的精度与效率。Snowflake/msmarco-v2.1-snowflake-arctic-embed-l数据集由Snowflake公司于近期构建,旨在为TREC-RAG(检索增强生成)任务提供高质量的嵌入基准。该数据集基于MSMARCO V2.1语料库,利用Snowflake Arctic Embed L模型生成文本嵌入,核心研究问题聚焦于如何通过先进的嵌入方法优化大规模文档检索性能,为学术界与工业界在开放域问答和检索系统评估中提供了关键的数据支持。
当前挑战
该数据集致力于解决密集检索在开放域问答场景中的核心挑战,即如何在海量文档中精准定位与查询语义高度相关的段落,以提升检索增强生成系统的整体效能。构建过程中面临的挑战包括处理MSMARCO V2.1语料库的庞大规模,其原始文本数据需高效转化为高维嵌入向量,同时确保嵌入质量与检索指标(如NDCG@10、Recall@100)的稳健性;此外,嵌入生成与存储需平衡计算资源与精度,数据集总量约620GB,对存储与传输提出了较高要求。
常用场景
经典使用场景
在信息检索与问答系统领域,该数据集作为TREC-RAG基准测试的核心语料库,为密集检索方法提供了标准化的评估平台。其经典使用场景在于利用Snowflake Arctic Embed L模型生成的嵌入向量,对MSMARCO V2.1文档进行语义编码,进而通过向量相似度计算实现高效段落检索。这一流程不仅支撑了检索增强生成(RAG)系统的开发,还为大规模文档索引与匹配任务奠定了实践基础。
解决学术问题
该数据集有效应对了传统稀疏检索模型在语义理解深度上的局限性,通过预训练嵌入技术提升了跨领域文档的语义表征能力。其意义在于为学术界提供了可复现的密集检索基线,解决了复杂查询情境下召回率与准确率平衡的难题,并推动了基于向量的神经检索范式在动态评估指标如NDCG@10上的标准化进程。
衍生相关工作
围绕该数据集衍生的经典工作包括TREC深度学习赛道中的多轮检索优化研究、基于对抗训练的嵌入模型增强方法,以及跨语言检索系统的迁移学习框架。这些工作进一步拓展了密集检索在长文档处理、多模态融合及低资源语言适配等方向的应用边界,持续推动着信息检索技术的演进与创新。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作