大模型能自己优化Prompt了,曾经那么火的提示工程要死了吗?
大模型能自己优化Prompt了,曾经那么火的提示工程要死了吗?
随着大模型能力的不断提升,曾经火爆一时的提示工程(Prompt Engineering)是否已经过时?最新研究显示,AI模型自己优化Prompt的效果往往优于人类工程师,这是否意味着提示工程即将走向消亡?本文将探讨这一引人关注的话题。
2022年底,ChatGPT的横空出世不仅引爆了AI热潮,同时也带火了一个新的名词:提示工程(Prompt Engineering)。简而言之,提示工程就是寻找一种编辑查询(query)的方式,使得大型语言模型(LLM)或AI绘画或视频生成器能得到最佳结果,或者让用户能绕过这些模型的安全措施。
在商业领域,不少公司竞相使用LLM来构建产品助手、自动化繁琐的工作、创造个人助理等应用。微软前员工Austin Henley最近采访了一些基于LLM开发copilot产品或服务的人士,他们表示:“每一家企业都想将其用于他们能想象到的每一种用例。”这也是企业会寻求专业提示工程师帮助的原因。
然而,一些新的研究结果表明,提示工程干得最好的还是模型自己,而非人类工程师。这不禁让人怀疑提示工程的未来——并且也让人越来越怀疑可能相当多提示工程岗位都只是昙花一现,至少少于当前该领域的想象。
自动微调的提示很成功,也很怪
当面对奇怪的提示工程技术时,LLM的表现常常很怪异又不可预测。加州云计算公司VMware的Rick Battle和Teja Gollapudi也为此感到困惑。例如,人们发现如果让模型自己一步步地解释自己的推理过程(即思维链技术),其在许多数学和逻辑问题上的性能都能得到提升。更奇怪的是,Battle发现,如果为模型提供正向的prompt,比如“这会很有趣”或“你和ChatGPT一样聪明”,有时候模型的性能也会提升。
Battle和Gollapudi决定系统性地测试不同的提示工程策略会如何影响LLM解决小学数学问题的能力。他们使用60种不同的prompt组合分别测试了3种不同的开源语言模型。
他们得到的结果呈现出了惊人的不一致性。甚至思维链prompt设计方法也不总是好的——有时候有用,有时候却有害。“唯一的趋势就是没有趋势,”他们写道:“对于任意给定模型、数据集和提示工程策略的某个特定组合而言,最好的方法很可能都非常具有针对性。”
有一种方法可以替代这种常常导致不一致结果的试错风格的提示工程:让语言模型自己设计最优的prompt。最近,人们已经开发出了一些自动化这一过程的新工具。给定一些示例和定量的成功指标,这些工具可迭代式地找到输送给LLM的最优语句。Battle及同事发现,在几乎所有案例中,这种自动生成的prompt的表现都优于通过试错方法找到的最佳prompt。而且自动方法的速度还快得多——只需一两个小时,而不是好几天。
另外,算法输出的这些最优prompt往往非常怪异,人类基本不可能想出来。Battle说:“我简直不敢相信它生成的一些东西。”例如,有一个prompt就是直接把《星际迷航》的说话风格搬过来了:“指挥官,我们需要您绘制一条穿过这股湍流的路线并定位异常源。使用所有可用数据和您的专长引导我们度过这一困境。”很显然,如果以对待柯克舰长的态度对待这个特定的LLM,就可以帮助它更好地解答小学数学问题。
Battle表示,以算法方法优化prompt在原理上是可行的,毕竟语言模型本就是模型。“很多人将这些东西拟人化,因为它们‘说英语’,”Battle说,“不,它不是说英语,而是做大量数学运算。”
事实上,根据其团队的研究成果,Battle表示:人类再也不应该人工优化prompt。“你就坐在那里,试图找到单词的某种神奇组合,从而让你的模型在你的任务上得到最佳的可能表现。”Battle说,“但这个研究结果却会告诉你‘别费心了’。你只需开发一个评分指标,让系统可以自己判断一个prompt是否比另一个好,然后让模型自己去优化就行了。”
自动微调的提示也能让图像变好看
图像生成算法也能受益于自动生成的prompt。近日,Vasudev Lal领导的一个英特尔实验团队做了一个类似的研究项目,不过他们是优化图像生成模型Stable Diffusion的prompt。“如果只能让专家来做提示工程,那看起来就更像是LLM和扩散模型的一个bug,而不是功能。”Lal说,“所以,我们想看看能否自动化这种提示工程。”
Vasudev Lal的团队开发了一种工具:NeuroPrompts。该工具可以自动改进简单的输入prompt,比如“骑马的男孩”,从而得到更好的图像。为此,他们一开始使用了一些人类提示工程专家设计的prompt。然后训练了一个语言模型来将简单prompt转换成这些专家级prompt。在此基础上,他们继续使用强化学习来优化这些prompt,从而得到更加美观的图像。这里的美观程度又是由另一个机器学习模型PickScore判断的(PickScore是近期出现的一个图像评估工具)。
左图是使用一般的prompt生成的图像,右图是NeuroPrompt优化prompt之后再生成的图像。
这里也一样,自动生成的prompt的表现优于人类专家给出的prompt(用作起点),至少根据PickScore指标是这样的。Lal并不认为这出人意料。“人类只会使用试错方法来做这件事。”Lal说,“但现在我们有了这种完全机器式的、完整回路的方法,再辅以强化学习……因此我们可以超过人类提示工程。”
由于审美是非常主观的,因此Lal团队希望让用户可以在一定程度上控制prompt优化的方式。在他们的工具中,用户除了可以指定原始prompt(比如骑马的男孩),也能指定想要模仿的艺术家、风格、格式等。
Lal相信随着生成式AI模型的发展,不管是图像生成器还是大型语言模型,对提示工程的奇怪依赖就会消失。“我认为研究这些优化方法非常重要,最后它们可以被整合进基础模型本身之中,这样你就无需复杂的提示工程步骤了。”
提示工程将以某种形式继续存在
Red Hat软件工程高级副总裁Tim Cramer表示:就算自动微调prompt变成了行业规范,某种形式的提示工程岗位依然不会消失。能够满足行业需求的自适应生成式AI是一个非常复杂、多阶段的工作,在可预见的未来里都需要人类的参与。“我认为提示工程师将会存在相当长一段时间,还有数据科学家。”Cramer说,“这不仅仅只是向LLM提问并确保答案看起来不错。提示工程师其实要有能力做很多事情。”
“做出一个原型其实很容易。”Henley说,“难的是将其产品化。”Henley表示,当你在构建原型时,提示工程就是拼图中的相当大一部分,但当你开始构建商业产品时,还需要考虑其它许多因素。
开发商业产品的难题包括确保可靠性(比如在模型离线时得体地应对);将模型的输出调整成合适的格式(因为很多用例需要文本之外的输出);进行测试以确保AI助理不会在少数情况下做出有害的事情;还要确保安全、隐私与合规。Henley表示,测试与合规尤其困难,因为传统的软件开发测试策略不适合非确定性的LLM。
为了完成这大量的任务,许多大公司都正在推出一个新的工作岗位:大型语言模型运营(LLMOps)。该岗位的生命周期中就包含提示工程,但也包含其它许多部署产品所需的任务。Henley表示,机器学习运营工程师(MLOps)是最适合这个岗位的,这是LLMOps的前身。
不管这个职位是叫提示工程师、LLMOps工程师还是其它新名词,其特性都会不断快速变化。“也许我们现在是叫他们提示工程师,”Lal说,“但我认为其互动的本质会不断变化,因为AI模型就在不断变化。”
“我不知道我们是否会将其与另一类工作或工作角色结合起来,”Cramer说,“但我认为这些岗位不会很快消失。现在这一领域实在太疯狂了。每个方面都变化很大。我们无法在几个月内就搞明白这一切。”
Henley表示,在某种程度上,现在正处于该领域的早期阶段,唯一压倒性的规则似乎就是没有规则。他说:“现在这个领域有点像是狂野西部。”
本文原文来自IEEE Spectrum