Feb 13, 2023
ChatGPT提示词技巧
ChatGPT https://chat.openai.com/chat 目前来说,非常适合做写作助手。尤其是对于学习新语言的人来说,可以是很好的语言学习工具。
当我们想把一些计算类型的工作交给chatGPT时,就会考验chatGPT计算的准确性。
为了验证ChatGPT在基础的数学运算和逻辑运算上的能力,测试了一些问题。并且验证了CoT思路下的提示词(Prompt)——Let’s think step by step 确实能够提高答案的准确率。
Prompt1
有 1000 瓶酒,其中只有一瓶有毒。现在用小白鼠进行实验,小白鼠只要服用任意有毒的酒就会在 24 小时内死亡。问最少需要多少只小白鼠进行实验,才能在 24 小时内检测出哪瓶药水有毒?
正确答案是:10只。
第一次: 直接问。
给出答案,3只。错了。
第二次:在问题后加了,”Let’s think step by step”
给出了正确答案。10只。
Prompt2
小明的爸爸有3个儿子,大儿子叫大毛、二儿子叫二毛、三儿子叫什么?
答案:小明。
第一次,直接问。
答案,三毛。错了。
第二次,在问题后加了,”Let’s think step by step”。
答案是:小明。对了。
Prompt3
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
正确答案:12只兔子,23只鸡。
第一次,在问题后面加了“让我们来逐步思考下”(把Prompt 翻译成了中文)。
答案错了。魔法失效了。
第二次,在问题后面加了”Let’s think step by step”。
答案对了。魔法回来了。
Prompt4
Five people were eating apples, A finished before B, but behind C. D finished before E, but behind B. What was the finishing order?
答案:C, A, B, D, E
第一次,直接问。
给出的答案是:A, C, B, D, E. 错了。甚至过程中是正确的,但还是给了错答案。
第二次,在问题后面加了”Let’s think step by step”。
答案对了。
在Prompt 最后加“let’s think step by step”,其实就是让模型给出思考步骤(Chain of Thought),再得出答案。有了推理过程约束,模型给出答案的准确率就显著提高了?
而这个思路,只需要few-shot(8 examples)就能达到58.1% 的准确率,超过之前GPT-3 175B fine-tuning + verifier (SOTA)。
除了GSM8K 这种算术推理外,在符号推理、尝试推理任务上CoT 也是能将模型的性能提升一大截。
Paper 链接:https://arxiv.org/pdf/2201.11903.pdf