OpenCompass 评测平台使用,评测Qwen-0.5B 和 Qwen-1.8B

 OpenCompass 评测平台 对 Qwen-0.5B 和 Qwen-1.8B 对话模型在 C-Eval、C-MMLU、GSM8K 三个数据集上进行对比评测。

1. 访问 OpenCompass 评测平台

评测平台地址:
👉 OpenCompass司南 – 评测榜单

在该平台上,你可以:

查看已有模型的评测排名

提交自己的模型进行评测

对比不同模型的性能

2. 本地安装OpenCompass

安装 — OpenCompass 0.4.2 文档

方法一:pip安装OpenCompass:

选择自己需要的OpenCompass安装版本

# 支持绝大多数数据集及模型
pip install -U opencompass

# 完整安装(支持更多数据集)
# pip install "opencompass[full]"

# API 测试(例如 OpenAI、Qwen)
# pip install "opencompass[api]"

python3.11以上版本可能会遇到一些问题: 

  Downloading https://mirrors.aliyun.com/pypi/packages/b0/be/9b6005ac644aaef022527ce49617263379e49dbdbd433d1d3dd66d71f570/pyext-0.7.tar.gz (7.8 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 35, in <module>
        File "/tmp/pip-install-i1xqhtyz/pyext_e118e643867c4230856301ad8e2b7af5/setup.py", line 6, in <module>
          import pyext
        File "/tmp/pip-install-i1xqhtyz/pyext_e118e643867c4230856301ad8e2b7af5/pyext.py", line 117, in <module>
          oargspec = inspect.getargspec
                     ^^^^^^^^^^^^^^^^^^
      AttributeError: module 'inspect' has no attribute 'getargspec'. Did you mean: 'getargs'?
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

这个错误的原因是:

inspect.getargspec 在 Python 3.11 及以上版本已经被移除,而很多老旧的包还在用它。可以尝试用 Python 3.10 或更低版本来安装和运行它。

方法二:克隆源码

从源代码构建它(使用代理):

git clone https://github.com/open-compass/opencompass opencompass

 用 Python 3.10 创建一个名为 venv310 的虚拟环境。 

python3.10 -m venv venv310

激活刚刚创建的 venv310 虚拟环境。 

source venv310/bin/activate

如下图所示,新建的虚拟环境会被保存在当前执行命令的目录下 

安装项目目录下所需要的依赖 

pip install -e .

3. 选择评测任务

本次需要评测的 3个数据集 分别是:

C-Eval(中文知识评估,1000题)

C-MMLU(中文多任务语言理解,1000题)

GSM8K(数学推理,1000题)

这些数据集已经集成在 OpenCompass 中,可以直接选择。

OpenCompass 支持的数据集主要包括三个部分:

Huggingface 数据集: Huggingface Dataset 提供了大量的数据集,这部分数据集运行时会自动下载

ModelScope 数据集:ModelScope OpenCompass Dataset 支持从 ModelScope 自动下载数据集。

要启用此功能,请设置环境变量:export DATASET_SOURCE=ModelScope,可用的数据集包括(来源于 OpenCompassData-core.zip):

humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, summedits, GAOKAO-BENCH, OCNLI, cmnli

自建以及第三方数据集:OpenCompass 还提供了一些第三方数据集及自建中文数据集。运行以下命令手动下载解压

在 OpenCompass 项目根目录下运行下面命令,将数据集准备至 ${OpenCompass}/data 目录下:

由于我们所需要的三个数据集都在上述第二个数据集和第三个数据集中,我将以第二个数据集为例进行下载演示:    

方式一:SDK下载 

modelscope 目前兼容的 datasets 版本一般为 2.x(如 2.12.0)

opencompass 需要 datasets>=2.12.0

modelscope 可能只兼容 datasets==2.10.1 或更低

两者依赖冲突,无法在同一个环境下完美兼容

创建modelscope 环境,新环境会保存到当前目录下
python3.10 -m venv modelscope_env
source modelscope_env/bin/activate
pip install modelscope datasets==2.10.1
# 只在这里运行 modelscope 相关代码

 卸载当前 datasets 包   

pip uninstall datasets

降级 datasets 包

pip install datasets==2.12.0

 运行脚本

脚本1 SDK下载cmmlu数据集

#数据集下载
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('opencompass/cmmlu')
#您可按需配置 subset_name、split,参照“快速使用”示例代码

 脚本2 SDK下载ceval数据集

#数据集下载
from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('opencompass/ceval-exam')
#您可按需配置 subset_name、split,参照“快速使用”示例代码

方式二: 命令行下载(推荐)

modelscope download --dataset opencompass/cmmlu
modelscope download --dataset opencompass/ceval-exam
modelscope download --dataset opencompass/gsm8k

方式三:自动下载(不推荐)

1. 设置环境变量

在运行 OpenCompass 之前,先在终端输入:

export DATASET_SOURCE=ModelScope

这一步很关键,必须在运行 opencompass 命令前设置,否则不会自动从 ModelScope 下载。

2. 运行 opencompass 命令

比如你要用 ceval 和 cmmlu 数据集,可以这样写:

python run.py 
    --models /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
    --datasets ceval cmmlu 
    --hf-type chat 
    --max-out-len 10 
    --batch-size 8

只要我们设置了 DATASET_SOURCE=ModelScope,并且数据集名称在官方支持列表内(如 ceval、cmmlu、mmlu、math 等),OpenCompass 会自动从 ModelScope 下载数据集到本地缓存目录。 

