评估中文大语言模型的幻觉问题
本仓库包含HalluQA(中文幻觉问答)基准测试的数据和评估脚本。 HalluQA的完整数据在HalluQA.json文件中。 介绍HalluQA并详细展示多个中文大语言模型实验结果的论文在这里。
更新
2024.2.28:我们为HalluQA添加了多项选择任务。 多项选择任务的测试数据在HalluQA_mc.json中。 多项选择问答的提示语在prompts/Chinese_QA_prompt_mc.txt中。
数据收集流程
HalluQA包含450个精心设计的对抗性问题,涵盖多个领域,并考虑了中国历史文化、习俗和社会现象。数据收集流程如上图所示。在第1步,我们编写我们认为可能诱导模型产生幻觉的问题。在第2步,我们使用ChatGPT3.5/Puyu/GLM-130B生成答案并收集对抗性问题。在第3步,我们为每个对抗性问题编写多个正确和错误的答案,并添加支持证据。在第4步,我们检查所有标注的问答对,并删除低质量样本。
数据示例
我们在此展示HalluQA的一些数据示例。
评估指标和方法
我们使用非幻觉率作为HalluQA的评估指标,它表示模型生成的所有答案中不存在幻觉的答案所占的百分比。 对于自动评估,我们使用GPT-4作为评估器。GPT-4将根据给定的标准和参考正确答案来判断生成的答案是否存在幻觉。 GPT-4评估的提示语在calculate_metrics.py中。
为您的模型运行评估
- 安装依赖
pip install openai
- 使用我们的脚本运行评估。
python calculate_metrics.py --response_file_name gpt-4-0613_responses.json("替换为您自己的响应文件") --api_key "您的openai api密钥" --organization "您的openai账户组织"
- 结果和指标将分别保存在results.json和non_hallucination_rate.txt中。
多项选择任务
我们还为HalluQA提供了一个多项选择任务。 您需要首先使用要测试的模型为每个问题生成答案,使用我们的多项选择提示语,然后使用以下脚本计算多项选择任务的准确率。
python calculate_metrics_mc.py --response_file_name <您的结果文件名>
结果
排行榜
各模型在不同类型问题上的非幻觉率:
模型 | 误导性 | 误导性-困难 | 知识性 | 总计 |
---|---|---|---|---|
检索增强对话模型 | ||||
ERNIE-Bot | 70.86 | 46.38 | 75.73 | 69.33 |
Baichuan2-53B | 59.43 | 43.48 | 83.98 | 68.22 |
ChatGLM-Pro | 64.00 | 34.78 | 67.96 | 61.33 |
SparkDesk | 59.43 | 27.54 | 71.36 | 60.00 |
对话模型 | ||||
abab5.5-chat | 60.57 | 39.13 | 57.77 | 56.00 |
gpt-4-0613 | 76.00 | 57.97 | 32.04 | 53.11 |
Qwen-14B-chat | 75.43 | 23.19 | 30.58 | 46.89 |
Baichuan2-13B-chat | 61.71 | 24.64 | 32.04 | 42.44 |
Baichuan2-7B-chat | 54.86 | 28.99 | 32.52 | 40.67 |
gpt-3.5-turbo-0613 | 66.29 | 30.43 | 19.42 | 39.33 |
Xverse-13B-chat | 65.14 | 23.19 | 22.33 | 39.11 |
Xverse-7B-chat | 64.00 | 13.04 | 21.84 | 36.89 |
ChatGLM2-6B | 55.43 | 23.19 | 21.36 | 34.89 |
Qwen-7B-chat | 55.43 | 14.49 | 17.48 | 31.78 |
Baichuan-13B-chat | 49.71 | 8.70 | 23.30 | 31.33 |
ChatGLM-6b | 52.57 | 20.29 | 15.05 | 30.44 |
预训练模型 | ||||
Qwen-14B | 54.86 | 23.19 | 24.76 | 36.22 |
Baichuan2-13B-base | 23.43 | 24.64 | 45.63 | 33.78 |
Qwen-7B | 48.57 | 20.29 | 16.99 | 29.78 |
Xverse-13B | 18.86 | 24.64 | 32.52 | 27.33 |
Baichuan-13B-base | 9.71 | 18.84 | 40.78 | 25.33 |
Baichuan2-7B-base | 8.00 | 21.74 | 41.26 | 25.33 |
Baichuan-7B-base | 6.86 | 15.94 | 37.38 | 22.22 |
Xverse-7B | 12.00 | 13.04 | 29.61 | 20.22 |
详细结果
每个模型生成的答案和GPT-4相应的判断在**Chinese_LLMs_outputs/**目录中。
多项选择任务结果
以下是七个代表性模型在多项选择任务上的准确率。
致谢
- 我们衷心感谢参与此项工作的上海人工智能实验室的标注人员和工作人员。
- 我特别感谢孙天祥、刘祥阳和张文伟的指导和帮助。
- 我也感谢蒲新阳的帮助和耐心。
引用
@article{DBLP:journals/corr/abs-2310-03368,
author = {Qinyuan Cheng and
Tianxiang Sun and
Wenwei Zhang and
Siyin Wang and
Xiangyang Liu and
Mozhi Zhang and
Junliang He and
Mianqiu Huang and
Zhangyue Yin and
Kai Chen and
Xipeng Qiu},
title = {Evaluating Hallucinations in Chinese Large Language Models},
journal = {CoRR},
volume = {abs/2310.03368},
year = {2023},
url = {https://doi.org/10.48550/arXiv.2310.03368},
doi = {10.48550/arXiv.2310.03368},
eprinttype = {arXiv},
eprint = {2310.03368},
timestamp = {Thu, 19 Oct 2023 13:12:52 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2310-03368.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}