本仓库包含LOFT(长上下文前沿基准测试)的资源,该基准测试在研究论文长上下文语言模型能否取代检索、RAG、SQL等功能?中被引入。LOFT包含6个长上下文任务类别,涵盖检索、多跳复合推理等,共计30多个数据集和4种模态。
我们提供了下载LOFT中许多文本数据集的链接、评估代码,以及重新生成部分未完全发布数据集的代码。我们还在PROMPT_EXAMPLE.txt
中提供了一个示例提示,展示了如何为文本检索任务进行上下文中的语料库(CiC)提示。
安装requirements.txt
中的依赖项以使用本仓库。
未来发布计划
发布记录
对于大多数数据集,我们通过数据集表中的链接发布了LOFT论文中使用的完整查询和语料库集。对于少数数据集,我们要求用户首先使用数据集表中的链接下载,然后运行preprocess.py
,该脚本会下载原始数据集并填充查询和语料库文件中缺失的字段。需要填充的数据集在需要填充?
列下标有✅。
例如,用于文本检索的FIQA数据集需要填充。要填充FIQA数据集,首先下载ZIP文件并解压。然后运行:
python preprocess.py \ --input_dir path/to/unzipped/fiqa \ --dataset fiqa \
要评估预测结果:
python run_evaluation.py \ --answer_file_path path/to/queries.jsonl \ --pred_file_path path/to/preds.jsonl \ --task_type <task_type>
我们在evaluation/example_predictions/中提供了示例查询和预测文件。 例如,要对RAG自然问题示例预测进行评估:
python run_evaluation.py \ --answer_file_path evaluation/example_predictions/rag_nq/queries.jsonl \ --pred_file_path evaluation/example_predictions/rag_nq/preds.jsonl \ --task_type rag
task_type
在evaluation/init.py中定义。
每个task_type
输出多个不同的指标分数。要了解每个数据集使用哪个task_type
,以及论文中报告的每个数据集的主要评估指标,请参阅数据集表。
评估需要一个JSONLines格式的预测文件,其中每行具有以下结构:
{"qid": "test103", "num_turns": 1, "model_outputs": [["Spain"]]}
qid
:与查询文件中的条目对应的预测QID。num_turns
:该QID的回合数。除多回合数据集(TopiOCQA和SParC)外,该值为1。model_outputs
:提取的模型预测,以列表形式呈现。我们将模型预测提取为正确结构的任务留给LOFT的用户。model_outputs
字段的所需结构在每个task_type
中略有不同。
请查看evaluation/example_predictions/以了解如何格式化预测文件。
任务 | 数据集 | 描述 | 任务类型 | 主要评估指标 | 是否需要填充? | 下载 |
---|---|---|---|---|---|---|
文本检索 | ArguAna | 论点检索 | retrieval | recall@1 | - | 链接 |
文本检索 | FEVER | 事实核查 | retrieval | recall@1 | - | 链接 |
文本检索 | FIQA | 问答 | retrieval | recall@1 | ✅ | 链接 |
文本检索 | MS MARCO | 网络搜索 | retrieval | recall@1 | ✅ | 链接 |
文本检索 | NQ | 问答 | retrieval | recall@1 | - | 链接 |
文本 检索 | Quora | 重复检测 | retrieval | recall@1 | ✅ | 链接 |
文本检索 | SciFact | 引文预测 | retrieval | recall@1 | - | 链接 |
文本检索 | Touché-2020 | 论点检索 | retrieval | recall@1 | ✅ | 链接 |
文本检索 | TopiOCQA | 多轮问答 | retrieval | recall@1 | ✅ | 即将推出 |
文本检索 | HotPotQA | 多跳问答 | retrieval | mrecall@2 | - | 链接 |
文本检索 | MuSiQue | 多跳问答 | retrieval | mrecall@5 | - | 链接 |
文本检索 | QAMPARI | 多目标问答 | retrieval | mrecall@5 | - | 链接 |
文本检索 | QUEST | 多目标问答 | retrieval | mrecall@3 | - | 链接 |
视觉检索 | Flickr30k | 图像检索 | - | - | ✅ | 即将推出 |
视觉检索 | MS COCO | 图像检索 | - | - | ✅ | 即将推出 |
视觉检索 | OVEN | 图文检索 | - | - | - | 即将推出 |
视觉检索 | MSR-VTT | 视频检索 | - | - | ✅ | 即将推出 |
音频检索 | FLEURS-en | 音频检索 | - | - | - | 即将推出 |
音频检索 | FLEURS-es | 音频检索 | - | - | - | 即将推出 |
音频检索 | FLEURS-fr | 音频检索 | - | - | - | 即将推出 |
音频检索 | FLEURS-hi | 音频检索 | - | - | - | 即将推出 |
音频检索 | FLEURS-zh | 音频检索 | - | - | - | 即将推出 |
RAG | NQ | 问答 | rag | subspan_em | - | 链接 |
RAG | TopiOCQA | 多轮问答 | rag | subspan_em | ✅ | 即将推出 |
RAG | HotPotQA | 多跳问答 | rag | subspan_em | - | 链接 |
RAG | MuSiQue | 多跳问答 | rag | subspan_em | - | 链接 |
RAG | QAMPARI | 多目标问答 | multi_value_rag | subspan_em | - | 链接 |
RAG | QUEST | 多目标问答 | multi_value_rag | subspan_em | - | 链接 |
SQL | Spider | 单轮SQL | sql | exec_acc | - | 链接 |
SQL | SParC | 多轮SQL | sql | exec_acc | - | 链接 |
多样本上下文学习 | BBH-date | 多项选择问答 | - | - | - | 即将推出 |
多样本上下文学习 | BBH-salient | 多项选择问答 | - | - | - | 即将推出 |
多样本上下文学习 | BBH-tracking7 | 多项选择问答 | - | - | - | 即将推出 |
多样本上下文学习 | BBH-web | 多项选择问答 | - | - | - | 即将推出 |
多样本上下文学习 | LIB-dialogue | 分类 | - | - | ✅ |