OpenCompass 通过 ModelScope 自动下载的数据集,默认会被保存到如下目录:

~/.cache/modelscope/datasets/

如果我们下载了 ceval 和 cmmlu 数据集,目录结构如下: 

/root/.cache/modelscope/datasets/ceval/
    ├── data.json
    └── ...(其他数据文件)

/root/.cache/modelscope/datasets/cmmlu/
    ├── data.json
    └── ...(其他数据文件)

我们再以第三种数据集为例进行演示:
 

  学术资源加速(选用)

export https_proxy=http://turbo.gpushare.com:30000 http_proxy=http://turbo.gpushare.com:30000
export https_proxy=http://turbo2.gpushare.com:30000 http_proxy=http://turbo2.gpushare.com:30000

下载数据集 

wget https://github.com/open-compass/opencompass/releases/download/0.1.8.rc1/OpenCompassData-core-20231110.zip
unzip OpenCompassData-core-20231110.zip

取消资源加速
unset http_proxy && unset https_proxy

4. 下载 Qwen-0.5B 和 Qwen-1.5B 模型

4.1 安装 ModelScope

pip install modelscope

4.2  下载 Qwen-0.5B 和 Qwen-1.5B 

SDK方式下载 Qwen-0.5B

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen1.5-0.5B-Chat')

 SDK方式下载 Qwen-1.8B

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen1.5-1.8B-Chat')

4. 配置评估任务

在 OpenCompass 中,每个评估任务由待评估的模型和数据集组成。评估的入口点是 run.py。用户可以通过命令行或配置文件选择要测试的模型和数据集。

Demo数据测评 

C-MMLU(中文多任务语言理解)数据来测评Qwen1.5-0.5B-Chat

我们采用C-MMLU(中文多任务语言理解)数据来测评Qwen1.5-0.5B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_cmmlu_chat_gen 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--max-out-len 100 
--max-seq-len 2048 
--batch-size 8 
--hf-num-gpus 1 
--debug

ceval_gen配置方式和OpenCompass目录下的**/configs/datasets/ceval_gen.py对应,在配置里面指明了测试数据的地址、解析方式以及Prompt构建等信息。hf-path和tokenizer-path分别指定模型文件个分词模型,直接瞄定本地已经下载好的HuggingFace模型文件即可。除此之外还需要指定其他的模型推理参数,包括max-out-len等。

Qwen1.5-0.5B-Chat模型CMMLU评测结果分析

学科分类(Subject) 准确率(Accuracy) 表现等级 备注
arts 75.00% ★★★★☆ 艺术类表现最佳
college_engineering_hydrology 75.00% ★★★★☆ 工程水文领域较强
college_medical_statistics 75.00% ★★★★☆ 医学统计表现突出
high_school_mathematics 75.00% ★★★★☆ 高中数学能力优异
high_school_politics 75.00% ★★★★☆ 政治学科高分
legal_and_moral_basis 75.00% ★★★★☆ 法律与道德基础较好
management 75.00% ★★★★☆ 管理学科表现稳定
modern_chinese 75.00% ★★★★☆ 现代汉语理解优秀
ancient_chinese 50.00% ★★★☆☆ 古代汉语中等水平
chinese_history 50.00% ★★★☆☆ 中国历史表现中等
chinese_teacher_qualification 50.00% ★★★☆☆ 教师资格相关题目半数正确
college_law 50.00% ★★★☆☆ 大学法律知识部分掌握
college_mathematics 50.00% ★★★☆☆ 大学数学基础尚可
computer_security 50.00% ★★★☆☆ 计算机安全部分理解
conceptual_physics 50.00% ★★★☆☆ 物理概念部分正确
construction_project_management 50.00% ★★★☆☆ 建设项目管理中等
elementary_information_and_technology 50.00% ★★★☆☆ 小学信息技术基础
high_school_biology 50.00% ★★★☆☆ 高中生物部分掌握
human_sexuality 50.00% ★★★☆☆ 人类性学知识半数正确
journalism 50.00% ★★★☆☆ 新闻学表现中等
nutrition 50.00% ★★★☆☆ 营养学基础尚可
philosophy 50.00% ★★★☆☆ 哲学问题部分理解
professional_medicine 50.00% ★★★☆☆ 专业医学知识部分掌握
sports_science 50.00% ★★★☆☆ 体育科学中等水平
world_religions 50.00% ★★★☆☆ 世界宗教知识半数正确
anatomy 25.00% ★★☆☆☆ 解剖学表现较弱
astronomy 25.00% ★★☆☆☆ 天文学理解有限
business_ethics 25.00% ★★☆☆☆ 商业伦理正确率较低
chinese_civil_service_exam 25.00% ★★☆☆☆ 公务员考试题目困难
chinese_driving_rule 25.00% ★★☆☆☆ 中国驾驶规则掌握不足
chinese_food_culture 25.00% ★★☆☆☆ 中华饮食文化理解有限
chinese_foreign_policy 25.00% ★★☆☆☆ 外交政策知识薄弱
chinese_literature 25.00% ★★☆☆☆ 中国文学表现不佳
clinical_knowledge 25.00% ★★☆☆☆ 临床知识正确率低
college_education 25.00% ★★☆☆☆ 大学教育题目部分正确
college_medicine 25.00% ★★☆☆☆ 大学医学知识掌握不足
education 25.00% ★★☆☆☆ 教育学科表现较差
elementary_commonsense 25.00% ★★☆☆☆ 小学常识部分正确
food_science 25.00% ★★☆☆☆ 食品科学正确率较低
high_school_chemistry 25.00% ★★☆☆☆ 高中化学理解有限
high_school_geography 25.00% ★★☆☆☆ 高中地理表现较弱
high_school_physics 25.00% ★★☆☆☆ 高中物理正确率低
jurisprudence 25.00% ★★☆☆☆ 法理学知识不足
logical 25.00% ★★☆☆☆ 逻辑题表现不佳
machine_learning 25.00% ★★☆☆☆ 机器学习基础薄弱
marketing 25.00% ★★☆☆☆ 市场营销知识有限
marxist_theory 25.00% ★★☆☆☆ 马克思主义理论掌握不足
professional_accounting 25.00% ★★☆☆☆ 专业会计题目困难
professional_law 25.00% ★★☆☆☆ 专业法律知识正确率低
professional_psychology 25.00% ★★☆☆☆ 专业心理学表现较差
security_study 25.00% ★★☆☆☆ 安全研究题目部分正确
sociology 25.00% ★★☆☆☆ 社会学知识理解有限
traditional_chinese_medicine 25.00% ★★☆☆☆ 中医知识正确率低
virology 25.00% ★★☆☆☆ 病毒学表现较弱
world_history 25.00% ★★☆☆☆ 世界历史知识不足
agronomy 0.00% ★☆☆☆☆ 农学题目全部错误
college_actuarial_science 0.00% ★☆☆☆☆ 精算科学未掌握
computer_science 0.00% ★☆☆☆☆ 计算机科学全部错误
economics 0.00% ★☆☆☆☆ 经济学题目未答对
electrical_engineering 0.00% ★☆☆☆☆ 电气工程知识缺失
elementary_chinese 0.00% ★☆☆☆☆ 小学语文题目全部错误
elementary_mathematics 0.00% ★☆☆☆☆ 小学数学未掌握
ethnology 0.00% ★☆☆☆☆ 民族学表现最差
genetics 0.00% ★☆☆☆☆ 遗传学知识完全缺失
global_facts 0.00% ★☆☆☆☆ 全球事实题目未答对
international_law 0.00% ★☆☆☆☆ 国际法全部错误
public_relations 0.00% ★☆☆☆☆ 公共关系题目未掌握

