10 分钟大揭秘!evalscope 如何测评大模型真实能力?

1.前言

模型评测是评估模型性能和适用性的重要步骤,其核心目的是通过多维度的测试和分析,全面了解模型的表现,确保其在实际应用中能够提供有效结果。模型评测通常包括以下几个关键方面:

  1. 定义评测标准和指标
    模型评测需要明确评测的标准和指标。这些标准可能包括准确性、稳定性、安全性、逻辑性、合规性等维度。例如,在金融大模型评测中,评测体系会涵盖性能、稳定性和安全性等方面。此外,评测指标的选择取决于任务的性质和数据的分布,常用的指标包括准确率(Accuracy)、召回率(Recall)、精确度(Precision)、F1分数等。
  2. 评测方法
    模型评测的方法可以分为人工评测、自动评测和基线评测三种方式。人工评测依赖于专家对模型输出的主观判断,适用于复杂或模糊的任务;自动评测通过算法自动计算指标,效率高但可能缺乏灵活性;基线评测则通过与已知标准模型的对比,评估目标模型的相对性能。
  3. 评测流程
    一个完整的模型评测流程通常包括以下步骤:
    • 创建任务:定义评测的具体任务和目标。
    • 执行评测:根据设定的标准和方法运行模型,并收集数据。
    • 结果分析:对评测结果进行分析,识别模型的优势和不足。
    • 调整策略:根据评测结果调整模型参数或优化策略。
  4. 应用场景
    模型评测广泛应用于多个领域,如自然语言处理、图像识别、金融风控等。例如,在自然语言处理中,评测体系可能包括文本生成、语义理解等任务;在金融领域,评测则更注重模型的稳定性和安全性。
  5. 最佳实践
    最佳实践建议结合多种评测方法,以获得更全面的结果。例如,先通过人工评测确定评测维度,再使用自动评测进行大规模测试,最后通过基线评测对比不同模型的表现。
  6. 挑战与注意事项
    模型评测面临的主要挑战包括数据不平衡、指标选择、过拟合与欠拟合等问题。此外,评测过程中需要确保测试数据集与部署环境匹配,以避免偏差。

关于评测工具魔搭社区有一块开源的评测工具evalscope,之前也用它来做过模型微调后的评测的。今天带大家使用该工具以及使用在IQuiz数据集上进行评测。下面说下测试步骤,这里我们使用魔搭社区提供的jupyter nodebook脚本。

脚本地址https://modelscope.cn/notebook/share/ipynb/9431c588/iquiz.ipynb

2.评测步骤

点击上面的脚步可以一键跳转到魔搭社区提供的免费的免费实例。(没有账号的小伙伴可以提取注册魔搭社区,这里就不详细介绍了)

image-20250315130946515

目前平台CPU 环境提供免费的调试,GPU会送一部分体验时长。这个评测需要模型能力,所以需要GPU算力。目前平台提供8核 32GB内存,24G显存的运行环境,对于10B以下的小模型应该是可以够用的了。

点击“查看nodebook” 进入jupyter nodebook调试页面

2.1 开启jupyter nodebook

image-20250315131325983

image-20250315131416330

脚本会自定加载jupyter nodebook调试脚本。

2.2 安装evalscope

这个脚本自带了evalscope 开源项目。我们之间点击“运行”即可。

image-20250315131605008

运行环境会自动下载安装evalscope 最新版本框架。

image-20250315131650506

如果你不使用这个脚本,也可以在github上下载该项目源码手工方式安装。项目地址:https://github.com/modelscope/evalscope/blob/main/README_zh.md

image-20250315131813055

2.3.评测模型

脚本自带了Qwen2.5-0.5B-Instruct和Qwen2.5-7B-Instruct模型 脚本步骤,由于0.5B小模型太小了,我们直接忽略掉,直接测试Qwen2.5-7B-Instruct模型 。

我们点击Qwen2.5-7B-Instruct 评测脚本执行

image-20250315132206356

这里脚本会先下载评测的Qwen/Qwen2.5-7B-Instruct模型,这个时间会有一点长。

image-20250315132338315

这个地方程序应该是摩搭社区网络内部下载模型权重,这里大家不用管,无脑操作就可以了。

模型下载完成后evalscope 框架会自动下载AI-ModelScope/IQuiz评测数据集并执行评测

image-20250315132546585

我们也可以看到测评的进度

image-20250315132619539

评测完成后会在控制太输出评测结果

image-20250315133322756

我们从上面图可以看到Qwen2.5-7B-Instruct 的 IQ得分是0.6分 ,EQSHI 0.6625分。

接下来我们在找一个模型对它评测,并对它进行对比。我们选择上海人工智能实验室推出的internlm3-8b-instruct模型

模型地址:https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm3-8b-instruct

image-20250315133515390

这里我们需要在测试脚本中添加对该模型的评测。

image-20250315133730468

!CUDA_VISIBLE_DEVICES=0 \
evalscope eval \
  --model Shanghai_AI_Laboratory/internlm3-8b-instruct \
  --datasets iquiz

