eval-scope
eval-scope copied to clipboard
多指标基准测试评分结果疑惑
问题描述 / Issue Description
请简要描述您遇到的问题。 / Please briefly describe the issue you encountered.
比如chinese_simpleqa 评测, 它有3个指标(相关代码如下)
class ChineseSimpleQAAdapter(DataAdapter):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# register metrics
metric_registry.register(Metric(name='is_correct', object=mean))
metric_registry.register(Metric(name='is_incorrect', object=mean))
metric_registry.register(Metric(name='is_not_attempted', object=mean))
# whether to use LLM as a judge
self.llm_as_a_judge = True
这回导致最终report中统计的数据量乘3倍. 并且评测总分的计算也是粗暴地做平均。
例如我只评测2条数据,1个数据是is_correct为1, 另一个数据是is_incorrect为1
这是最终report
// 20250414_xxx/reports/模型名称/evalscope_data.json
{
"name": "data_collection",
"dataset_name": "evalscope_data",
"model_name": "grok-3-beta",
"score": 0.8009,
"metrics": [
"categories": [{
"name": [
"事实性知识"
],
"num": 70,
"score": 0.5286,
"macro_score": 0.6902,
"subsets": [
{
"name": "chinese_simpleqa/中华文化",
"score": 0.3333, // 粗暴的平均分
"num": 6 // 这里从2变成6
},
],
这个数据子集的期望得分是0.5(因为模型答对一个题,答错一个题), 但实际是0.3333
算平均分的代码在这里
(只有一条数据的数据集测试结果, 无论模型怎么回答, 算出的分都是0.3333)
EvalScope 版本 / Version (必须)
v0.13.2
我这边是用evalscope app 看报告
使用collection目前确实有这个问题,后续将修复
目前已修复该问题,默认展示is_correct分数
感谢你的反馈!我们将关闭此问题。如果您有任何疑问,请随时重新打开它。如果EvalScope对您有所帮助,欢迎给我们点个STAR以示支持,谢谢!