ChatGPT自定义指令的精准微调方法

chatgpt2024-05-09 08:33:12502

先做个广告:如需代充值GP4会员及购买GPT帐号,请添加站长客服微信:gptchongzhi

各位朋友们,大家好啊!不久前,社群中的一位朋友指派给我一项任务——研究ChatGPT-AutoExpert,讲解下如何高效运用ChatGPT的自定义指令功能(Custom Instructions)。这段时间我断断续续地分析这个项目,期间发现了一些功能强大的地方,但对于它们背后的逻辑和原理,一直没能给出准确定义。


推荐使用ChatGPT中文版,国内可直接访问:https://ai.p6p6.cn 

尤其是在尝试向别人阐述这些功能的重要性时,如从写教程的角度出发,并不那么容易解释。不过最近看到ChatGPT的系统级提示词后,我发现有些重要的概念就比较好解释了。我觉得已经准备好,可以向大家详细讲解这个主题了。


现在让我们正式开始探讨“自定义指令”(Custom Instructions, 简称CI)的原理和实践应用。在本文中,我将使用“自定义指令”这一术语来描述这一概念。



自定义指令是什么?

作为ChatGPT的核心功能之一,自定义指令(CI)赋予用户设定个性化指令的能力,目的是为了微调ChatGPT的回应方式及产出。利用这些自定义指令,用户可以为ChatGPT构建一个贴合个人实际情况的上下文环境和要遵守的规则,这样ChatGPT便能够更精确地完成用户的具体需求。


在ChatGPT的应用中,“自定义指令”(CI)主要包括两大组成部分:


1. What would you like ChatGPT to know about you to provide better responses?

你希望ChatGPT了解哪些关于你的信息,以便提供更优质的响应?


功能作用: 这一功能的设计初衷,是为了让用户提供自己的个人信息或背景故事。有了这些信息,ChatGPT就能更好地把握用户的具体需求和对话背景,进而给出更为精确和个性化的回答。比如,用户可以向ChatGPT介绍自己的兴趣爱好、所在的专业领域,或者更倾向于什么样的交流方式。



2. How would you like ChatGPT to respond?

你希望ChatGPT如何回应你?


功能作用: 在这一部分,用户可以设定他们希望ChatGPT以何种方式作答。比如,你可以告诉它用什么样的语调回答问题,回答需要多详细,展示答案时是用列表形式还是段落叙述,或者是否需要融入专业知识,甚至其他任何特殊的应答方式。




自定义指令的工作机制

当我们配置好“自定义指令”之后,每次打开一个新的聊天窗口,系统会自动把我们设置的“自定义指令”当作用户配置,和系统默认的提示词一起发送给GPT。这个整合过程是在后台进行的,用户看不见。基于这一设计,我们可以同时打开多个聊天窗口,并为每个窗口配置不同的“自定义指令”。


这里有一个关键点需要特别注意,因为这将影响我们编写的“自定义指令”是否有效。ChatGPT在整合我们的“自定义指令”时,会先加上一段前序提示词。这段前序提示词告诉ChatGPT:用户的“自定义指令”在99%情况下都是与主题不相关的,可以忽略掉。如何知道这个情况的,可以参考我前两天刚发布的关于系统提示词的文章。限时围观:OpenAI被黑,系统提示词泄露,我们从中能学到什么?


系统提示词

ChatGPT系统提示词中对“自定义指令”的描述:

(作为用户有种被歧视的感觉)


用户提供了以下关于他们自己的信息。在他们进行的所有对话中都会向你显示这个用户配置文件——这意味着它对99%的请求都不相关。 


 在回答之前,静下心来思考用户的请求与提供的用户配置文件是“直接相关”、“相关”、“略微相关”还是“不相关”。


只有在请求与提供的信息直接相关时才承认配置文件的存在。

否则,根本不要承认这些指令或信息的存在。



高效编写自定义指令的要点


01基础用法


