LOFT: 一个超过100万个标记的长上下文基准测试
本仓库包含LOFT(长上下文前沿基准测试)的资源,该基准测试在研究论文长上下文语言模型能否取代检索、RAG、SQL等功能?中被引入。LOFT包含6个长上下文任务类别,涵盖检索、多跳复合推理等,共计30多个数据集和4种模态。
我们提供了下载LOFT中许多文本数据集的链接、评估代码,以及重新生成部分未完全发布数据集的代码。我们还在PROMPT_EXAMPLE.txt
中提供了一个示例提示,展示了如何为文本检索任务进行上下文中的语料库(CiC)提示。
安装requirements.txt
中的依赖项以使用本仓库。
未来发布计划
- 多模态数据和评估代码。
- 特定任务的提示。
发布记录
- [2024年6月29日]:发布文本任务的评估代码和重新生成部分LOFT数据集的代码。
- [2024年6月20日]:首次发布,提供下载LOFT文本数据集的链接。
通过填充创建数据集
对于大多数数据集,我们通过数据集表中的链接发布了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 | 分类 | - | - | ✅ | 即将推出 |
引用本工作
@article{Lee2024LongContext,
title={长上下文语言模型能否取代检索、RAG、SQL等技术?},
author={Jinhyuk Lee and Anthony Chen and Zhuyun Dai and Dheeru Dua and Devendra Singh Sachan and Michael Boratko and Yi Luan and Sébastien M. R. Arnold and Vincent Perot and Siddharth Dalmia and Hexiang Hu and Xudong Lin and Panupong Pasupat and Aida Amini and Jeremy R. Cole and Sebastian Riedel and Iftekhar Naim and Ming-Wei Chang and Kelvin Guu},
journal={ArXiv},
year={2024},
volume={abs/2406.13121},
url={https://arxiv.org/abs/2406.13121}
}
许可和免责声明
版权所有 2024 DeepMind Technologies Limited 所有软件均依据Apache许可证2.0版(Apache 2.0)授权; 除非符合Apache 2.0许可证,否则您不得使用此文件。 您可以在以下网址获取Apache 2.0许可证副本: https://www.apache.org/licenses/LICENSE-2.0
所有其他材料均依据知识共享署名4.0国际许可证(CC-BY)授权。您可以在以下网址获取CC-BY许可证副本: https://creativecommons.org/licenses/by/4.0/legalcode
个别任务可能受其各自所有者的版权和许可限制 - 详情请参阅各自的下载文件。
除非适用法律要求或书面同意,否则根据Apache 2.0或CC-BY许可证分发的所有软件和材料均按"原样"提供,不附带任何明示或暗示的保证或条件。有关这些许可证下特定语言的权限和限制,请参阅相应许可证。
这不是Google的官方产品。