Project Icon

INTERS

指令微调优化大型语言模型的搜索能力

INTERS是一个包含20个信息检索任务的指令微调数据集,旨在提升大型语言模型的搜索能力。该项目基于43个数据集构建,涵盖查询理解、文档理解和查询-文档关系理解三大类任务。实验表明,INTERS能有效增强LLaMA、Mistral等开源大型语言模型在信息检索方面的表现,为搜索技术发展开辟新路径。

INTERS:通过指令微调释放大型语言模型在搜索中的力量

license

作者: Yutao Zhu, Peitian Zhang, Chenghao Zhang, Yifei Chen, Binyu Xie, Zhicheng Dou, Zheng Liu, 和 Ji-Rong Wen

📃 ArXiv 论文 • 📚 数据集

🤗 HuggingFace 模型列表

新闻

  • 2024年5月:我们很高兴地宣布INTERS已被ACL 2024主会议接收!
  • 2024年2月:我们已发布数据集、指令模板、微调模型和评估脚本。

介绍

大型语言模型(LLMs)在各种自然语言处理任务中展现出了令人印象深刻的能力。尽管如此,它们在信息检索(IR)任务中的应用仍然具有挑战性,这是因为许多IR特定概念在自然语言中出现的频率较低。虽然基于提示的方法可以为LLMs提供任务描述,但它们往往无法促进对IR任务的全面理解和执行,从而限制了LLMs的适用性。为了解决这一差距,在本研究中,我们探索了指令微调来增强LLMs在IR任务中的熟练程度的潜力。我们引入了一个新的指令微调数据集INTERS,涵盖了三个基本IR类别中的20个任务:查询理解、文档理解和查询-文档关系理解。数据来源于43个不同的数据集,并配有手动编写的模板。我们的实证结果显示,INTERS显著提升了各种公开可用LLMs(如LLaMA、Mistral和Phi)在IR任务中的表现。此外,我们还进行了广泛的实验,分析了指令设计、模板多样性、少样本示例和指令数量对性能的影响。

任务与数据集

我们考虑了查询理解、文档理解和查询-文档理解类别下的任务。我们的数据集包含从43个数据集衍生出的20个任务。下图展示了我们使用的所有任务和数据集。

数据集构建

总体性能

零样本评估

评估脚本位于evaluation目录下。

所需包

torch               2.0.0
transformers        4.36.2
numpy               1.26.3
tqdm                4.66.1
scikit-learn        1.4.0
rouge_score         0.1.2
nltk                3.8.1
accelerate          0.26.1

对于查询理解任务和文档理解任务(qu-du-tasks)

此评估脚本使用pytorch DDP进行文本生成。

  1. 下载测试数据并保存到data/in-domain/zero_shot/目录。目录结构如下:
qu-du-tasks
├── eval_sampling.py
├── inference_dataset.py
├── inference_qu_du.py
├── inference_tasks
│   ├── conversational_qa.py
│   ├── fact_verification.py
│   └── ...
└── data
    └── in-domain
        └── zero-shot
            ├── conversational_qa_coqa.zero_shot.test.jsonl
            ├── conversational_qa_quac.zero_shot.test.jsonl
            ├── fact_verification_climate_fever.zero_shot.test.jsonl
            ├── fact_verification_fever.zero_shot.test.jsonl
            ├── fact_verification_scifact.zero_shot.test.jsonl
            └── ...
  1. 如果您选择将测试文件放在其他目录中,可以在inference_tasks目录下的每个任务文件中修改路径(在get_path()函数中)。

  2. 运行评估:

TOKENIZERS_PARALLELISM=True python3 inference_qu_du.py \
    --model_name_or_path 你的/模型/路径 \
    --tokenizer_name 你的/分词器/路径 \
    --setting in-domain \
    --n_shots zero_shot

针对查询-文档关系理解任务(qdu-tasks)

  1. 下载测试数据并保存到data/目录。目录结构如下:
qdu-tasks
├── cqa.sh
├── eval_rank.py
├── postprocess_cqa.py
├── run_eval.sh
└── data
    ├── cqadupstack
    │   ├── android
    │   │   └── test.pt.key.do-not-overwrite.json
    │   ├── english
    │   │   └── test.pt.key.do-not-overwrite.json
    │   └── ...
    ├── arguana.bm25.100.jsonl
    ├── climate_fever.bm25.100.jsonl
    └── ...
  1. 对于cqadupstack以外的数据集,修改run_eval.sh中的路径,然后运行脚本
MODEL_PATH="你的/模型/路径"
TOKENIZER_PATH="你的/分词器/路径"
RESULT_PATH="你的/结果/路径"
EVAL_DATA_PATH="data"

-----------------------
bash run_eval.sh
  1. 对于cqadupstack数据集,修改cqa.sh中的路径,然后运行脚本
MODEL_PATH="你的/模型/路径"
TOKENIZER_PATH="你的/分词器/路径"
RESULT_PATH="你的/结果/路径"

-----------------------
bash cqa.sh
  1. 此脚本支持测试逐点式/成对式/列表式方法进行重排序。修改run_eval.shcqa.sheval_rerank.py的参数
# 逐点式:(默认)
--rerank_method pointwise

# 成对式:
--rerank_method pairwise

# 列表式:
--rerank_method listwise \
--listwise_window 5 \
--listwise_stride 5

引用

如果我们的论文对您的研究有帮助,请kindly引用:

@article{INTERS,
  author       = {Yutao Zhu and
                  Peitian Zhang and
                  Chenghao Zhang and
                  Yifei Chen and
                  Binyu Xie and
                  Zhicheng Dou and
                  Zheng Liu and
                  Ji{-}Rong Wen},
  title        = {{INTERS:} Unlocking the Power of Large Language Models in Search with
                  Instruction Tuning},
  journal      = {CoRR},
  volume       = {abs/2401.06532},
  year         = {2024},
  url          = {https://doi.org/10.48550/arXiv.2401.06532},
  doi          = {10.48550/ARXIV.2401.06532},
  eprinttype    = {arXiv},
  eprint       = {2401.06532}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号