优势领域

艺术、工程水文、医学统计、高中数学、政治等学科表现优异(准确率75%)。

语言类(现代汉语、古代汉语)和基础管理学科较强。

薄弱环节

STEM领域(计算机科学、电气工程、遗传学)和数学基础(小学数学)表现极差。

社会科学(经济学、社会学)和法律相关题目(国际法、专业法律)正确率低。

C-MMLU(中文多任务语言理解)数据来测评Qwen1.5-1.8B-Chat

我们采用C-MMLU(中文多任务语言理解)数据来测评Qwen1.5-1.8B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_cmmlu_chat_gen 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-1.8B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-1.8B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--max-out-len 100 
--max-seq-len 2048 
--batch-size 8 
--hf-num-gpus 1 
--debug

Qwen1.5-1.8B-Chat 模型 CMMLU 评测结果分析

学科分类(Subject) 准确率(Accuracy) 表现等级 备注
legal_and_moral_basis 100.00% ★★★★★ 法律与道德基础表现完美
computer_science 100.00% ★★★★★ 计算机科学全部正确
business_ethics 75.00% ★★★★☆ 商业伦理表现优异
chinese_foreign_policy 75.00% ★★★★☆ 中国外交政策理解深刻
chinese_literature 75.00% ★★★★☆ 中国文学表现突出
chinese_teacher_qualification 75.00% ★★★★☆ 教师资格考试题目高分
college_medical_statistics 75.00% ★★★★☆ 医学统计能力强劲
college_medicine 75.00% ★★★★☆ 大学医学知识掌握良好
computer_security 75.00% ★★★★☆ 计算机安全领域表现稳定
education 75.00% ★★★★☆ 教育学科理解深刻
elementary_information_and_technology 75.00% ★★★★☆ 小学信息技术表现优异
high_school_biology 75.00% ★★★★☆ 高中生物知识掌握扎实
high_school_physics 75.00% ★★★★☆ 高中物理表现突出
professional_law 75.00% ★★★★☆ 专业法律知识理解深刻
professional_medicine 75.00% ★★★★☆ 专业医学题目表现稳定
professional_psychology 75.00% ★★★★☆ 专业心理学表现优异
arts 50.00% ★★★☆☆ 艺术学科中等水平
astronomy 50.00% ★★★☆☆ 天文学部分正确
chinese_driving_rule 50.00% ★★★☆☆ 中国驾驶规则部分掌握
college_engineering_hydrology 50.00% ★★★☆☆ 工程水文领域部分理解
college_law 50.00% ★★★☆☆ 大学法律知识中等
conceptual_physics 50.00% ★★★☆☆ 物理概念部分掌握
construction_project_management 50.00% ★★★☆☆ 建设项目管理表现中等
economics 50.00% ★★★☆☆ 经济学题目半数正确
electrical_engineering 50.00% ★★★☆☆ 电气工程知识部分掌握
elementary_chinese 50.00% ★★★☆☆ 小学语文题目部分正确
ethnology 50.00% ★★★☆☆ 民族学表现中等
food_science 50.00% ★★★☆☆ 食品科学部分理解
high_school_chemistry 50.00% ★★★☆☆ 高中化学表现中等
high_school_politics 50.00% ★★★☆☆ 高中政治题目半数正确
human_sexuality 50.00% ★★★☆☆ 人类性学知识部分掌握
journalism 50.00% ★★★☆☆ 新闻学表现中等
machine_learning 50.00% ★★★☆☆ 机器学习基础部分掌握
management 50.00% ★★★☆☆ 管理学科表现中等
marxist_theory 50.00% ★★★☆☆ 马克思主义理论部分理解
modern_chinese 50.00% ★★★☆☆ 现代汉语表现中等
nutrition 50.00% ★★★☆☆ 营养学知识部分掌握
philosophy 50.00% ★★★☆☆ 哲学问题部分理解
security_study 50.00% ★★★☆☆ 安全研究表现中等
sports_science 50.00% ★★★☆☆ 体育科学部分掌握
world_religions 50.00% ★★★☆☆ 世界宗教知识部分理解
agronomy 25.00% ★★☆☆☆ 农学题目表现较弱
anatomy 25.00% ★★☆☆☆ 解剖学理解有限
ancient_chinese 25.00% ★★☆☆☆ 古代汉语表现不佳
chinese_civil_service_exam 25.00% ★★☆☆☆ 公务员考试题目困难
chinese_food_culture 25.00% ★★☆☆☆ 中华饮食文化理解有限
chinese_history 25.00% ★★☆☆☆ 中国历史表现较差
clinical_knowledge 25.00% ★★☆☆☆ 临床知识正确率低
college_education 25.00% ★★☆☆☆ 大学教育题目部分正确
college_mathematics 25.00% ★★☆☆☆ 大学数学表现不佳
elementary_commonsense 25.00% ★★☆☆☆ 小学常识部分正确
elementary_mathematics 25.00% ★★☆☆☆ 小学数学表现较弱
genetics 25.00% ★★☆☆☆ 遗传学知识掌握不足
global_facts 25.00% ★★☆☆☆ 全球事实题目部分正确
high_school_geography 25.00% ★★☆☆☆ 高中地理表现较差
jurisprudence 25.00% ★★☆☆☆ 法理学知识不足
logical 25.00% ★★☆☆☆ 逻辑题表现不佳
marketing 25.00% ★★☆☆☆ 市场营销知识有限
professional_accounting 25.00% ★★☆☆☆ 专业会计题目困难
public_relations 25.00% ★★☆☆☆ 公共关系题目部分正确
sociology 25.00% ★★☆☆☆ 社会学知识理解有限
traditional_chinese_medicine 25.00% ★★☆☆☆ 中医知识正确率低
virology 25.00% ★★☆☆☆ 病毒学表现较弱
world_history 25.00% ★★☆☆☆ 世界历史知识不足
college_actuarial_science 0.00% ★☆☆☆☆ 精算科学未掌握
high_school_mathematics 0.00% ★☆☆☆☆ 高中数学全部错误
international_law 0.00% ★☆☆☆☆ 国际法知识完全缺失

优势领域

法律与道德基础(100%) 和 计算机科学(100%) 表现完美。

商业伦理、中国外交政策、医学统计等学科表现优异(75%以上)。

薄弱环节

高中数学(0%)国际法(0%) 和 精算科学(0%) 表现极差。

数学相关学科(小学数学、大学数学)普遍较弱。

 采用GSM8K(数学推理)数据来测评Qwen1.5-0.5B-Chat

 我们采用GSM8K(数学推理)数据来测评Qwen1.5-0.5B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_gsm8k_chat_gen.py 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--max-out-len 100 
--max-seq-len 2048 
--batch-size 8 
--hf-num-gpus 1 
--debug

Qwen1.5-0.5B-Chat 模型在 GSM8K 数学推理数据集上的评测结果  

数据集 准确率(Accuracy) 表现等级 备注
GSM8K 1.56% ★☆☆☆☆ 数学推理能力极弱

极低准确率(1.56%):表明模型在解决小学数学应用题(GSM8K 数据集)时表现极差,几乎无法完成有效的数学推理。

对比预期

正常人类在 GSM8K 上的准确率约为 60%,优秀大模型(如 GPT-4)可达 90%+。

1.56% 的准确率接近随机猜测(GSM8K 为选择题时随机概率约为 25%)

 采用GSM8K(数学推理)数据来测评Qwen1.5-1.8B-Chat

 我们采用GSM8K(数学推理)数据来测评Qwen1.5-1.8B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_gsm8k_chat_gen.py 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-1.8B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--max-out-len 100 
--max-seq-len 2048 
--batch-size 8 
--hf-num-gpus 1 
--debug

 Qwen1.5-1.8B-Chat 模型在 GSM8K 数学推理数据集上的评测结果

模型版本 参数量 GSM8K 准确率 表现等级 关键观察
Qwen1.5-1.8B-Chat 1.8B 26.56% ★★★☆☆ 显著提升,但仍需改进

1.8B 模型提升显著:准确率从 1.56% → 26.56%,说明参数量增加对数学推理能力有直接影响。

与业界对比

人类水平:约 60%(GSM8K 测试平均)。

SOTA 模型(如 GPT-4):90%+。

26.56% 仍低于主流大模型,但已达到基础可用水平。

