ANQI.ROCKS

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

OLDER > < NEWER