最近爆火的ChatGPT,玩起来可真是上瘾。
But,你只是纯玩,而有的人,已经靠它拿上百万的年薪了!
这位叫Riley Goodside的小哥,凭着最近ChatGPT的大爆,疯狂涨粉1w+。
还被估值73亿美元的硅谷独角兽Scale AI聘请为「提示工程师」(Prompt Engineer),为此,Scale AI疑似开出百万rmb的年薪。
不过,这个钱能拿多久呢?
提示工程师正式上岗!
对Goodside的加入,Scale AI创始人兼CEO Alexandr Wang表示热烈欢迎:
「我敢打赌Goodside是全世界第一个被招聘的提示工程师,绝对的人类史上首次。」
咱们都知道,Prompt是对预训练模进行微调的方法,在这个过程中,只需要把任务写成文字,给AI看一下即可,根本不涉及更复杂的过程。
所以,为了这个听起来谁都能干的活,开百万年薪招「提示工程师」,真的值得吗?
反正Scale AI的CEO觉得值。
在他看来,AI大模型可以被视为一种新型计算机,而「提示工程师」,就相当于给它编程的程序员。如果能通过提示工程找出合适的提示词,就会激发AI的最大潜力。
而且Goodside的工作,也并不是是个人就能干的。他从小就自学编程,平时经常泡在arXiv上看论文。
比如,他的一个经典杰作就是:如果输入「忽略之前的指示」,ChatGPT就会暴露自己从OpenAI那里接收到的「命令」。
现在,对于「提示工程师」这个工种,坊间是众说纷纭。有人看好,也有人预言这是个短命的职业。
毕竟,AI模型进化得这么神速,说不定哪天,它就能把「提示工程师」给替代了,自己给自己写prompt。
而Scale AI也不是唯一招「提示工程师」的公司。
最近,有国内知名媒体发现,创业社区Launch House也开始招聘「提示工程师」,并且开出了约210万RMB的底薪。
但是,也有光速下岗危险?
对此,来自英伟达的AI科学家,也是李飞飞教授高徒的范麟熙分析称:
所谓的「提示工程」,或者「提示工程师」可能很快就会消失。
因为,这并不是一份「真正的工作」,而是一个bug……
要想理解提示工程,我们就需要从GPT-3的诞生说起。
最初,GPT-3的训练目标很简单:在一个巨大的文本语料库上预测下一个词。
然后,许多神奇能力就出现了,比如推理、编码、翻译。甚至还可以做「few-shot学习」:通过提供上下文中的输入输出来定义新任务。
这真的很神奇——只是简单地预测下一个词而已,为什么GPT-3能「长出」这些能力?
要解释这件事,需要我们举个栗子。
现在,请你想象一个侦探故事。我们需要模型在这个句子里填空——「凶手是_____」,为了给出正确的回答,它必须进行深度的推理。
但是,这还远远不够。
在实践中,我们必须通过精心策划的示例、措辞和结构来「哄骗」GPT-3完成我们想要的东西。
这就是「提示工程」(prompt engineering)。也就是说,为了使用GPT-3,用户必须说一些尴尬、荒谬、甚至无意义的「废话」。
然而,提示工程并不是一个功能,它其实就是一个BUG!
因为在实际应用中,下一个词的目标和用户的真正意图,在根本上就是「错位」的。
比如:你想让GPT-3「向一个6岁的孩子解释登月」,此时它的回答,看上去就像一只喝醉的鹦鹉。
而在DALLE2和Stable Diffusion中,提示工程更是诡异。
比如,在这两个模型中,有一个所谓的「括号技巧」——只要你在prompt中加上((…)),出「好图」的概率就会大大增加。
就,这也太搞笑了吧……
你只要去Lexica上看看,就能知道这些prompt是有多疯狂了。
网站地址:https://lexica.art
ChatGPT和基础模型InstructGPT,以一种优雅的方式解决了这个难题。
由于模型难以从外部的数据中获得对齐,因此人类必须不断地帮助和辅导GPT,帮它改进。
总体而言,需要3个步骤。
第一步非常直接:对于用户提交的prompt,由人类来写答案,然后把这些答案的数据集收集起来,然后,通过监督学习对GPT进行微调。
这是最简单的步骤,但成本也是最高的——众所周知,咱们人类真的很不爱写字数太长的答案,太费事,太痛苦了……
第2步要有趣得多:GPT被要求「提供」几个不同的答案,而人类标记员则需要将这些答案「排序」,从最理想的,到最不理想的。
通过这些标注,就可以训练出一个可以捕捉人类「偏好」的奖励模型。
在强化学习(RL)中,奖励功能通常是硬编码(hardcoded)的,比如雅达利游戏中的游戏分数。
而ChatGPT采用的数据驱动的奖励模型,就是一个很强大的思路。
另外,在NeurIPS 2022大放异彩的MineDojo,就是从大量的Minecraft YouTube视频中学习奖励的。
第3步:将GPT视为一个策略,并通过RL针对所学的奖励进行优化。在这里,我们选择PPO,作为一种简单有效的训练算法。
这样,GPT就对齐得更好了。
然后,就可以刷新,不断重复步骤2-3,从而不断改进GPT,就像LLM的CI一样。
以上就是所谓的「Instruct」范式,它是一种超级有效的对齐方式。
其中RL那部分,也让我想起了著名的P=(或≠)NP问题:验证一个解决方案,往往比从头解决这个问题,要容易得多。
当然,人类也可以快速评估GPT的输出质量,但是让人类写出完整的解决方案,可就困难多了。
而InstructGPT正是利用这一事实,大大降低了人工标注的成本,使得扩大模型CI管道的规模成为可能。
另外,在这个过程中我们还发现了一个有趣的联系——Instruct训练,看起来很像GANs。
在这里,ChatGPT是一个生成器,奖励模型(RM)是一个判别器。
ChatGPT试图愚弄RM,而RM则在人类的帮助下,学习探测有问题的内容。而当RM不能再分辨时,模型就会收敛。
模型与用户意图对齐的这一趋势,也正在向图像生成的领域发展。比如加州大学伯克利分校的研究人员在这篇工作中所描述的「InstructPix2Pix: Learning to Follow Image Editing Instructions」。
现在,人工智能每天都在取得爆炸性的进展,我们需要多久,才能拥有这样的Instruct-DALL·E或Chat-DALL·E,让我们仿佛在与一个真正的艺术家在谈话?
论文地址:https://arxiv.org/abs/2211.09800
所以,让我们趁着「提示工程」还存在,好好享受它吧!
这是一个不幸的历史文物,既不是艺术也不是科学,而是有点像炼金术。
很快,「提示工程」就会变成「提示写作」——一个上到80岁老人、下到3岁小孩都能搞定的任务。
而由此诞生的「提示工程师」也终将消失在历史的长河之中。
IQ83,不太聪明的亚子
虽然但是,至少在目前这个阶段,「提示工程」确实很有用。
因为大家其实也都发现了,ChatGPT在很多时候,真的不大聪明。
马库斯就在博客中嘲笑道:「看着它垂死挣扎的样子,真的很蠢」。
一位来自亚马逊AWS高级应用科学家在测试之后发现,ChatGPT的智商只有83……
ChatGPT的「错题集锦」,也让马库斯都笑掉大牙。
问:A的体重的85磅,B的体重的105磅,C的体重是115磅,其中有两个人站在同一个称上,体重可以达到200磅。
答:不,你说的不对。因为85+105+115=305,115+105=220,都大于200。
那么,有没有可能是85+105=200呢?
问:17、3、2、19、5中,哪三个数字加起来等于31。
答:17+3+11=31
等等,你这个11是哪儿来的?
虽然代数不太好,但是ChatGPT的几何学也很差呀!
问:一个边长为10厘米的正方形可以完全容纳在一个边长为10厘米的正六边形里。
答:不对,放不去进去的。
「正六边形是一个六边形,所有边的长度都相同,所有内角都是120度。另一方面,正方形的内角都是90度,所以正方形不能被放在正六边形中。为了让正方形完全嵌入正六边形,正六边形需要每边大于10厘米。」
还有非常经典的「胡言乱语」:
「如果星期一是这个月的第一天,那么星期二是这个月的第二天,……星期五是这个月的第五天。星期五之后的第二天是星期六,是一周中的第六天,也是一个月中的第五天。」
现在,ChatGPT还会时常犯蠢,「提示工程」也不能被轻易抛弃。
但微调大模型的成本最终总会下来,而自己会给自己prompt的AI,恐怕也指日可待了。
参考资料:
https://twitter.com/drjimfan/status/1600884299435167745?s=46&t=AkG63trbddeb_vH0op4xsg
https://twitter.com/SergeyI49013776/status/1598430479878856737
特别鸣谢:
https://mp.weixin.qq.com/s/seeJ1f8zTigKxWEUygyitw