该存储库包含论文“Rephrase and Respond: Let Large Language Models Ask Better Questions for Themselves”的数据和代码。
作者:邓一和、张伟同、陈子祥、顾泉泉
[网页][论文][拥抱脸]
改写和回复(RaR) 演示。
误解不仅出现在人际交流中,也出现在人类和大型语言模型(LLM)之间。这种差异可能会使法学硕士以意想不到的方式解释看似明确的问题,从而产生错误的答案。尽管人们普遍认为提示(例如问题)的质量会显着影响法学硕士提供的答复的质量,但用于制作法学硕士可以更好理解的问题的系统方法仍然不发达。
法学硕士可以将“偶数月”解释为天数为偶数的月份,这与人类的意图背道而驰。
在本文中,我们提出了一种名为“改写和答复”(RaR)的方法,该方法允许法学硕士改写和扩展人类提出的问题,并在单个提示中提供答复。这种方法是一种简单而有效的提高绩效的提示方法。我们还引入了 RaR 的两步变体,其中改写法学硕士首先改写问题,然后将原始问题和改写问题一起传递给不同的响应法学硕士。这有助于有效利用一个法学硕士与另一个法学硕士产生的改写问题。
"{question}"
Rephrase and expand the question, and respond.
我们的实验表明,我们的方法显着提高了不同模型在各种任务中的性能。我们进一步从理论上和实证上对 RaR 和流行的思想链 (CoT) 方法进行了全面的比较。我们证明 RaR 是 CoT 的补充,并且可以与 CoT 结合以获得更好的性能。
使用 GPT-4 不同提示的准确度 (%) 比较。
欲了解更多详细信息,请参阅我们的项目网页和论文。
安装 Python 依赖项以重现 GPT-4 和 GPT-3.5-turbo 的结果。
pip install openai
pip install tenacity
有关GPT-4和GPT-3.5 API密钥的详细信息,请参阅OpenAI API密钥。
我们提供了实验中使用的数据以及 gpt-4 在数据中改写的问题。数据全部为json格式,包含以下属性:
{
"question": [string] The question text,
"answer": [string] The ground truth answer,
"refined_question": [string] The question text rephrased by GPT-4,
}
本文考虑的任务描述如下:
数据集 | 类别 | 问题示例 |
---|---|---|
偶日 | 知识分类 | 唐纳德·特朗普出生的日子是偶数吗? |
偶数月 | 知识分类 | 乔·拜登出生在偶数月份吗? |
偶数年 | 知识分类 | 埃隆·马斯克出生在偶数年吗? |
比较年龄 | 知识比较 | 乔·拜登比唐纳德·特朗普出生早吗? |
中国质量保证协会 | 常识推理 | 每个人都有某种创造力,那么最好的方式是什么?选择:A. 创造艺术 B. 写作 C. 缝纫 D. 创造想法 E. 表达自己 |
枣子 | 常识推理 | 这是 1899 年的最后一天。明天的日期是 MM/DD/YYYY? |
运动的 | 常识推理 | 下面这句话可信吗? “胡安·索托在三分线外投篮” |
最后一个字母连接 (2) | 符号推理 | 取出“Kristen Andrea”中单词的最后一个字母并将它们连接起来。 |
最后一个字母连接 (4) | 符号推理 | 取出“Mia Mariana Marcos Xavier”中单词的最后一个字母并将它们连接起来。 |
抛硬币 | 符号推理 | 取出“Mia Mariana Marcos Xavier”中单词的最后一个字母并将它们连接起来。 |
立体声套装 | 刻板偏见 | 摩洛哥是非洲的一个国家。这些哪个更准确?答:这是一个非常贫穷的国家,生活水平很低。 B. 那里居住着多种文化和阶层的人。 C. 蓝色是她最喜欢的颜色。 |
作为参考,原始数据集保存在 raw_data 中,预处理代码位于 preprocess.ipynb 中。感谢 DataGenLM, last_letter_concat.py
中提供了最后字母串联任务的数据生成代码。
main.py
是允许评估 RaR 和原始问题的各种任务的脚本。以下是可用于自定义其行为的命令行参数。我们注意到,代码通过精确匹配答案来计算粗略精度,并记录自动认为错误的响应。我们手动重新访问该文档以排除实际正确的文档。
python main.py [options]
选项
--question
:original
、 rephrased
original
来处理原始问题,并使用rephrased
来处理改写的问题。--new_refine
:--task
:birthdate_day
、 birthdate_month
、 birthdate_year
、 birthdate_earlier
、 coin_val
、 last_letter_concatenation
、 last_letter_concatenation4
、 sports
、 date
、 csqa
、 stereo
。--model
:gpt-4
--onestep
:生成 GPT-4 对最后一个字母串联的原始问题的回答:
python main.py
--model gpt-4
--question original
--task last_letter_concatenation
生成 GPT-4 对最后一个字母串联(2 步 RaR)所提供的改写问题的响应:
python main.py
--model gpt-4
--question rephrased
--task last_letter_concatenation
生成 GPT-4 的改写问题以及对最后一个字母连接(2 步 RaR)的新改写问题的回答:
python main.py
--model gpt-4
--question rephrased
--task last_letter_concatenation
--new_rephrase
使用 1 步 RaR 生成 GPT-4 的响应:
python main.py
--model gpt-4
--task last_letter_concatenation
--onestep
如果您发现此存储库对您的研究有用,请考虑引用该论文
@misc{deng2023rephrase,
title={Rephrase and Respond: Let Large Language Models Ask Better Questions for Themselves},
author={Yihe Deng and Weitong Zhang and Zixiang Chen and Quanquan Gu},
year={2023},
eprint={2311.04205},
archivePrefix={arXiv},
primaryClass={cs.CL}
}