❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 模型类型:新型信息检索模型,支持自然语言提示。
- 功能特点:动态调整相关性,提高检索鲁棒性和性能。
- 技术架构:基于双编码器架构和大型语言模型。
正文(附运行示例)
Promptriever 是什么
Promptriever 是由约翰斯·霍普金斯大学和 Samaya AI 联合推出的新型检索模型。它能够像语言模型一样接受自然语言提示,并以直观的方式响应用户的搜索需求。该模型基于 MS MARCO 数据集的指令训练集进行训练,在标准检索任务上表现出色,能够更有效地遵循详细指令,提高对查询的鲁棒性和检索性能。
Promptriever 展示了将大型语言模型的提示技术与信息检索相结合的潜力,为用户提供更自然、更高效的搜索体验。
Promptriever 的主要功能
- 接受自然语言提示:能理解并响应自然语言形式的提示,让用户用更自然的方式表达搜索需求。
- 动态调整相关性:根据用户的具体指令动态调整搜索结果的相关性,例如,根据用户对搜索结果的具体要求(如时间范围、特定属性)过滤和排序文档。
- 提高检索鲁棒性:基于理解和处理自然语言中的细微差别,增强模型对于不同查询表达的鲁棒性。
- 提升检索性能:基于提示进行超参数搜索,改善检索结果的质量。
Promptriever 的技术原理
- 双编码器架构:基于双编码器(bi-encoder)架构,用大型语言模型(如 LLaMA-2 7B)作为其背后的支持模型。
- 指令训练数据集:从 MS MARCO 数据集中筛选和发布新的指令级训练集,在训练中包含定义查询相关性的自然语言指令。
- 指令生成:用语言模型生成更具体的指令,指令能添加额外的要求或明确排除某些类型的文档。
- 指令负例挖掘:基于生成和过滤(query, passage)对,创建出在加入特定指令后相关性降低的负例,迫使模型学习如何根据指令调整相关性判断。
- 零样本提示技术:基于零样本提示技术进行超参数搜索,类似于语言模型的提示,改善检索性能。
如何运行 Promptriever
环境设置
首先,确保你已经安装了 Conda 和必要的依赖项:
bash setup/install_conda.sh # 如果你还没有安装 Conda
bash setup/install_req.sh
pip install git+https://github.com/orionw/tevatron
运行 MSMARCO 实验
你可以通过以下命令运行 MSMARCO 实验:
bash msmarco/encode_corpus.sh <output_path> <model_name>
bash msmarco/encode_queries.sh <output_path> <model_name>
bash msmarco/search.sh <output_path>
运行 BEIR 实验
你可以通过以下命令运行 BEIR 实验:
bash scripts/beir/matrix_of_corpus.sh
bash scripts/beir/matrix_of_prompts.sh
bash scripts/beir/search_all_prompts.sh <output_path>
或者,你也可以只运行一个模型:
bash beir/run_all.sh <model_name> <output_nickname>
bash beir/run_all_prompts.sh <model_name> <output_nickname>
bash beir/search_all_prompts.sh <output_path>
资源
- 项目官网:https://mimictalk.github.io/
- GitHub 仓库:https://github.com/orionw/promptriever
- arXiv 技术论文:https://arxiv.org/pdf/2409.11136
- Hugging Face 模型:
- https://huggingface.co/samaya-ai/promptriever-llama2-7b-v1
- https://huggingface.co/samaya-ai/promptriever-llama3.1-8b-instruct-v1
- https://huggingface.co/samaya-ai/promptriever-llama3.1-8b-v1
- https://huggingface.co/samaya-ai/promptriever-mistral-v0.1-7b-v1
- https://huggingface.co/samaya-ai/RepLLaMA-reproduced
- https://huggingface.co/samaya-ai/msmarco-w-instructions
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