对于C-Eval(中文知识评估)数据集并没有官方Demo我们来手写一份opencompass/opencompass/configs/datasets/demo/demo_ceval_chat_gen.py

from mmengine import read_base

with read_base():
    from ..ceval.ceval_gen_5f30c7 import ceval_datasets

for d in ceval_datasets:
    d['abbr'] = 'demo_' + d['abbr']
    d['reader_cfg']['test_range'] = '[0:4]'  # 每个科目只测试前4个样本

C-Eval(中文知识评估)数据来测评Qwen1.5-0.5B-Chat

  我们采用C-Eval(中文知识评估)数据来测评Qwen1.5-0.5B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_ceval_chat_gen 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--hf-num-gpus 1

Qwen1.5-0.5B-Chat 模型在C-Eval(中文知识评估)数据集上的评测结果   

学科分类(Subject) 准确率(Accuracy) 表现等级 备注
计算机网络(Computer Network) 50.00% ★★★☆☆ 表现中等
操作系统(Operating System) 25.00% ★★☆☆☆ 表现较弱
计算机架构(Computer Architecture) 0.00% ★☆☆☆☆ 表现不佳
大学编程(College Programming) 25.00% ★★☆☆☆ 表现较弱
大学物理(College Physics) 50.00% ★★★☆☆ 表现中等
大学化学(College Chemistry) 50.00% ★★★☆☆ 表现中等
高等数学(Advanced Mathematics) 25.00% ★★☆☆☆ 表现较弱
概率与统计(Probability and Statistics) 50.00% ★★★☆☆ 表现中等
离散数学(Discrete Mathematics) 25.00% ★★☆☆☆ 表现较弱
电气工程(Electrical Engineer) 50.00% ★★★☆☆ 表现中等
计量工程师(Metrology Engineer) 75.00% ★★★★☆ 表现良好
高中数学(High School Mathematics) 75.00% ★★★★☆ 表现良好
高中物理(High School Physics) 25.00% ★★☆☆☆ 表现较弱
高中化学(High School Chemistry) 50.00% ★★★☆☆ 表现中等
高中生物(High School Biology) 25.00% ★★☆☆☆ 表现较弱
中学数学(Middle School Mathematics) 50.00% ★★★☆☆ 表现中等
中学生物(Middle School Biology) 75.00% ★★★★☆ 表现良好
中学物理(Middle School Physics) 50.00% ★★★☆☆ 表现中等
中学化学(Middle School Chemistry) 50.00% ★★★☆☆ 表现中等
兽医学(Veterinary Medicine) 0.00% ★☆☆☆☆ 表现不佳
大学经济学(College Economics) 25.00% ★★☆☆☆ 表现较弱
商业管理(Business Administration) 75.00% ★★★★☆ 表现良好
马克思主义(Marxism) 0.00% ★☆☆☆☆ 表现不佳
毛泽东思想(Mao Zedong Thought) 25.00% ★★☆☆☆ 表现较弱
教育科学(Education Science) 50.00% ★★★☆☆ 表现中等
教师资格(Teacher Qualification) 100.00% ★★★★★ 表现完美
高中政治(High School Politics) 0.00% ★☆☆☆☆ 表现不佳
高中地理(High School Geography) 50.00% ★★★☆☆ 表现中等
中学政治(Middle School Politics) 50.00% ★★★☆☆ 表现中等
中学地理(Middle School Geography) 50.00% ★★★☆☆ 表现中等
近代中国历史(Modern Chinese History) 25.00% ★★☆☆☆ 表现较弱
思想道德修养(Ideological and Moral Cultivation) 75.00% ★★★★☆ 表现良好
逻辑学(Logic) 50.00% ★★★☆☆ 表现中等
法学(Law) 50.00% ★★★☆☆ 表现中等
中国语言文学(Chinese Language and Literature) 25.00% ★★☆☆☆ 表现较弱
艺术学(Art Studies) 0.00% ★☆☆☆☆ 表现不佳
导游专业(Professional Tour Guide) 25.00% ★★☆☆☆ 表现较弱
法律职业(Legal Professional) 25.00% ★★☆☆☆ 表现较弱
高中语文(High School Chinese) 50.00% ★★★☆☆ 表现中等
高中历史(High School History) 75.00% ★★★★☆ 表现良好
中学历史(Middle School History) 50.00% ★★★☆☆ 表现中等
公务员考试(Civil Servant) 75.00% ★★★★☆ 表现良好
体育科学(Sports Science) 25.00% ★★☆☆☆ 表现较弱
植保专业(Plant Protection) 75.00% ★★★★☆ 表现良好
基础医学(Basic Medicine) 50.00% ★★★☆☆ 表现中等
临床医学(Clinical Medicine) 75.00% ★★★★☆ 表现良好
城乡规划师(Urban and Rural Planner) 0.00% ★☆☆☆☆ 表现不佳
注册会计师(Accountant) 75.00% ★★★★☆ 表现良好
消防工程师(Fire Engineer) 50.00% ★★★☆☆ 表现中等
环境影响评估工程师(Environmental Impact Assessment Engineer) 25.00% ★★☆☆☆ 表现较弱
税务会计师(Tax Accountant) 0.00% ★☆☆☆☆ 表现不佳
医师(Physician) 25.00% ★★☆☆☆ 表现较弱

高准确率(≥75%)

计量工程师、高中数学、商业管理、教师资格、思想道德修养、高中历史、城乡规划师、注册会计师、临床医学等表现良好。

