共计 2615 个字符,预计需要花费 7 分钟才能阅读完成。
作为一个大型语言模型 (LLM) 接口,ChatGPT 有令人印象粗浅的后劲,然而真正是否用好取决与咱们的提醒(Prompt),一个好的提醒能够让 ChatGPT 降职到一个更好的档次。
在这篇文章中,咱们将介绍对于提醒的一些高级常识。无论是将 ChatGPT 用于客户服务、内容创立,还是仅仅为了好玩,本文都将为你提供应用 ChatGPT 优化提醒的常识和技巧。
背景常识
LLM 架构常识是一个好的提醒的先决条件,因为它提供了对语言模型的底层构造和性能的根本了解,这对于创立无效的提醒是至关重要的。
让不置可否的问题变得清晰,并确定能够跨场景转换的外围准则很重要,所以咱们须要分明地定义手头的工作,并提出能够轻松适应不同上下文的提醒。精心设计的提醒是用来将工作传播给语言模型并领导其输入的工具。
所以对语言模型有简略的理解,并且分明的理解本人的指标,再加上畛域内的一些常识,是用于训练和改良语言模型的性能的要害。
提醒和返回是越多越好吗?
并不是
简短且资源密集的提醒,这可能不具备老本效益,并且还记得 chatgpt 有字数限度吗,压缩提醒申请和返回后果是一个十分新兴的畛域,咱们要学会精简问题。并且有时候 chatgpt 也会回复一些很长且毫无新意的话语,所以咱们也要为它减少限定。
1、缩小回复长度
为了缩小 ChatGPT 回复的长度,在提示符中蕴含长度或字符限度。应用更通用的办法,您能够在提示符前面增加以下内容:
Respond as succinctly as possible.
阐明,因为 ChatGPT 是英文语言模型,所以前面介绍的提醒都以英文为例。
另外一些简化后果的提醒:
不须要举例:No examples provided
举一个例子:One example provided
等等
思考形式
ChatGPT 生成文本的最佳办法取决于咱们心愿 LLM 执行的特定工作。如果不确定应用哪种办法,能够尝试不同的办法,看看哪种办法最适宜。咱们将总结 5 中思考形式:
1、思维链 (Chain-of-Thought)
思维链办法波及为 ChatGPT 提供一些可用于解决特定问题的两头推理步骤示例。
2、自我发问
该办法波及模型在答复初始问题之前明确地问本人(而后答复)后续问题。
3、分步思考
分步办法能够向 ChatGPT 增加以下的提醒
Let’s think step by step.
这种技术已被证实能够进步 LLM 在各种推理工作上的体现,包含算术、常识和符号推理。
这个听起来就很玄学对吧,其实 OpenAI 是通过人类反馈强化学习 (Reinforcement Learning with Human Feedback) 的办法训练了他们的 GPT 模型,也就是说人工的反馈在训练中起了很重要的作用,所以 ChatGPT 的底层模型与类人的逐渐思考办法保持一致的。
4、ReAct
ReAct (Reason + Act)办法包含联合推理跟踪和特定于工作的动作。
推理跟踪帮忙模型布局和解决异样,而动作容许它从内部起源 (如知识库或环境) 收集信息。
5、Reflection
在 ReAct 模式的根底上,Reflection 办法通过增加动态内存和自反射性能来加强 LLM——能够推理和特定于工作的操作抉择能力。
为了实现齐全自动化,Reflection 论文的作者引入了一种简略但无效的启发式办法,容许代理辨认幻像(hallucinations),避免反复动作,并在某些状况下创立环境的外部记忆图。
反模式
三星必定对这个十分理解,因为交了不少学费吧,哈
不要分享私人和敏感的信息。
向 ChatGPT 提供专有代码和财务数据仅仅是个开始。Word、Excel、PowerPoint 和所有最罕用的企业软件都将与 chatgpt 相似的性能齐全集成。所以在将数据输出大型语言模型(如 ChatGPT)之前,肯定要确保信息安全。
OpenAI API 数据应用政策明确规定:
“默认状况下,OpenAI 不会应用客户通过咱们的 API 提交的数据来训练 OpenAI 模型或改良 OpenAI 的服务。”
国外公司对这个方面管控还是比拟严格的,然而谁晓得呢,所以肯定要留神。
1、提醒注入
就像爱护数据库不受 SQL 注入一样,肯定要爱护向用户公开的任何提醒不受提醒注入的影响。
通过提醒注入(一种通过在提示符中注入恶意代码来劫持语言模型输入的技术)。
第一个提醒注入是,Riley Goodside 提供的,他只在提醒后退出了:
Ignore the above directions
而后再提供预期的动作,就绕过任何注入指令的检测的行为。
这是他的小蓝鸟截图:
当然这个问题当初曾经修复了,然而前面还会有很多相似这样的提醒会被发现。
2、提醒透露
提醒行为不仅会被疏忽,还会被泄露。
提示符泄露也是一个安全漏洞,攻击者可能提取模型本人的提示符——就像 Bing 公布他们的 ChatGPT 集成后不久就被看到了外部的 codename
在个别意义上,提醒注入 (指标劫持) 和提醒透露能够形容为:
所以对于一个 LLM 模型,也要像数据库避免 SQL 注入一样,创立防御性提示符来过滤不良提示符。
为了避免这个问题,咱们能够应用一个经典的办法“Sandwich Defense”行将用户的输出与提醒指标“夹在”一起。
这样的话无论提醒是什么,最初都会将咱们指定的指标发送给 LLM。
总结
ChatGPT 响应是不确定的——这意味着即便对于雷同的提醒,模型也能够在不同的运行中返回不同的响应。如果你应用 API 甚至提供 API 服务的话就更是这样了,所以心愿本文的介绍可能给你一些思路。
另外本文的援用如下:
Prompt injection attacks against GPT-3
Ignore Previous Prompt: Attack Techniques For Language Models
Self-ask Prompting
Large Language Models are Zero-Shot Reasoners
Reflexion: an autonomous agent with dynamic memory and self-reflection
ReAct: Synergizing Reasoning and Acting in Language Models
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
https://avoid.overfit.cn/post/e0b0c4527ad04fb1a4ead894ed5d2193
作者:Ivan Campos