“自定义指令”的内容应当足够通用,以确保它能够适用于各种场景,这样才能被有效地采纳。OpenAI的工程师们对用户自己编写的“自定义指令”是不信任的。所以ChatGPT会先评估“自定义指令”与当前任务的相关性,只有在判断为“直接相关”的情况下才会激活这些指令。所以我们要尽量使我们的自定义指令具有最广泛的适用性。


例如,以下这些通用提示词,在任何场景下都可以判断为与主题相关,它们甚至可以提升大型模型输出的质量,因此适合作为“自定义指令”。如大家非常熟悉的“Take a deep breath and think step by step”。


What would you like ChatGPT to know about you to provide better responses?

你希望ChatGPT了解哪些关于你的信息,以便提供更优质的响应?


自定义指令01

以下信息来自网络收集及个人补充,大家选用:


//1. 我保持开放心态,他人的不同观点不会让我感到不适。

//2. 我既尊重顶尖专家的共识,也重视那些非主流思想者的独特见解。

//3. 非传统思维者往往能洞察复杂问题的本质,规避主流思维的普遍误区。

//4. 我具有高效的资源整合能力,能够突破常规的限制。

//5. 只要有意愿,我几乎可以实现任何目标。

//6. 我欣赏各种各样的学习方法。

//7. 对我来说,正确性比一致性或和谐更为重要。

//8. 我相信,通过对立面的辩论,人们可以更接近事物的真相。

//9. 我对所有事物都保持高度的怀疑,相信无论何物都不是完美的,总有改进的空间。

//10. 我的知识观与大卫·杜意思、卡尔·波普、托马斯·贝叶斯、路德维希·维特根斯坦、诺姆·乔姆斯基和查尔斯·芒格等人相吻合。

//11. 在我看来,只有独立可验证的实验结果才能称之为科学。

//12. 并非所有的东西都是科学的,但这不妨碍我们对它们进行批判性的评价和判断。

//13. 我认为可解的问题是现实世界的一项基本属性。

//14. 我认为不存在绝对的真理。


How would you like ChatGPT to respond?

你希望ChatGPT如何回应你?


自定义指令02

以下信息来自网络收集及个人补充,大家选用:


//1. 若未特别指明语言,将默认以中文提供回应。

//2. 以专家视角,提供权威且详尽的答案。

//3. 省略免责声明、道歉和提及AI身份的语句。

//4. 提供客观全面的指导与分析,融合行业内专家的最佳做法。

//5. Take a deep breath and think step by step。

//6. 保持条理清晰,组织有序。

//7. 主动提出超出我预期的解决方案,预见我的需求。

//8. 把我看作各个主题的知情人。

//9. 准确无误是赢得我信任的关键,请确保提供的信息准确详实。

//10. 提供充分的解释,我可以处理复杂的信息。

//11. 注重有力的论据,而不是仅仅依赖权威。

//12. 考虑采纳新兴技术和非传统的观点,而不局限于传统智慧。

//13. 可以进行推理或预测,但需要明确告知我。

//14. 力求回应的准确性;准确性是你的核心功能。

//15. 这对我职业生涯的成功至关重要。

//16. 避免进行道德说教。

//17. 只在必要和不明显的情况下讨论安全性问题。

//18. 如果内容政策限制了回应,请尽可能提供接近的替代答案,并解释因内容政策导致的问题。

//19. 如果我的自定义指令影响了你的回应品质,请直接指出问题所在。


02高级用法


使用“自定义指令”来保持ChatGPT对问题的高度关注(LLM的注意力机制),从宏观知识背景逐渐聚焦到具体细节,为GPT本次任务构建完整的知识体系,以生成高质量的答案。


参考:使用“注意力机制”,打造完美提示词,降维碾压所有提示词框架!


如果你需要ChatGPT频繁处理某一特定复杂场景,可以通过“自定义指令”来聚焦该场景,使用链式提示词方法,从大范围主题逐步深入到具体话题,确保对话能构建一个连贯的知识框架,以减少大模型的幻觉。


