C-Eval

4周前更新 13,865 41 0

一个全面的中文基础模型评估套件

收录时间:
2026-02-15

C-Eval是什么

C-Eval是适用于大语言模型的多层次多学科中文评估套件,由上海交通大学、清华大学和爱丁堡大学研究人员在2023年5月份联合推出,包含13948个多项选择题,涵盖52个不同的学科和四个难度级别,用在评测大模型中文理解能力。通过零样本(zero-shot)和少样本(few-shot)测试,C-Eval 能评估模型在未见过的任务上的适应性和泛化能力。

C-Eval

C-Eval的主要功能

  • 多学科覆盖:C-Eval 包含 52 个不同学科的题目,涵盖 STEM、社会科学、人文科学等多个领域,全面评估语言模型的知识储备。
  • 多层次难度分级:设有四个难度级别,从基础到高级,细致评估模型在不同难度下的推理和泛化能力。
  • 量化评估与标准化测试:包含 13948 个多项选择题,通过标准化评分系统提供量化性能指标,支持不同模型的横向对比。

如何使用C-Eval

  • 数据下载
    • Hugging Face 下载:
from datasets import load_dataset
dataset = load_dataset("ceval/ceval-exam", name="computer_network")
    • 或者直接下载 ZIP 文件并解压:
wget https://huggingface.co/datasets/ceval/ceval-exam/resolve/main/ceval-exam.zip
unzip ceval-exam.zip
  • 选择评估模式

    • 零样本(Zero-shot):模型在没有任何示例的情况下直接回答问题。
    • 少样本(Few-shot):模型在少量示例(如 5 个)的提示下回答问题。
  • 准备模型:确保模型已经加载并准备好进行推理。如果是基于 Hugging Face 的模型,用以下代码加载:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "your-model-name"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
  • 构建提示(Prompt)

    • 零样本提示
以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:
    • 少样本提示
以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
{题目1}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:A
[k-shot 示例]
{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:
  • 生成回答:使用模型生成回答。提取生成文本中的答案选项(A、B、C、D),或者计算每个选项的概率并选择最高概率的答案。
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
answer = extract_answer(response)  # 自定义函数,提取答案选项
  • 评估模型

    • 对于验证集(val),直接计算准确率。
    • 对于测试集(test),需要将结果提交到 C-Eval 官方平台获取评分。
from sklearn.metrics import accuracy_score
# 假设 `predictions` 是模型的预测结果,`labels` 是真实答案
accuracy = accuracy_score(labels, predictions)
print(f"Validation Accuracy: {accuracy:.2f}")
  • 提交结果:准备 JSON 文件,包含所有测试题目的预测结果:
{
"chinese_language_and_literature": {
"0": "A",
"1": "B",
...
},
...
}
    • 登录 C-Eval 官方平台并提交结果以获取最终评分。

C-Eval

C-Eval的应用场景

  • 语言模型性能评估:全面衡量语言模型的知识水平和推理能力,帮助开发者优化模型性能。
  • 学术研究与模型比较:为研究人员提供标准化的测试平台,分析和比较不同语言模型在各学科的表现,推动学术研究和技术进步。
  • 教育领域应用开发:助力开发智能辅导系统和教育评估工具,用模型生成练习题、自动评分,提升教育领域的智能化水平。
  • 行业应用优化:在金融、医疗、客服等行业,评估和优化语言模型的领域知识和应用能力,提升行业智能化解决方案的效果。
  • 社区合作与技术评测:作为开放平台,促进开发者社区的交流与合作,为模型竞赛和技术评测提供公平的基准测试工具。

数据统计

相关导航

41 条评论

  • 疯狂的胡萝卜
    疯狂的胡萝卜 读者

    选项提取那块太脆了,稍微格式不对就崩

    老挝
    回复
  • 花猫猫
    花猫猫 读者

    M1跑不动,刚试了直接爆显存

    中国广东
    回复
  • 芳芷柔
    芳芷柔 读者

    求个docker镜像吧,环境配到吐

    日本
    回复
  • 青石道人
    青石道人 游客

    这题量跑完得等到明年吧……

    中国广西
    回复
  • 猎户刀
    猎户刀 读者

    准确率提交后多久出结果?有人知道吗

    中国上海
    回复
  • Neo新星
    Neo新星 读者

    之前踩过坑,预处理字段对不上真折磨

    中国辽宁
    回复
  • 社恐の影子
    社恐の影子 读者

    wget下不动,是不是要挂代理?🤔

    中国四川
    回复
    • 打呼噜的恐龙
      打呼噜的恐龙 游客

      挂代理才行,我试了几次还是卡死,换个镜像源可能快点。

      中国湖北@ 社恐の影子
      回复
  • 孤灯影
    孤灯影 读者

    零样本真的省事,但偶尔跑不出来。

    中国广东
    回复
  • 小鹿轻风
    小鹿轻风 读者

    文档里代码块颜色太刺眼,看得眼花。

    中国河北
    回复
  • 酷毙了
    酷毙了 读者

    M1上跑一遍差点炸显存,真心不建议。

    中国广东
    回复
    • 山海旅人
      山海旅人 读者

      显存杀手名不虚传,M1就别试了。

      日本@ 酷毙了
      回复