llm-cookbook icon indicating copy to clipboard operation
llm-cookbook copied to clipboard

很好奇 为什么第二课的算数问题中,用中文会使结果错误

Open aaron-xiapazi opened this issue 1 year ago • 3 comments

image prompt = f""" 请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:

步骤:

首先,自己解决问题。
然后将你的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。在自己完成问题之前,请勿决定学生的解决方案是否正确。

使用以下格式:

问题:问题文本
学生的解决方案:学生的解决方案文本
实际解决方案和步骤:实际解决方案和步骤文本
学生的解决方案和实际解决方案是否相同:是或否
学生的成绩:正确或不正确

问题:

我正在建造一个太阳能发电站,需要帮助计算财务。 
- 土地费用为每平方英尺100美元
- 我可以以每平方英尺250美元的价格购买太阳能电池板
- 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元
作为平方英尺数的函数,首年运营的总费用是多少。

学生的解决方案:

设x为发电站的大小,单位为平方英尺。
费用:
1. 土地费用:100x
2. 太阳能电池板费用:250x
3. 维护费用:100,000+100x
总费用:100x+250x+100,000+100x=450x+100,000

实际解决方案和步骤: """ response = get_completion(prompt) print(response)

aaron-xiapazi avatar May 05 '23 09:05 aaron-xiapazi

image 英语结果就可以回答正确,可能还是中文理解的问题之类的

aaron-xiapazi avatar May 05 '23 09:05 aaron-xiapazi

这确实是一个值得探究的问题,在书写这一部分时,我首先是直接使用了英文 Prompt 翻译成的中文 Prompt,GPT 给的结果是错误的,但是将 Prompt 修改成现在教程中的 Prompt 之后,运行 GPT 给的结果是正确的(如教程中的输出);但是根据你的截图,直接运行这个 Prompt,GPT 给的结果又是错误的了,可能涉及到历史提问的对比,值得深入探究一下其背后原因

logan-zou avatar May 05 '23 10:05 logan-zou

这是一个比较奇怪的问题,我这边测试是有一定的概率能得到正确答案,尝试调了一下没有结果... 蛮在官方的论坛发贴了,不知道有没有人会回答,就问问看:https://community.openai.com/t/issue-with-prompt-translation-getting-incorrect-results-in-chinese/196370

mgsky1 avatar May 07 '23 08:05 mgsky1

建议使用英文来书写Prompt,模型更容易理解,中文有些词的意思太广了,不能保证模型理解是否正确。

VoidAndNullity avatar May 08 '23 01:05 VoidAndNullity

建议使用英文来书写Prompt,模型更容易理解,中文有些词的意思太广了,不能保证模型理解是否正确。

感觉这个并不只是中文词义更广的问题,可能也涉及到中英文理解能力不同或其他更多的因素;因为综合考虑到 Prompt 准确性和学习门槛,我们选择了双语的 Prompt,对于不太准确的中文 Prompt,欢迎大家提出意见以改进~

logan-zou avatar May 08 '23 02:05 logan-zou

GPT 回答准确度,一定程度上取决于它的训练语料。 语料中用纯英文计算带有“美元”、“平方英尺”的例子更多,它更易预测出正确答案;而中文语境下的例子较少,就容易出现偏差。

我的经验是,用提出该原始概念的语言去刺激 GPT(比如题目中包含“平方英尺”,则用英语),效果比其它语言要好。 同理,让 GPT act as a prompt creator 要比 作为一个提示词生成器 效果要好。

Alice0621 avatar May 10 '23 02:05 Alice0621

建议使用英文来书写Prompt,模型更容易理解,中文有些词的意思太广了,不能保证模型理解是否正确。

感觉这个并不只是中文词义更广的问题,可能也涉及到中英文理解能力不同或其他更多的因素;因为综合考虑到 Prompt 准确性和学习门槛,我们选择了双语的 Prompt,对于不太准确的中文 Prompt,欢迎大家提出意见以改进~

我发现想让中文的回复更准确的话最好是使用专业术语,比如很多人会选择要求对某些内容进行改写,不改变原有意思,大多数人都会这样去口头描述,但如果用专业术语"文本重写",就是说只需要把你要改写的内容发给GPT,跟它说对这些内容进行文本重写,它就能准确满足你的要求。很多我们想要的要求都会有专门对应的术语!

VoidAndNullity avatar May 10 '23 02:05 VoidAndNullity