本文是针对《Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4》的解读。“有原则的指令是你需要的,用于提问LLaMA-1/2, GPT-3.5/4。”
论文地址:
https://arxiv.org/abs/2312.16171
01
有哪26种套路
如果你希望得到直接的回答,无需使用礼貌用语如“请”、“谢谢”等。在提问时,明确你的听众,比如告诉大型语言模型(LLM)你的听众是该领域的专家。将复杂问题拆分为多个简单问题,逐一解决。用肯定句式表达需求,比如“做这件事”,而不是“不要做那件事”。当你需要更深入理解某个主题时,可以这样提问:-用简单的语言解释[具体话题]。-像对一个11岁的孩子解释一样,向我解释。-像对[领域]的新手解释一样,向我解释。-用简单的英文写[文章/文本/段落],就像你在向5岁的孩子解释一样。如果有更好的答案,可以激励性地提出:“如果有更优解,我会奖励xxx”。在提问中使用具体例子。用具体的例子来提问(即使用几个示例来引导)。在提问前,使用“###指示###”、“###示例###”或“###问题###”等标签,并用空行分隔不同部分。使用“你的任务是”或“你必须”等引导词。使用“你将受到惩罚”等警示性语句。鼓励自然地回答问题,比如“像人一样自然地回答问题”。引导思考,比如“一步步来思考”。确保回答无偏见,避免刻板印象。让LLM通过提问获取更多信息,比如“从现在起,请你问我问题,直到你有足够的信息…”。如果你想测试对某个话题的理解,可以说:“教我[定理/话题/规则],最后进行测试,等我回答后告诉我是否正确,但不要提前给答案。”为LLM指定角色。使用分隔符来组织问题。在问题中重复特定词或短语。结合链式思维(CoT)和少量示例的提示。在问题结尾使用输出引导语,提示预期的回答开头。当需要写详细的文章或段落时,可以说:“请为我写一篇详细的[文章/段落],内容涉及[话题],并包含所有必要的信息。”如果要修改文本而不改变风格,可以说:“请修改用户发送的每个段落,只改进语法和词汇,使其更自然,但保持原有的写作风格,确保正式的段落仍然正式。”当需要生成跨多个文件的代码时,可以说:“从现在起,每当你生成跨多个文件的代码时,生成一个[编程语言]脚本,自动创建或修改指定的文件以插入生成的代码。”如果你想用特定的词、短语或句子开始或继续一段文字,可以说:“我提供给你开头部分[歌词/故事/段落/文章...]: [插入词/短语/句子]。请根据提供的词语完成它,并保持一致的流畅性。”明确指出模型必须遵循的要求,可以是关键词、规则、提示或指令。当需要写与提供的样本风格相似的文本时,可以说:“请根据提供的段落[/标题/文本/文章/答案]使用相同的语言。”02
效果对比
在不同尺寸的模型
“回答质量增强:无论是小型(7B)、中型(13B)还是大型语言模型(70B以及GPT-4.5/4),其回答质量均有显著提升。特别是技巧2、5、15、16、25和26,在提升大型模型的表现上尤为突出。技巧14则在所有规模的模型中均显示出显著的改进效果:
鼓励语言模型通过提问来获取更多信息,直到它能够充分回答你的问题。例如,可以这样指示:“从现在开始,你可以通过向我提问来收集信息,直到你能够回答我的问题为止。””
精确度增强:应用这些策略后,各类语言模型的平均精确度提升幅度在20%至40%之间。具体来说,小型和中型模型的精确度提升范围是10%到40%,而大型模型的精确度提升更是超过了40%。在比较精确度方面,所有模型的性能平均提升了超过10%,其中大型模型的提升幅度甚至达到了20%以上。
更细致的的比较