Paper name
C-Eval: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models
Paper Reading Note
Paper URL: https://arxiv.org/abs/2305.08322
Project URL: https://cevalbenchmark.com/
Code URL: https://github.com/SJTU-LIT/ceval
Blog URL: https://yaofu.notion.site/C-Eval-6b79edd91b454e3d8ea41c59ea2af873
TL;DR
- 上海交大和清华联合研发的中文大语言模型测试集,是目前最流行的中文测试集之一
Introduction
背景
- 在 OpenAI GPT 系列 / Google PaLM 系列 / DeepMind Chinchilla 系列 / Anthropic Claude 系列的研发过程中,MMLU / MATH / BBH 这三个数据集发挥了至关重要的作用,因为它们比较全面地覆盖了模型各个维度的能力。最值得注意的是 MMLU 这个数据集,它考虑了 57 个学科,从人文到社科到理工多个大类的综合知识能力。DeepMind 的 Gopher 和 Chinchilla 这两个模型甚至只看 MMLU 的分数,因此我们想要构造一个中文的,有足够区分度的,多学科的基准榜单,来辅助开发者们研发中文大模型
- 中文大模型研发如火如荼,但中文评价基准却很少
本文方案
- 本文花了大概三个月的时间,构造了一个覆盖人文,社科,理工,其他专业四个大方向,52 个学科(微积分,线代 …),从中学到大学研究生以及职业考试,一共 13948 道题目的中文知识和推理型测试集,管它叫 C-Eval,来帮助中文社区研发大模型
Dataset/Algorithm/Model/Experiment Detail
实现方式
模型强弱的核心指标
- 考虑知识和推理这两项核心:
- 知识能力:
- 需要模型知道各个领域的知识,可以很好地衡量底座模型的潜力。
- 模型大小与知识密集型任务的效果显著正相关,这是因为模型的参数量可以被用来储存知识
- MMLU 的核心就是测模型的知识覆盖面
- 推理能力:
- 在知识的基础上进一步上升的能力,它代表着模型是否能做很困难,很复杂的事情。一个模型要强,首先需要广泛的知识,然后在知识的基础上做推理。
- 推理是很显著的强的模型有,弱一点的模型不大有的能力。
- 在 PaLM-2 的 Tech Report 中,BBH 和 MATH 这两个推理数据集被专门列出来讨论划重点
- 知识能力:
Ceval 研发目标
- 辅助模型开发,而不是打榜:在实际研发的过程中,很多时候我们需要知道某种方案的好坏或者某种模型的好坏,这个时候我们需要一个数据集帮助我们测试。以下是两个经典场景:
- 场景 1 ,辅助超参数搜索:我们有多种预训练数据混合方案,不确定哪种更好,于是我们在 C-Eval 上相互比较一下,来确定最优预训练数据混合方案。
- 场景 2 ,比较模型的训练阶段:我有一个预训练的 checkpoint ,也有一个 instruction-tuned checkpoint,然后我想要衡量我的 instruction-tuning 的效果如何,这样可以把两个 checkpoint 在 C-Eval 上相互比较,来衡量预训练和 instruction-tuning 的相对质量。
如何保证数据质量
- 参考 MMLU 和 MATH 数据的构建过程,做了两个重要的决策:
- 一个是从头开始手工制做数据集
- 另一个是在此过程中重点防止题目被爬虫爬到训练集里
- 手工制作
- 来源于pdf和word格式的文件,通过人工额外清洗获得最终题目
- 13000 多道测试题,所有跟符号相关的内容都人工验证过
- 因为用 GPT4 生成的 COT 效果不佳,所有用于 few-shot 的 COT 样例都是由人工自己做了一遍得到的
- 防止混入训练集的方法
- 测试集值公开问题不公开答案
- CEval 所有题目都是模拟题,从中学到职业考试都没有用任何真题,因为真题容易被爬取到训练集中
提升排名的方法
-
捷径:
- 使用 LLaMA 作为基座模型:在我们另一个相关的英文模型评测项目 Chain-of-thought Hub 中,我们指出了 65B 的 LLaMA 模型是一个稍弱于 GPT-3.5 的基础模型,它有着很大的潜力,如果把它用中文的数据训练,其强大的英文能力可以自动迁移到中文。
- 但这样做的坏处,一来是研发能力的上限被 LLaMA 65B 锁死,不可能超过 GPT-3.5,更何况 GPT-4 了,另一方面是 LLaMA 不可商用,使用它商业化会直接违反条例
- 使用 GPT-4 生成的数据:特别是 C-Eval Hard 的部分,直接让 GPT-4 做一遍,然后 GPT-4 的答案喂给自己的模型就可以了
- 这样做的坏处,一来是赤裸裸作弊,得到的结果并不能泛化,不能代表模型真实能力;二来是如果商业化,就直接违反了 OpenAI 的使用条例;三来是从 GPT-4 做蒸馏会加剧模型胡说八道的现象,这是因为 RLHF 在微调模型拒绝能力的时候,是鼓励模型知之为知之,不知为不知
- 使用 LLaMA 作为基座模型:在我们另一个相关的英文模型评测项目 Chain-of-thought Hub 中,我们指出了 65B 的 LLaMA 模型是一个稍弱于 GPT-3.5 的基础模型,它有着很大的潜力,如果把它用中文的数据训练,其强大的英文能力可以自动迁移到中文。
-
困难但正确的道路:自立自强,从头研发
-
研发大模型不能着急
- OpenAI 的 GPT 系列从 GPT-3 走到 GPT-4,从 2019 到 2023,一共花了四年的时间。
- Anthropic 原班人马从 OpenAI 剥离之后,即使有 GPT-3 的经验,重新做一遍 Claude 也花了一年的时间。
- LLaMA 的团队,即使有 OPT 和 BLOOM 的教训,也花了六个月的时间。
- GLM-130B 从立项到发布,花了两年的时间。
- MOSS 的 alignment 的部分,在 RL 之前的内容,也花了将近半年的时间,这还是没算 RL 的
实验结果
- 榜单:https://cevalbenchmark.com/static/leaderboard.html
Thoughts
- 博客写得很好,告知了很多数据集构建中所遇到的问题,也为大语言模型研发提供了一些建议