作为一个大型语言模型(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