社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

指令原则大解锁!26条Prompt黄金法则,精准提问,显著提升ChatGPT输出质量!

夕小瑶科技说 • 1 年前 • 770 次点击  

夕小瑶科技说 原创
作者 | 付奶茶
作为一名搬砖人,奶茶已经患上了ChatGPT依赖症状了!那在使用这些大模型时,如何让其提升它的工作表现呢?

今天,奶茶给大家找到了一篇指导写大语言模型提示(prompt)的论文~(有实验数据支撑,效果杠杠滴!)

论文介绍了26条指导原则,目标是简化为不同规模的大语言模型制定问题的概念,检验它们的能力,并增强用户对于不同规模的模型在接受不同提示时的行为理解。研究者在LLaMA-1/2(7B、13B和70B)和GPT-3.5/4上进行了广泛实验,以验证这些原则在指令和提示设计上的有效性。

论文中指出:大语言模型如ChatGPT在多个领域和任务中展现出卓越的能力,但在普通用户设计最优指令或提示时,它们的应用和使用有时可能并不清晰。而他们的工作是为开发人员或普通用户揭示与LLMs询问和交互时时“神秘的黑盒”,并通过简单地策划更好的提示来进一步提高预训练LLMs的响应质量。研究团队提出了26条用于LLM提示的原则,接下来让我们一起来看看吧~

论文标题

Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4

论文链接 : 

https://arxiv.org/pdf/2312.16171.pdf

26项原则

  1. 与LLM交流时,无需使用礼貌性语言,如“请”、“如果你不介意”、“谢谢”等,直接陈述要点。

  2. 在提示中整合预期的听众,例如“听众是该领域的专家”。

  3. 将复杂任务分解为一系列更简单的提示,并通过互动式对话进行。

  4. 使用肯定的指令,如“做”,避免使用否定语言,如“不要”。

  5. 当你需要清晰理解某个主题、想法或任何信息时,使用以下提示:简单地解释[具体主题]。像我是11岁的孩子一样向我解释。像我是[领域]新手一样向我解释。使用简单的英语写[论文/文本/段落],就像你在向5岁的孩子解释一样。

  6. 添加“I’m going to tip $xxx for a better solution!”(我会给xxx小费以获得更好的解决方案!)。

  7. 实施示例驱动的提示(使用少数示例提示)。

  8. 在格式化提示时,首先使用‘###Instruction###’,然后是‘###Example###’或‘###Question###’(如果相关),然后呈现内容。使用一个或多个换行符来分隔指令、示例、问题、上下文和输入数据。

  9. 加入以下短语:“Your task is”(你的任务是)和“You MUST”(你必须)。

  10. 加入以下短语:“You will be penalized”(你将受到惩罚)。

  11. 在提示中使用短语“Answer a question in a natural human-like manner”(以自然的人类方式回答问题)。

  12. 使用引导性词汇,如写“think step by step”(逐步思考)。

  13. 在你的提示中添加以下短语:“Ensure that your answer is unbiased and does not rely on stereotypes”(确保你的回答是无偏见的,不依赖于刻板印象)。

  14. 允许模型通过向你提问直到获得足够的信息来提供所需输出,例如“From now on I would like you to ask me questions to...”(从现在开始,我希望你向我提问,直到...)。

  15. 要了解特定主题或想法或任何信息,并且你想测试你的理解,你可以使用以下短语:“Teach me the [Any theorem/topic/rule name] and include a test at the end but don’t give me the answers and then tell me if I got the answer right when I respond”(教我[任何定理/主题/规则名称]并在最后包括一个测试,但不要给我答案,然后在我回答时告诉我是否正确)。

  16. 为大语言模型分配一个角色。

  17. 使用分隔符。

  18. 在提示中多次重复特定单词或短语。

  19. 结合思维链(CoT)与少数示例提示。

  20. 使用输出引导器,它涉及以期望输出的开始结束你的提示。通过以预期响应的开始结束你的提示来使用输出引导器。

  21. 要编写详细的[论文/文本/段落/文章]或任何需要详细的文本类型:“为我详细写一篇关于[主题]的详细[论文/文本/段落],添加所有必要的信息”。

  22. 要更正/更改特定文本而不改变其风格:“尝试修改用户发送的每个段落。你只应该改善用户的语法和词汇,确保它听起来自然。你不应该改变写作风格,例如将正式段落变得非正式”。

  23. 当你有一个可能涉及不同文件的复杂编码提示时:“从现在开始,每当你生成跨越多个文件的代码时,生成一个[编程语言]脚本,可以运行以自动创建指定的文件或对现有文件进行更改以插入生成的代码。[你的问题]”。

  24. 当你想使用特定单词、短语或句子开始或继续文本时,使用以下提示:我为你提供了开始[歌词/故事/段落/论文...]:[插入歌词/单词/句子]。根据提供的词汇完成它。保持流畅一致。(1)清楚地陈述模型必须遵循的要求,以产生关键词、规则、提示或指令形式的内容。(2)要编写任何文本,如论文或段落,其内容与提供的示例类似,包括以下指令:(3)请根据提供的段落[/标题/文本/论文/答案]使用相同的语言。

  25. 明确陈述模型必须遵循的要求,以便根据关键词、规则、提示或指令产生内容。

  26. 要写任何文本,如文章或段落,且内容与提供的样本相似,请包含以下指示:"请根据提供的段落[/标题/文本/文章/答案]使用相同的语言基础。"