中等准确率(50%-74%)

计算机网络、大学物理、大学化学、概率与统计、电气工程、中学数学、中学生物、中学物理、中学化学、大学经济学、教育科学、逻辑学、法学、高中语文、中学历史、体育科学、植保专业、基础医学等表现中等。

低准确率(<50%)

操作系统、计算机架构、大学编程、高等数学、离散数学、高中物理、高中生物、兽医学、大学经济学、马克思主义、毛泽东思想、近代中国历史、艺术学、导游专业、法律职业、环境影响评估工程师、税务会计师、医师等表现较弱。

采用C-Eval(中文知识评估)数据来测评Qwen1.5-1.8B-Chat

   我们采用C-Eval(中文知识评估)数据来测评Qwen1.5-1.8B-Chat,在OpenCompass项目上只需要运行run.py脚本,并且通过命令行传参的方式指定模型文件路径测评数据名称即可进行评测,执行脚本如下

python run.py 
--hf-type chat 
--datasets demo_ceval_chat_gen 
--hf-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-1.8B-Chat 
--tokenizer-path /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-1.8B-Chat 
--model-kwargs "device_map=auto" "trust_remote_code=True" 
--tokenizer-kwargs "padding_side=left" "truncation=left" "use_fast=False" "trust_remote_code=True" 
--hf-num-gpus 1

 Qwen1.5-1.8B-Chat 模型在C-Eval(中文知识评估)数据集上的评测结果   

学科分类(Subject) 准确率(Accuracy) 表现等级 备注
计算机网络(Computer Network) 50.00% ★★★☆☆ 表现中等
操作系统(Operating System) 25.00% ★★☆☆☆ 表现较弱
计算机架构(Computer Architecture) 75.00% ★★★★☆ 表现良好
大学编程(College Programming) 25.00% ★★☆☆☆ 表现较弱
大学物理(College Physics) 0.00% ★☆☆☆☆ 表现不佳
大学化学(College Chemistry) 25.00% ★★☆☆☆ 表现较弱
高等数学(Advanced Mathematics) 50.00% ★★★☆☆ 表现中等
概率与统计(Probability and Statistics) 75.00% ★★★★☆ 表现良好
离散数学(Discrete Mathematics) 0.00% ★☆☆☆☆ 表现不佳
电气工程(Electrical Engineer) 50.00% ★★★☆☆ 表现中等
计量工程师(Metrology Engineer) 50.00% ★★★☆☆ 表现中等
高中数学(High School Mathematics) 0.00% ★☆☆☆☆ 表现不佳
高中物理(High School Physics) 75.00% ★★★★☆ 表现良好
高中化学(High School Chemistry) 50.00% ★★★☆☆ 表现中等
高中生物(High School Biology) 50.00% ★★★☆☆ 表现中等
中学数学(Middle School Mathematics) 25.00% ★★☆☆☆ 表现较弱
中学生物(Middle School Biology) 100.00% ★★★★★ 表现完美
中学物理(Middle School Physics) 75.00% ★★★★☆ 表现良好
中学化学(Middle School Chemistry) 100.00% ★★★★★ 表现完美
兽医学(Veterinary Medicine) 50.00% ★★★☆☆ 表现中等
大学经济学(College Economics) 50.00% ★★★☆☆ 表现中等
商业管理(Business Administration) 75.00% ★★★★☆ 表现良好
马克思主义(Marxism) 75.00% ★★★★☆ 表现良好
毛泽东思想(Mao Zedong Thought) 50.00% ★★★☆☆ 表现中等
教育科学(Education Science) 50.00% ★★★☆☆ 表现中等
教师资格(Teacher Qualification) 100.00% ★★★★★ 表现完美
高中政治(High School Politics) 50.00% ★★★☆☆ 表现中等
高中地理(High School Geography) 0.00% ★☆☆☆☆ 表现不佳
中学政治(Middle School Politics) 75.00% ★★★★☆ 表现良好
中学地理(Middle School Geography) 100.00% ★★★★★ 表现完美
近代中国历史(Modern Chinese History) 50.00% ★★★☆☆ 表现中等
思想道德修养(Ideological and Moral Cultivation) 75.00% ★★★★☆ 表现良好
逻辑学(Logic) 75.00% ★★★★☆ 表现良好
法学(Law) 25.00% ★★☆☆☆ 表现较弱
中国语言文学(Chinese Language and Literature) 0.00% ★☆☆☆☆ 表现不佳
艺术学(Art Studies) 75.00% ★★★★☆ 表现良好
导游专业(Professional Tour Guide) 50.00% ★★★☆☆ 表现中等
法律职业(Legal Professional) 50.00% ★★★☆☆ 表现中等
高中语文(High School Chinese) 75.00% ★★★★☆ 表现良好
高中历史(High School History) 100.00% ★★★★★ 表现完美
中学历史(Middle School History) 100.00% ★★★★★ 表现完美
公务员考试(Civil Servant) 75.00% ★★★★☆ 表现良好
体育科学(Sports Science) 0.00% ★☆☆☆☆ 表现不佳
植保专业(Plant Protection) 50.00% ★★★☆☆ 表现中等
基础医学(Basic Medicine) 75.00% ★★★★☆ 表现良好
临床医学(Clinical Medicine) 25.00% ★★☆☆☆ 表现较弱
城乡规划师(Urban and Rural Planner) 50.00% ★★★☆☆ 表现中等
注册会计师(Accountant) 100.00% ★★★★★ 表现完美
消防工程师(Fire Engineer) 75.00% ★★★★☆ 表现良好
环境影响评估工程师(Environmental Impact Assessment Engineer) 0.00% ★☆☆☆☆ 表现不佳
税务会计师(Tax Accountant) 75.00% ★★★★☆ 表现良好
医师(Physician) 25.00% ★★☆☆☆ 表现较弱