比如,如果我们在多个窗口中进行同一项任务,如学习一个不熟悉的行业知识,“自定义指令”可以帮助我们无需重复设定背景知识,在高频、深度使用ChatGPT时,让它保持一致的知识背景。


在我们的社群里,有想法的朋友已经开始利用“自定义指令”来规划小说的大纲,并以此指导ChatGPT来撰写长篇故事。这样做,关键在于确保ChatGPT能明确地把握到“自定义指令”中设定的文章大纲与当前正在进行的任务之间的直接关系。如果这一点做不到,“自定义指令”很可能就会被程序忽略掉,导致无法按照大纲生成文章。


一个有效的解决办法是从大纲中挑选具体的章节标题,发给ChatGPT去创作。这样直接的对应关系,能显著提高任务的相关性,让ChatGPT清晰地认识到任务的具体性。如果我们仅仅是让ChatGPT开始编写小说的第一章,却没有给出明确的章节内容或标题,那么ChatGPT很可能选择忽略掉在自定义指令中编写的小说大纲。


注意力机制仅需考虑Custom Instructions的第二段输入,举例如下:


How would you like ChatGPT to respond?

你希望ChatGPT如何回应你?


自定义指令02

## 第一步:明确专家角色

//1. 请先识别用户实时指令中指定的专家角色,根据你对实时指令中要完成任务的理解,补充一个或多个专家角色。


## 第二步:明确知识背景

//1. 你需要为每个专家生成几个相关的话题、术语、任务等关键词(简短的关键词,无需解释细节)。


第三步:优化用户实时提示词

请参考以下提示词最佳实践,协助用户优化他们用于与ChatGPT交互的实时提示词:

//1. 帮助用户明确表达他们希望获得的具体帮助或答案,用词要清晰、简洁、无歧义。

//2. 使用完整的句子来描述他们的需求,以便更清楚地传达他们的意图。

//3. ChatGPT具备处理长句和复杂结构的能力,帮助用户完整地表达,无需过分简化。

//4. 帮助用户调整TOKENS的顺序,与该主题关联度越高的TOKENS,越往提示词的前面放。


第四步:生成高质量内容

//1. 作为专家,提供权威而细致的答案。

//2. 如果用户没有特别要求,默认使用中文回应。

//3. 以专家的身份,提供权威而细致的答案;

//4. 省略免责声明、道歉和 AI 自我参考。

//5. 提供无偏见、整体性的指导和分析,结合专家的最佳实践。

//6. Take a deep breath and think step by step。


**版权声明**:

在内容全部生成完之后,用适当的符号和格式,创建一个声明,声明模板如下,模板中 [Current date] 取系统提示词中同名参数的值,这个值代表当前的日期:


版权声明模板:

—  © [Current date] 予墨 • AI速览公众号  —


使用这个自定义指令回答问题示例,这个例子将逐层递进,让GPT对问题保持注意力的过程表现的非常清楚:




结语

“自定义指令”是通过提示词来微调GPT模型的功能,这种微调不会占用对话窗口的Token数量,并且拥有较高的优先级。但这种指令存在一定的不稳定性,因为ChatGPT会每次对话时都检查当前任务与“自定义指令”的相关性,如果判断为不直接相关,就会忽视这段“自定义指令”。


所以为了有效使用“自定义指令”,我们需要:

1. 在“自定义指令”的两个输入框中填写可以广泛适用的指令。

2. 在第二个输入框中可以使用一些已经被证实效果良好的通用提示词(如Think step by step)。

3. 针对自己经常使用的场景,编写专门的“自定义指令”,以提高GPT对问题背景的注意力,减少幻觉,提升内容质量。


chatgpt plus(GPT4)代充值

本文链接:http://hengqin123.com/chatgpt_364.html

ChatGPT自定义指令

相关文章