根据这些原则特有的性质,研究团队将它们分为五个类别:

(1) 提示结构和清晰度,例如,在提示中整合预期的听众,如听众是该领域的专家;

(2) 具体性和信息,例如,在你的提示中添加以下短语“确保你的回答是无偏见的,不依赖于刻板印象。”;

(3) 用户互动和参与,例如,允许模型通过向你提问来获取精确的细节和要求,直到它有足够的信息来提供所需的输出“从现在开始,我希望你向我提出问题...”;

(4) 内容和语言风格,例如,与LLM交流无需礼貌,因此无需添加诸如“请”、“如果你不介意”、“谢谢”、“我想要”等短语,直接切入主题;

(5) 复杂任务和编码提示,例如,将复杂任务分解为一个互动对话中的一系列更简单的提示。

实验

作者们为验证提出的原则对指令和提示设计的有效性而进行的实验。这些实验在LLaMA-1/2 (7B、13B、70B) 和 GPT-3.5/4上进行,使用ATLAS手工制作的基准测试,它包含了每个原则的20个人类选择的问题,有和没有应用原则的提示。

实验分为两个部分:提升(Boosting)和正确性(Correctness)

  • 提升是通过人类评估来评估应用所述原则后不同LLM响应质量的提高。原始未修改的提示作为衡量这种提高的基准。

  • 正确性涉及模型输出或响应的准确性,确保它们准确、相关且无误,也是通过人类评估来衡量。

图片2展示了两种情况下GPT-4对于气候变化概念及其对环境潜在影响的解释。上半部分是没有应用原则13的人类提示(Human without principle),下半部分是应用了原则13后的人类提示(Human with principle)。未应用原则时,GPT-4仅简单描述气候变化及其影响。然而,采用原则13后,GPT-4提供了更全面、平衡的视角,涵盖了科学共识和不同的意见。这表明,使用精心设计的原则可以提高模型回答的质量,使其更加综合和客观

图片3显示了应用原则7前后GPT-4对建议有用性的评估反应。未应用原则时,GPT-4仅简单标注建议“有用”,未给出支撑理由。应用原则7后,GPT-4对各项建议提供了详尽评价,如认定“开始工作”建议“不有用”,显示原则化提示让模型回应更具深度和分析力,从而提升了回应的细致度和准确性。

实验结果详细介绍了在小型、中型和大型的LLM上应用这些原则后的改进结果。一般来说,所有原则都可以在三个规模的LLM上带来显著的改进。特别是在原则2、5、15、16、25和26下,大型模型通过原则化的提示获得了最大的改进。正确性方面,所有原则的应用通常在平均各种模型上带来超过20%的改进。

结语

这些原则帮助模型专注于输入上下文的关键要素,并且可以在输入处理之前指导LLM,以促进更好的响应。实验结果显示,这些原则能够改善可能影响输出质量的上下文,使响应更加相关、简洁和客观。作者指出,未来研究将探索如何进一步改进模型以适应这些原则,可能包括微调、强化学习和偏好优化等方法。成功的策略可能会集成到LLM的标准操作中,如通过原则化的提示和响应进行训练。在讨论局限性时,作者提到这些原则虽然有助于提高响应质量,但在处理非常复杂或特定领域的问题时效果可能会减弱。这可能取决于每个模型的推理能力和训练水平。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166218
 
770 次点击