高准确率(≥75%)

计算机架构、概率与统计、电气工程、计量工程师、高中物理、中学生物、中学化学、商业管理、马克思主义、教师资格、中学地理、思想道德修养、逻辑学、艺术学、高中语文、高中历史、中学历史、公务员考试、基础医学、注册会计师、消防工程师、税务会计师等表现良好。

中等准确率(50%-74%)

计算机网络、高等数学、高中化学、高中生物、大学经济学、教育科学、毛泽东思想、高中政治、中学政治、导游专业、法律职业、植保专业、城乡规划师等表现中等。

低准确率(<50%)

操作系统、大学物理、大学化学、离散数学、高中数学、高中地理、法学、中国语言文学、体育科学、临床医学、环境影响评估工程师、医师等表现较弱。


5. 评测指标解读

1. 评测单个模型(以 Qwen-1.5B-Chat 为例)

(1) 评测 C-Eval 和 C-MMLU(选择题,准确率指标)
python run.py 
    --models /root/.cache/modelscope/hub/models/Qwen/Qwen1.5-0.5B-Chat  # HuggingFace模型路径
    --datasets ceval_chat cmmlu_chat   # 使用对话适配版本数据集
    --hf-type chat   # 指定对话模型类型
    --max-out-len 10   # 限制生成长度(选择题只需生成选项字母)
    --batch-size 8  # 批处理大小(根据GPU显存调整)
(2) 评测 GSM8K(数学题,解决率指标)
python run.py 
    --models Qwen/Qwen-1.5B-Chat 
    --datasets gsm8k_chat 
    --hf-type chat 
    --template-type qwen 
    --max-out-len 200   # 数学题需生成完整解题步骤
    --batch-size 4  # GSM8K输入较长,需减小batch_size

2. 批量评测两个模型(Qwen-0.5B 和 Qwen-1.5B)

(1) 使用配置文件(推荐)

创建配置文件 config/qwen_compare.py

from opencompass.models import HuggingFaceChatModel
from opencompass.datasets import ceval_chat, cmmlu_chat, gsm8k_chat

models = [
    dict(
        type=HuggingFaceChatModel,
        path="Qwen/Qwen-0.5B-Chat",
        template_type="qwen",
        batch_size=8,
        max_out_len=100,
    ),
    dict(
        type=HuggingFaceChatModel,
        path="Qwen/Qwen-1.5B-Chat",
        template_type="qwen",
        batch_size=8,
        max_out_len=100,
    )
]

datasets = [ceval_chat, cmmlu_chat, gsm8k_chat]

运行评测:

python run.py --config config/qwen_compare.py
(2) 直接命令行(简化版)
# 评测Qwen-0.5B
python run.py 
    --models Qwen/Qwen-0.5B-Chat 
    --datasets ceval_chat cmmlu_chat gsm8k_chat 
    --hf-type chat 
    --template-type qwen

# 评测Qwen-1.5B
python run.py 
    --models Qwen/Qwen-1.5B-Chat 
    --datasets ceval_chat cmmlu_chat gsm8k_chat 
    --hf-type chat 
    --template-type qwen

3. 结果对比与分析

评测完成后,OpenCompass 会生成结果文件(默认在 outputs/ 目录下):

(1) 查看结果
# 结果文件示例
ls outputs/default/20240510_123456/
# 生成的文件包括:
# - summary/  # 各模型和数据集的总览
# - details/  # 每道题的详细生成内容
(2) 提取关键指标

C-Eval & C-MMLU
查看 summary/summary.csv 中的 accuracy 字段。

GSM8K
查看 summary/summary.csv 中的 solve_rate 字段。


6. 预期结果分析

6.1 CMMLU评测中的详细对比分析

以下是Qwen1.5-0.5B-Chat与Qwen1.5-1.8B-Chat在CMMLU评测中的详细对比分析,从学科表现、能力变化和模型规模影响三个维度展开:

一、整体表现对比
指标 0.5B模型 1.8B模型 变化
平均准确率 ~35.2% ~43.6% +8.4%
五星级学科占比 0% 6.25% (2/32) 新增法律、计算机科学
四星级学科占比 25% (8/32) 43.75% (14/32) +18.75%
零分学科数量 12个 (农学、经济学等) 3个 (精算、高中数学等) -9个

二、关键学科能力变化
1. 显著提升领域(提升≥25%)

计算机科学:0% → 100% ★
(从全错到满分,体现代码相关能力的质变)

专业医学/心理学:50% → 75% ★★★☆
(临床医学、心理学等专业领域稳定性增强)

高中物理/生物:50% → 75% ★★★☆
(理科推理能力明显改善)

商业伦理/外交政策:25% → 75% ★★★☆
(社科类复杂语义理解提升)

2. 明显退步领域

高中数学:75% → 0% ★☆☆☆
(极端退化,可能因训练数据分布变化)

古代汉语/中国历史:50% → 25% ★★☆☆
(文化类知识稳定性下降)

