夕小瑶科技说 原创
作者 | Axe_越
The ultimate promise of technology is to make us master of a world that we command by the push of a button (技术的终极承诺是让我们通过按一个按钮就能指挥世界成为其主人)
—— Volker Grassmuck
自大模型(Large Language Model,LLM)诞生以来,Prompt工程,即通过不断调整给予大模型的指令以优化大模型生成结果,开始成为模型调参以外的又一大“炼丹”事业。“Prompt工程师”这一功能角色也应运而生。
然而,正如充满玄学与不确定性色彩的“炼丹”,哪怕最熟练的“Prompt工程师”也很难保证调试出最优的Prompt,而这就限制了大模型实际落地的效果。为了解决这个痛点,来自北大的团队提出了一套“即插即用”的Prompt自动增强系统,即使对比当前的Sota方案也实现了超过6个百分点的效果提升,可以说在充分挖掘大模型潜力的同时,也真正实现了“全自动化”效果,非常之炫酷。
论文标题:
PAS: Data-Efficient Plug-and-Play Prompt Augmentation System
论文链接:
https://arxiv.org/pdf/2407.06027.pdf
作为提升LLMs性能的关键技术之一,自动提示工程(Automatic Prompt Engineering,APE)的目标是通过自动化的方式增强提示(prompts),以改善LLMs在特定任务的性能,并减少人工干预和时间成本。
然而,现有包括链式思考(Chain of Thought)和思维树(Tree of Thought)等策略在内,通过引导模型逐步推理问题的技术,尽管在一定程度上提高了逻辑一致性和准确性,但它们缺乏可扩展性。此外,近期其他一些APE研究,包括从优化器视角自动寻找提示的方法,以及将进化算法引入到特定领域的离散提示优化中,虽然表现出了一定潜力,但在实际应用中面临显著挑战,如评估每个提示的适应度需要大量资源,而探索多组提示的适应度更是会带来巨大负担。
此外,即插即用系统(Plug-and-Play Systems)因其在不同机器学习工作流程中的模块化和易集成性而受到重视,这些系统允许快速灵活地增强功能,轻松添加或替换新的处理模块,而无需重新设计整个算法。由于它们能够无缝增强现有AI系统的功能,随着LLM技术的快速发展,对即插即用系统的需求也在不断增长。本文提出的PAS方法,正是基于即插即用系统所实现的,通过简单地增强输入提示,并充分了利用底座LLM的优势,不仅成本效益高,而且使得计算资源的利用更加优化。
本文从LMSYS-1M数据集和WildChat数据集中选择高质量的Prompt,数据选择过程包括三个主要步骤:
首先,使用SimCSE模型通过嵌入对Prompt进行去重,然后应用HNSW聚类算法对这些嵌入进行分组,并从每个聚类中提取少量数据以减少冗余。
随后,进行质量筛选,使用BaiChuan 13b模型对数据进行评分,从而筛选出低质量的样本,提高整体数据质量。
最后,利用BaiChuan内部标记的6万个分类数据对BaiChuan 13b模型进行微调,然后使用该分类模型将Prompt归类为常用的类别,如问答(Q&A)和编码。这一系列步骤确保了数据的多样性、质量和准确分类。
在自动补充Prompt数据生成阶段,本文设计了一个基于少样本学习(FewShot Learning)的自动化数据生成Pipeline。该算法主要包括两个阶段:
首先,在“数据生成”阶段,研究者们利用一组精选的golden数据对上述每个类别中的Prompt进行少样本学习(FewShot Learning),以生成相应的补充Prompt。这些golden数据包含了每个类别的少量示例,它们作为生成高质量(Prompt,补充Prompt)对的基础。生成的“Prompt-补充Prompt”对随后被添加到生成的数据集中。
为确保数据集的质量,在“数据选择和再生”阶段,每个生成的“Prompt-补充Prompt”对都会经过评估,以确定其正确性。如果评估结果不正确,该对会被移除,并重新进入“数据生成”阶段,利用少样本学习重新生成答案,直至生成正确答案。这一过程不断迭代,直到所有的“Prompt-补充Prompt”对都达到预期的质量标准。
通过这一自动化的数据生成和严格的选择再生流程,最终生成的数据集包含了大约9000个高质量的(Prompt,补充Prompt)对,这些数据被分为14个类别,每个类别包含大约500个数据,覆盖了绝大多数常见的Prompt类别。
前述的数据生成Pipeline创建的高质量(Prompt,补充Prompt)数据对被用于微调选定的LLMs,以赋予它们自动生成补充Prompt的能力,从而得到PAS模型。当得到补充Prompt后,将其与原始Prompt进行拼接,输入到下一个LLMs当中,生成最终的答案。
作为一个自动的提示补充工具,PAS可以集成到任何可用的LLMs中,通过公共API或开放参数进行集成。这种灵活性使得PAS能够在不同的平台和系统中广泛应用,增强现有LLMs的能力,而无需进行广泛的重新训练或修改。
为了全面评估PAS模型的性能,本文选择了几个较小的模型来高效地训练PAS模型,包括Qwen2-7b-Chat和LLaMA2-7b-instruct。这些经过训练的PAS模型随后被用于一些大型的、最先进的模型上,例如GPT-4-turbo-2024-04-09、GPT-41106-preview、GPT-4-0613、GPT-3.5-turbo-1106、Qwen2-72BChat和LLaMA-3-70b-instruct。从而展示PAS模型在不同规模的LLMs上的适用性和效果提升。
同时,本文将PAS模型的性能与不使用APE模型的基线模型进行了对比,并且与之前最先进的自动Prompt工程(APE)方法BPO进行了比较,以此来展示PAS的有效性。
评估PAS模型有效性的三个综合基准测试包括:
Arena-hard:测试语言模型处理复杂和具有挑战性场景的鲁棒性。
Alpaca-Eval 2.0:评估语言模型在广泛标准任务中的一般性能。
Alpaca-Eval 2.0 (LC):专注于语言理解的变体,测试模型准确理解和解释复杂语言输入的能力。
首先,本文选择Qwen2-7B-Chat作为基础模型,训练了一个PAS模型,并将其与未使用APE模型的基线模型以及之前的最先进APE模型BPO进行了比较。实验结果显示,PAS在所有指标上都显著优于基线模型,平均提高了8个百分点,证明了使用补充Prompt的优势。例如,在GPT-4-0613模型上,PAS将平均分数提高了11.46个百分点。此外,即使对比强有力的Sota模型BPO,PAS也实现了平均6.09个百分点的提升,表明了PAS在提升基于Prompt的学习系统方面的有效性和鲁棒性。
接下来,本文固定基础模型为与BPO相同的LLaMA-2-7b-instruct,并利用生成的补充Prompt数据对其进行了微调。结果表明,PAS在性能指标上相比BPO有显著提高,平均超过BPO达3.41个百分点,特别在GPT-4-0613模型上,平均分数提高了5.89个百分点。即使在改进较小的模型上,如Llama3-70b-instruct,PAS仍然优于BPO,显示了其在不同评估模型和设置中的一致性和鲁棒性。
本文还将PAS与其他几种最先进模型的数据使用和灵活性进行了比较。在数据使用方面,PAS显著减少了与其他方法相比的数据消耗,仅使用了9000数据,而BPO使用了14000,PPO使用了77000,DPO使用了170000。
此外PAS的效率是BPO的1.56倍,PPO的8.56倍,DPO的18.89倍。在灵活性方面,PAS展示了其作为即插即用系统的优势,无需人工劳动,且适用于所有LLMs和任务。
为进一步确保实验严谨,本文还进行了人工评估,比较了PAS与没有任何Prompt增强的基线模型在综合评估指标上的性能,包括等级分数基准(Grade Score Benchmark, GSB)、可用性比例(Availability Proportion)、满分比例(Full Mark Proportion)和平均分数(Average Score)。这些指标能够全面地衡量模型在不同类别下的表现,如分析判断、主观建议、主观推荐、常识、事件查询、实体查询、行业知识和学术知识等。
评估结果显示,PAS系统在多个场景中均优于基线模型。具体来说,PAS在分析判断类别中实现了58.6%的胜率,在主观建议中实现了64.3%的胜率,在常识类别中实现了61.1%的胜率。这些数据表明,PAS系统在增强LLMs性能方面具有明显的优势,尤其是在提供准确、相关和全面回答方面。
进一步地,通过对比PAS和非PAS方法在不同评估基准上的表现,研究者们发现PAS在所有三个评估指标上均实现了显著提升。具体来说,PAS在满分比例上平均提升了11.43%,在平均分数上提升了0.41分,在可用性比例上提升了5.55%。这些提升证明了PAS系统不仅在自动化的评估基准上表现强劲,而且在人类评估者中也得到了积极反馈,展示了其用户友好的特性。
随着LLM的落地和实践经验日渐丰富,“应该怎么写Prompt”也逐渐发展出一套方法论,但实操过的朋友们或许都有感受,哪怕“理想再美好”,LLM实际上吐出的结果往往和我们的预期还是有一些“小差距”的,而不断去调试和优化Prompt以弥补这些“小差距”无疑是一件费时费力的事。
本文提出的PAS系统就旨在解决这一痛点,通过自动化的Prompt补充,显著提高了LLMs的性能,与之前最先进的模型BPO相比实现了超过6个百分点的提升。而PAS这一成果的取得也仅仅只使用了BPO 不到65%的微调数据量,进一步展示了PAS在数据效率上的优势,为APE的研究和拓展提供了一个强有力的指导方向。