新智元报道
编辑:好困 Aeneas
如何才能让大规模语言模型输出自己想要的结果?现在,一本超全超详提示工程指南来了,GitHub 已标星 4.7k。
提示工程,可以说是玩转 ChatGPT、DALL·E 2 等等这类 AI 模型的「必修课」。
但这个「提示」(prompt)具体要怎么写,多少都有些玄学在里面……
也难怪由此诞生的新职业——提示工程师,。
就在前不久,一位来自斯坦福大学的华人本科生 Kevin Liu,就通过 prompt injection 的方法,让微软 ChatGPT 搜索的全部 prompt 泄露。此后 ,更是掀起了一股调戏 ChatGPT 的热潮。
而今天新发布在 GitHub 上的一个项目,整理了提示工程的指南、论文、讲座和资源,堪称史上最全 prompt 资料包。
项目地址:https://github.com/dair-ai/Prompt-Engineering-Guide
凭借着一天近 1k 星的增长,这篇「提示工程指南」同时登上了 GitHub Trending,和 Hacker News 热榜。
指南内容
语言模型的输出需要通过输入的提示实现,但结果的质量取决于你为它提供多少信息。
随着我们介绍越来越多的例子和提示工程的应用,你会注意到,一个提示通常会由几种不同的元素构成:
-
指令:希望模型执行的具体任务或指示
-
背景:补充的外部或上下文信息,可以引导模型做出更好的反应
-
输入数据:想要解决的输入或问题
-
输出指示:输出的类型或格式
究竟该怎样玩转提示工程呢?GitHub 上的这份指南,会提供很大的帮助。
这份指南包括演讲、提示介绍、论文、工具和库、数据集、博客和教程等读物,总共 6 个部分。
50 页 PPT,一小时超详细讲座
在「讲座」这部分,包含了长达一小时的视频,代码示例,以及一份配合讲座的 50 页 PPT。
其中,视频包含 4 个部分,分别是提示工程简介、提供工程的技术、工具和应用程序、未来方向。
视频和 PPT 都对 prompt 的定义做了详细介绍:prompts 是指为了实现特定任务,传递给语言模型的指令和上下文。
而提示工程是创建一组提示或问题的过程,用于引导用户获得自己期望的结果。
为什么提示工程如此重要?
因为它对研究、发现很重要,能够用来帮助测试大语言模型的各种极限,还能在大语言模型上的基础上开发各种创新型的应用。
为什么提示工程如此重要?
因为它对研究、发现很重要,能够用来帮助测试大语言模型的各种极限,还能在大语言模型上的基础上开发各种创新型的应用。
提示指南
团队开发的提示工程指南,主要由 5 部分构成:
-
简介
-
基础提示
-
文本归纳
-
问题回答
-
对话
-
代码生成
-
推理
-
进阶提示
-
few-shot 提示
-
思想链(CoT)提示
-
zero-shot CoT
-
自洽性
-
生成知识提示
-
自动提示工程师(APE)
-
对抗性提示
-
忽略以前的指令
-
提示泄漏
-
越狱
-
其他
-
程序辅助的语言模型
-
ReAct
-
多模态 CoT 提示
-
图提示
论文合集
团队每天都会更新有关提示工程的最新论文,并且每周都会将这些论文的摘要纳入上述指南中。
比如,LeCun 今年 2 月的新作「Augmented Language Models: a Survey 」就被收录了进来。
具体来说,作者把论文分成了 4 个大类:
-
调查/概述
-
方法/技巧
-
应用
-
补充
工具资料包
数据集
博客、指南、教程和其他
这部分主要是来自大佬们的经验总结。
作者介绍
主导这个项目的 Elvis Saravia,是 DAIR.AI 的联合创始人。
他在台湾清华大学取得了信息系统与应用的硕士和博士学位。
在此之前,他在 Meta AI 担任了 2 年技术产品营销经理,并曾是 NeurIPS 研讨会和 NAACL 2019 的程序委员会的成员。
从 Linkedin 上的经历来看,这位朋友似乎也曾负责过 LeCun 一直心心念的 Galactica。
参考资料: