本项目旨在使用开源的ChatGLM2-6B模型,在中文评测框架C-Evaluation上进行效果评测。
C-Eval各个模型总的评测结果请参考LeaderBoard,测试样例请参看探索样例。ChatGLM2-6B官方Github评测结果的Average Score是50.1,ChatGLM2-6B在C-Eval上提交的结果是51.7,本项目的结果是50.7,评测结果基本一致。具体结果列表如下:
Model | Average | STEM | Social Sciences | Humanities | Others |
---|---|---|---|---|---|
ChatGLM2-6B-Github | 50.1 | 46.4 | 60.4 | 50.6 | 46.9 |
ChatGLM2-6B-C-Eval官网 | 51.7 | 48.6 | 60.5 | 51.3 | 49.8 |
ChatGLM2-6B-该项目 | 50.7 | 47.2 | 60.9 | 60.4 | 50.7 |
关于C-Evaluation的评测教程,推荐参看tutorial.md。
测试数据集是CEval,已放到项目的目录下。
运行如下指令进行测试:
python evaluate_ceval.py
注意该过程在bf16参数类型下,大概会占用20G左右的显存。
运行结果为submission.json,请按照C-Eval规定的JSON格式保存结果并在 C-Eval 官网上进行提交。
本项目也同时支持其他大模型在C-Eval上评测,具体修改evaluate_ceval.py文件的第13、14行对应的模型和tokenizer即可。
tokenizer = AutoTokenizer.from_pretrained("/data1/zengliang/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("/data1/zengliang/chatglm2-6b", trust_remote_code=True).bfloat16().cuda()