艺术/现代汉语:75% → 50% ★★★☆
(部分文科能力波动)

3. 顽固薄弱点(持续低分)

数学相关:小学数学(0%→25%)、大学数学(50%→25%)

工程类:电气工程(0%→50%)、农学(0%→25%)

专业领域:中医(25%→25%)、国际法(0%→0%)


三、模型规模的影响分析

规模效益显著

参数量增加3.6倍推动平均准确率提升24%,尤其在计算机科学、医学、法学等复杂领域表现突出,符合Scaling Law规律。

知识覆盖增强

零分学科从12个减少到3个,显示1.8B模型在冷门领域(如遗传学、民族学)的泛化能力改善。

性能波动现象

部分学科(如高中数学)不升反降,可能由于:

多任务学习中的负迁移(知识冲突)

评估样本偏差或训练数据调整

6.2 GSM8K评测中的详细对比分析

从GSM8K数学推理数据集的评测结果来看,Qwen1.5-1.8B-Chat模型相比Qwen1.5-0.5B-Chat模型有显著的性能提升,具体对比如下:

对比维度 Qwen1.5-0.5B-Chat Qwen1.5-1.8B-Chat 提升幅度
参数量 0.5B (5亿) 1.8B (18亿) 3.6倍
GSM8K准确率 1.56% 26.56% 25个百分点
表现等级 ★☆☆☆☆ (极弱) ★★★☆☆ (中等) 两星级提升

关键发现:

规模效应显著:模型参数量增加3.6倍带来准确率17倍的提升(1.56%→26.56%),表明数学推理能力对模型规模敏感

绝对性能仍有限:即使1.8B版本,26.56%的准确率仍低于人类水平(约60%)和顶尖大模型(如GPT-4 >90%)

进步空间大:从”极弱”到”中等”的跨越显示模型潜力,但需要进一步优化架构或训练方法

 

6.3 C-Eval评测中的详细对比分析

 对比两个版本的结果(Qwen1.5-0.5B-Chat_hfQwen1.5-1.8B-Chat_hf)在C-Eval(中文知识评估)数据集上的表现

数据集 Qwen1.5-0.5B-Chat_hf Qwen1.5-1.8B-Chat_hf 变化情况 备注
计算机网络 50.00% 50.00% 无变化
操作系统 25.00% 25.00% 无变化
计算机架构 0.00% 75.00% 显著提升
大学编程 25.00% 25.00% 无变化
大学物理 50.00% 0.00% 显著下降
大学化学 50.00% 25.00% 下降
高等数学 25.00% 50.00% 提升
概率与统计 50.00% 75.00% 显著提升
离散数学 25.00% 0.00% 显著下降
电气工程 50.00% 50.00% 无变化
计量工程师 75.00% 50.00% 下降
高中数学 75.00% 0.00% 显著下降
高中物理 25.00% 75.00% 显著提升
高中化学 50.00% 50.00% 无变化
高中生物 25.00% 50.00% 提升
中学数学 50.00% 25.00% 下降
中学生物 75.00% 100.00% 显著提升
中学物理 50.00% 75.00% 提升
中学化学 50.00% 100.00% 显著提升
兽医学 0.00% 50.00% 显著提升
大学经济学 25.00% 50.00% 提升
商业管理 75.00% 75.00% 无变化
马克思主义 0.00% 75.00% 显著提升
毛泽东思想 25.00% 50.00% 提升
教育科学 50.00% 50.00% 无变化
教师资格 100.00% 100.00% 无变化
高中政治 0.00% 50.00% 显著提升
高中地理 50.00% 0.00% 显著下降
中学政治 50.00% 75.00% 提升
中学地理 50.00% 100.00% 显著提升
近代中国历史 25.00% 50.00% 提升
思想道德修养 75.00% 75.00% 无变化
逻辑学 50.00% 75.00% 提升
法学 50.00% 25.00% 下降
中国语言文学 25.00% 0.00% 显著下降
艺术学 0.00% 75.00% 显著提升
导游专业 25.00% 50.00% 提升
法律职业 25.00% 50.00% 提升
高中语文 50.00% 75.00% 提升
高中历史 75.00% 100.00% 显著提升
中学历史 50.00% 100.00% 显著提升
公务员考试 75.00% 75.00% 无变化
体育科学 25.00% 0.00% 显著下降
植保专业 75.00% 50.00% 下降
基础医学 50.00% 75.00% 提升
临床医学 75.00% 25.00% 显著下降
城乡规划师 0.00% 50.00% 显著提升
注册会计师 75.00% 100.00% 显著提升
消防工程师 50.00% 75.00% 提升
环境影响评估工程师 25.00% 0.00% 显著下降
税务会计师 0.00% 75.00% 显著提升
医师 25.00% 25.00% 无变化

显著提升的领域

计算机架构、概率与统计、高中物理、中学生物、中学化学、兽医学、马克思主义、毛泽东思想、教师资格、中学地理、逻辑学、艺术学、导游专业、法律职业、高中语文、高中历史、中学历史、注册会计师、税务会计师等领域的准确率显著提升。

显著下降的领域

大学物理、离散数学、计量工程师、高中数学、高中地理、法学、中国语言文学、体育科学、环境影响评估工程师等领域的准确率显著下降。

无变化的领域

计算机网络、操作系统、大学编程、电气工程、商业管理、教育科学、教师资格、思想道德修养、公务员考试、医师等领域的准确率保持不变。

6.4 综合对比

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容