近年来,大型语言模型(LLM)的诞生刺激了对即插即用人工智能系统的需求不断增长,而在各种人工智能技术中,Prompt工程,即通过不断调整给予大模型的指令以优化大模型生成结果显得尤为重要。
然而,由于陡峭的学习曲线和大量的时间投入,用户在编写提示时经常面临挑战,就连目前最熟练的“提示工程师”也很难保证调试出最优化的提示,而这限制了大模型实际落地的效果。同时,现有的自动提示工程(APE)模型可能难以使用。
为了解决这个痛点,来自北京大学的团队提出了一套“即插即用”的提示自动增强系统——PAS,一种基于LLM的即插即用APE系统。PAS 利用在高质量、自动生成的即时补充数据集上进行训练的大语言模型,从而实现了卓越的性能。它不仅实现了超过6个层次的效果提升,更重要的是,它真正实现了“全自动化”的效果,将“提示工程师”从繁琐的调试工作中解放出来,为大模型的应用打开了新的篇章,接下来本文将简单介绍一下这个系统。
相关背景
近年来,大语言模型(LLM)的快速发展凸显了数据管理和人工智能系统在利用这些技术方面的重要性,作为提升LLMs性能的关键技术之一,自动提示工程(Automatic Prompt Engineering,APE)的目标是通过自动化的方式增强提示(prompts),以改善LLMs在特定任务的性能,并减少人工干预和时间成本。
然而,现有的提示工程方法,包括链式思考(Chain of Thought)和思维树(Tree of Thought)等策略,虽然在编程上提高了逻辑的一致性和准确性,但缺乏可扩展性。此外,近期的一些其他提示工程研究,包括从优化器视角自动寻找提示的方法,以及将演化算法引入到特定领域的离散提示优化中,虽然表现出了一定的潜力,但在实际应用中面临着明显的挑战,如评估每个提示的适应度需要大量资源,而探索多组提示的适应度会带来巨大的负担。
本文介绍的即插即用系统(Plug-and-Play Systems,PAS)因其在不同机器学习工作流程中的模块化和易集成性而受到重视,这些系统允许快速灵活地增强功能,轻松添加或替换新的处理模块,而无需重新设计整个算法。由于它们能够无缝增强现有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类别。
使用PAS系统
前述的数据生成Pipeline创建的高质量(Prompt,补充Prompt)数据对被用于微调选定的LLMs,以赋予它们自动生成补充Prompt的能力,从而得到PAS模型。当得到补充Prompt后,将其与原始Prompt进行拼接,输入到下一个LLMs当中,生成最终的答案。
作为一个自动的提示补充工具,PAS可以集成到任何可用的LLMs中,通过公共API或开放参数进行集成。这种灵活性使得PAS能够在不同的平台和系统中广泛应用,增强现有LLMs的能力,而无需进行广泛的重新训练或修改。
小结
随着LLM技术的应用和实践经验的不断积累,“如何编写Prompt”也逐步形成了一套新的方法论。然而,实际操作过的人可能都会有这样的体验:即使“理想再美好”,LLM实际输出的结果往往与我们的预期存在一定的“小差距”。因此,不断地调整和优化Prompt以缩小这些“小差距”无疑是一项既耗时又耗力的任务。
而本文提出的PAS系统就旨在解决这一痛点,通过自动化的Prompt补充,显著提高了LLMs的性能,与之前最先进的模型BPO相比实现了超过6个百分点的提升。而PAS这一成果的取得也仅仅只使用了BPO 不到65%的微调数据量,进一步展示了PAS在数据效率上的优势,为APE的研究和拓展提供了一个强有力的指导方向。
高性价比GPU算力:https://www.ucloud.cn/site/active/gpu.html?ytag=gpu_wenzhang_0719_shemei