Qwen3微调 03 EvalScope安装部署流程
EvalScope是由阿里魔搭社区(modelscope)打造的专注于模型评测与性能基准测试的框架。通过完全集成ModelScope上的数据集,一键围绕当前模型进行性能测试、压力测试等。
Qwen3微调 03 EvalScope安装部署流程
一、EvalScope是什么?
EvalScope是由阿里魔搭社区(modelscope)打造的专注于模型评测与性能基准测试的框架。通过完全集成ModelScope上的数据集,一键围绕当前模型进行性能测试、压力测试等。
二、EvalScope安装部署流程
1. EvalScope安装流程
为了避免和Unsloth的依赖产生冲突,EvalScope需要再单独创建虚拟环境:
conda create --name evalscope python=3.11
conda init
source ~/.bashrc
conda activate evalscope
conda install jupyterlab
conda install ipykernel
python -m ipykernel install --user --name evalscope --display-name "Python evalscope"
然后安装对应的库
pip install evalscope # 安装 Native backend (默认)
# 额外选项
pip install 'evalscope[opencompass]' # 安装 OpenCompass backend
pip install 'evalscope[vlmeval]' # 安装 VLMEvalKit backend
pip install 'evalscope[rag]' # 安装 RAGEval backend
pip install 'evalscope[perf]' # 安装 模型压测模块 依赖
pip install 'evalscope[app]' # 安装 可视化 相关依赖
# 或可以直接输入all,安装全部模块
# pip install 'evalscope[all]' # 安装所有 backends (Native, OpenCompass, VLMEvalKit, RAGEval)
注意,在安装过程中可能会出现如下报错:
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ms-opencompass 0.1.6 requires numpy<2.0.0,>=1.23.4, but you have numpy 2.2.6 which is incompatible.
降低numpy版本到1.25.0,又出现新的依赖冲突:
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
scipy 1.16.2 requires numpy<2.6,>=1.25.2, but you have numpy 1.25.0 which is incompatible.
opencv-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= “3.9”, but you have numpy 1.25.0 which is incompatible.
表明安装的 numpy 1.25.0 版本与 scipy 和 opencv-python 的要求不兼容。
然后我升级到兼容的 numpy 版本:
# 卸载当前 numpy
pip uninstall numpy -y
# 安装兼容的版本(满足所有包的要求)
pip install "numpy>=1.25.2,<2.0.0"
又报错:
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
opencv-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= “3.9”, but you have numpy 1.26.4 which is incompatible.
这个错误表明 opencv-python 需要 numpy 2.x 版本,但你当前安装的是 numpy 1.26.4。
最后还是升级 numpy 到 2.x 版本
# 升级 numpy 到兼容版本
pip install "numpy>=2,<2.3.0" --upgrade
# 然后安装 VLMEvalKit
pip install VLMEvalKit
2.借助EvalScope进行压力测试
代码如下(示例):
evalscope perf \
--url "http://127.0.0.1:8000/v1/chat/completions" \
--parallel 5 \
--model "./Qwen3-14B-unsloth-bnb-4bit" \
--number 20 \
--api openai \
--dataset openqa \
--stream
注意:model没加引号,会导致报错:
3.进行模型性能评估
接下来即可进一步进行模型性能评估。这里我们先尝试对其进行初始状态下的性能评估,然后等微调结束后,再进行新一轮的评估,进而对比微调前后模型性能变化情况。这里需要在Jupyter中选择evalscope kernel。
我们使用EvalScope专门为Qwen3准备的 modelscope/EvalScope-Qwen3-Test 数据集进行评测,会围绕模型的推理、指令跟随、代理能力和多语言支持方面能力进行测试,该数据包含 mmlu_pro 、ifeval 、 live_code_bench 、 math_500 、 aime24 等各著名评估数据集。数据集地址:https://modelscope.cn/datasets/modelscope/EvalScope-Qwen3-Test/summary
注意:由于我们下载的evalscope版本是1.0.2,如果在代码中使用 ‘modelscope/EvalScope-Qwen3-Test’ 是不对的,因为魔搭社区对于该数据集是这样说的:
该数据集是旧版EvalScope v0.xx使用的数据集,对于 v1.0.0 版本的用户,请使用新版数据集。
dataset_args={
'data_collection': {
'dataset_id': 'modelscope/EvalScope-Qwen3-Test',
'filters': {'remove_until': '</think>'} # 过滤掉思考的内容
}
如果使用上述数据集,虽然可以下载,但是会报错:
AssertionError: No scores to generate report
图片如下
问AI,AI只是指出如下原因,让我修改数据集。其实是数据集不适配1.0.0以上版本。
新版数据集地址
https://modelscope.cn/datasets/evalscope/Qwen3-Test-Collection
然后使用如下代码
from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
model='./Qwen3-14B-unsloth-bnb-4bit',
api_url='http://127.0.0.1:8000/v1/chat/completions',
eval_type='openai_api',
datasets=[
'data_collection',
],
dataset_args={
'data_collection': {
'dataset_id': 'evalscope/Qwen3-Test-Collection',
'subset_name': 'default', # 指定子集名称
'split': 'test', # 指定拆分
'filters': {'remove_until': '</think>'} # 过滤掉思考的内容
}
},
eval_batch_size=128,
generation_config={
'max_tokens': 30000, # 最大生成token数,建议设置为较大值避免输出截断
'temperature': 0.6, # 采样温度 (qwen 报告推荐值)
'top_p': 0.95, # top-p采样 (qwen 报告推荐值)
'top_k': 20, # top-k采样 (qwen 报告推荐值)
'n': 1, # 每个请求产生的回复数量
},
timeout=60000, # 超时时间
stream=True, # 是否使用流式输出
limit=2000, # 设置为2000条数据进行测试
)
run_task(task_cfg=task_cfg)
要注意eval_type=‘openai_api’。‘dataset_id’: ‘evalscope/Qwen3-Test-Collection’。
此时后台显示如下
评测运行比较慢,从十一点运行到下午五点,过程如下:
运行完成后,查看模型能力评测结果。需要再终端激活evalscope环境之后使用如下命令:
evalscope app
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



















所有评论(0)