Scale AI
AI机器学习标注训练平台
C-Eval是适用于大语言模型的多层次多学科中文评估套件,由上海交通大学、清华大学和爱丁堡大学研究人员在2023年5月份联合推出,包含13948个多项选择题,涵盖52个不同的学科和四个难度级别,用在评测大模型中文理解能力。通过零样本(zero-shot)和少样本(few-shot)测试,C-Eval 能评估模型在未见过的任务上的适应性和泛化能力。
from datasets import load_datasetdataset = load_dataset("ceval/ceval-exam", name="computer_network")
wget https://huggingface.co/datasets/ceval/ceval-exam/resolve/main/ceval-exam.zipunzip ceval-exam.zip
from transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "your-model-name"tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained(model_name)
以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。{测试题目}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}答案:
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}")
{ "chinese_language_and_literature": { "0": "A", "1": "B", ... }, ...}