论文共同第一作者郑淼,来自于周泽南领导的百川对齐团队,毕业于北京大学,研究方向包括大语言模型、多模态学习以及计算机视觉等,曾主导MMFlow等开源项目。共同第一作者梁昊,北京大学前沿交叉学科研究院博士生,研究方向为大模型数据侧,指导老师为张文涛教授。北大-百川智能AI系统联合实验室成立于2024年1月,旨在围绕人工智能模型系统的全技术流程,研究科学和系统的数据生成和质量评估策略、大模型训练和推理加速等重要问题。联合实验室由北京大学博雅特聘教授崔斌和百川智能联合创始人陈炜鹏担任主任。
基于 Transformer 架构的大语言模型正在各个领域取得突破性成果。提示词工程(Prompt Engineering)在其中的角色至关重要。
用好提示词,研究人员和开发者能够引导模型在特定任务上表现得更优秀。这种方法不仅能够显著提升模型的性能,还能够增强模型的适应性,使其在面对各种复杂任务时更加灵活和高效。
此外,提示词工程还能优化模型的学习过程,提高复杂问题处理效率,减少训练时间和计算资源需求。
相较于传统的微调方法,提示词工程能以极低成本使模型适应多个下游任务,大幅节省计算资源和数据收集成本。然而,设计有效的提示词对非专业人士而言仍具挑战性,往往需要大量学习和实践。
直接利用大语言模型进行自动提示工程通常难以取得理想效果。不恰当的提示可能分散模型注意力,反而降低性能。因此,开发一个能辅助用户,操作简便的自动提示工程系统变得尤为重要。
PAS:突破性的自动提示工程系统
为应对这一挑战,北京大学 - 百川联合实验室提出了 PAS 自动提示工程系统。PAS 的创新之处在于:
1. 设计高质量的自动提示数据集
2. 对 GPT 模型进行少样本学习和数据筛选
3. 自动构建精简而高效的提示数据集
4. 通过微调实现有效的自动提示工程
PAS 能够对用户输入进行简洁而有效的补充,实现快速、简单且支持流式显示的自动提示工程。
在多个基准测试中,PAS 的表现远超既有的 SOTA 模型,且所需数据量更少。人工评测结果同样显示 PAS 具有优异表现,凸显了其在实际应用中的巨大潜力。
这一突破性成果不仅推动了提示词工程的发展,也为大语言模型在更广泛领域的应用铺平了道路。
- 论文地址:https://arxiv.org/abs/2407.06027
- PKU-Baichuan-MLSystemLab:
https://github.com/PKU-Baichuan-MLSystemLab
https://huggingface.co/PKU-Baichuan-MLSystemLab
方法
训练 PAS 主要分为三步:
第一步:构建高质量问题数据集
训练 PAS 的首要任务是建立一个高质量的问题数据集。如图 (a) 所示,研究人员根据 LMSYS-1M 和 WildChat 数据集,通过以下三方面筛选出优质问题:
1. 数据去重:运用 embedding 技术结合聚类算法,有效去除重复数据。
2. 质量筛选:利用百川大模型对数据质量进行评估和筛选。
3. 多样性保证:最终选出覆盖 10 多个类别的 9000 条高质量问题数据。
第二步:补充提示工程数据
在这一阶段,研究人员综合利用内部积累的 100 条高质量数据和第一步筛选的问题数据,通过 few-shot learning 方法,借助 GPT 模型构建自动提示工程数据:
1. 初始数据生成:使用 few-shot learning 指导 GPT 生成初步的提示工程数据。
2. 质量控制:设计 Critique 步骤,再次利用 few-shot learning 让 GPT 评估生成数据的质量。
3. 迭代优化:自动筛除低质量数据,并重新生成,通过多轮迭代确保数据质量。
4. 最终成果:最终得到 9000 条高质量的自动提示工程数据。
数据分布
生成的 9000 条数据的分布情况如上图所示,确保了数据的多样性和代表性。
第三步: 微调自动提示模型
最后一步将利用前两个阶段获得的数据集来微调大型语言模型:
1. 选择基础模型:如 Qwen2-7b 等模型。
2. 定向微调:使用高质量数据集进行微调。
3. 专业化训练:最终得到一个专门用于自动提示工程的大语言模型。
实验及结果
人工评测
根据人类评估员的测评,相比先前的 SOTA(State-of-the-Art)模型,PAS 在各领域均展现出较高的胜率。在多个领域的平均胜率超过 50%,胜率与平局率之和更是高达 80% 以上。
机器评测 Benchmark
为全面评估 PAS 的性能,研究人员选择了Arena-Hard、Alpaca-Eval 2.0、Alpaca-Eval 2.0 (LC) 三个 benchmark。
随后,研究人员将 PAS 应用于六个顶尖的 AI 模型,包括:
- GPT-4(三个版本)
- GPT-3.5
- Qwen2-72-Instruct
- LLaMA3-70B-Instruct
评测结果显示:
- 相较于无提示情况和先前的 SOTA 自动提示工程模型,PAS 均取得了显著提升。
- 与之前的 BPO 模型相比,PAS 展现出更强的适应性,能够与各种超大模型兼容,并在每个模型上都实现了性能提升。
计算效率分析
PAS 不仅在性能上表现卓越,其计算效率也非常高:在数据效率方面,它仅需 9000 条微调数据便能展现出卓越性能。在输出效率方面,它能够限制补充自动提示的长度,通常不超过 30 个词。
对于用户体验而言,PAS 也为大模型带来了增益,具体来说:
- 与 BPO 等先前模型不同,PAS 无需修改用户的原始问题,仅进行补充自动提示。
- 提供极佳的用户体验,响应时间可控。
- 支持类似 GPT 的流式显示,进一步提升交互体验。
实例:PAS 帮助大模型绕开逻辑陷阱
「如果树上有 10 只鸟,其中一只被射死了,地上有多少只鸟?」
这个看似简单的问题实际上隐藏着一个巧妙的逻辑陷阱,你看到它可能也需要反应几秒,才知道树上还剩 9 只鸟,而地上只有 1 只。
正如图上所示,在没有 PAS 辅助的情况下,GPT 给出了错误的回答。而 PAS 系统通过补充提示词,显著改善了模型的表现:
在 PAS 的引导下,模型新一轮的回答展现出了显著的提升,不仅成功规避了问题中的逻辑陷阱,展示了清晰的、多步骤的逻辑推理过程,还能在给出正确答案之外引导用户理解整个推理过程。
感兴趣的读者可以阅读论文原文,了解更多研究内容。