点击运行,脚步同样和上面步骤一样下下载模型权重

image-20250315133830883

这个模型测试的时间会比较长花费了49分钟完成了评测,测试的分数比之前Qwen2.5-7B-Instruct 分数要低,IQ得分是0.45分 ,EQSHI 0.525分。

image-20250315142950167

2.3.可视化评估模型结果

这个EvalScope测评工具还提供了可视化的界面,接下来我们通过它来看看模型对每个问题是如何回答的。

import os
os.environ['GRADIO_ROOT_PATH'] = f"/{os.environ['JUPYTER_NAME']}/proxy/7860"
print(os.environ['GRADIO_ROOT_PATH'])

运行上述脚本

以及下面的脚步启动webapp

!evalscope app

image-20250315143351273

我们点击http://0.0.0.0:7860,打开gradio页面

image-20250315143558794

这里我们分别选择刚才测评的2个模型,点击加载并查看

image-20250315143720750

可以看到数据集分数、数据集分数表,也可以点开数据集详情况查看结果

image-20250315143834346

模型预测 这块可以分别对IQ 和EQ答对和打错信息结果查看

image-20250315143951046

image-20250315144010662

选择多模型也可以对比2个模型EQ和IQ评测结果

image-20250315144147266

3.总结

总体来说这个评测工具上手还是非常简单的,对新手来说学习成本还是比较低的。我们通过这个评测工具就很方便对模型进行评测,这个评测工具内置多个常用测试基准和评测指标,如MMLU、CMMLU、C-Eval、GSM8K等,同时也是支持多种模型类型评测。如:语言模型、多模态模型、Embedding 模型、Reranker 模型和 CLIP 模型等。当然也是支持自定义的评测数据集,有模型微调和训练的小伙伴也可以使用该评测工具最自己微调后的模型结果进行评测。今天的分享就到这里,感兴趣的小伙伴可以看看,我们下个文章见。

<think>好的,我现在需要帮助用户解决关于如何使用evalscope工具的问题。首先,用户提到想了解使用教程或者如何正确使用它,但根据提供的引用内容,似乎没有直接提到evalscope的信息。我需要先检查提供的三个引用是否有相关内容。 引用[1]讲的是JMeter配置,涉及性能监控工具,可能与测试或评估有关,但不确定是否与evalscope直接相关。引用[2]讨论的是数据投毒和安全检测,属于安全领域,可能和评估系统的安全性有关,但同样没有提到evalscope。引用[3]涉及SWIFT框架,支持多种训练领域,如数学、Agent、多模态VQA等,但也没有提到evalscope。 因此,用户提到的evalscope可能在提供的引用之外,或者可能存在拼写错误。这时候应该考虑用户是否有其他意图,或者是否在引用中有其他名称的工具。例如,引用[3]中的SWIFT框架是否包含类似evalscope的模块?或者用户可能混淆了工具名称? 由于信息不足,可能需要告知用户当前参考资料中未提及evalscope,并建议检查名称拼写或提供更多上下文。同时,可以基于现有引用中的工具(如JMeter、SWIFT)提供相关帮助,或询问用户是否指这些工具。此外,可能用户提到的evalscope是一个特定领域的工具,需要进一步的信息才能准确回答。因此,在回答时应礼貌地说明情况,并引导用户提供更多细节。</think>关于如何使用`evalscope`工具,目前提供的参考资料中未直接提及该工具的具体功能或操作步骤。建议先确认工具名称的拼写是否正确,或检查是否属于以下相关场景中的工具: ### 基于现有资料的关联建议 1. **性能监控工具(类似JMeter配置)** 若`evalscope`用于系统性能评估,可参考类似JMeter的配置方法: - 创建线程组,定义并发用户数 - 添加监听器(如`jp@gc - PerfMon Metrics Collector`)监控CPU、内存等指标[^1] ```python # 示例:JMeter性能测试脚本结构(伪代码) from jmeter_api import ThreadGroup, HTTPSampler, PerfMonCollector thread_group = ThreadGroup(users=100, ramp_up=60) http_request = HTTPSampler(url="https://api.example.com") perf_mon = PerfMonCollector(metrics=["CPU", "Memory"]) ``` 2. **安全检测或数据调试(类似数据投毒检测)** 若涉及安全评估,可参考以下步骤: - 注入调试标记(如特定字符串)验证系统断点 - 检查权限绕过、支付跳转等漏洞[^2] 3. **模型训练与评估(类似SWIFT框架)** 若用于AI模型评估(如RL训练、多模态VQA): - 使用SWIFT框架配置训练任务(支持数学推理、Agent训练等) - 结合vLLM的MP模式扩展大模型训练规模[^3] ```python # 示例:SWIFT框架初始化训练任务 from swift import Trainer, TrainingConfig config = TrainingConfig(task="math_reasoning", use_vllm=True) trainer = Trainer(config) trainer.train() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值