1. 基本介绍

1.1 背景

大模型评测是项目落地的关键环节。对于大模型厂商来说,全面客观的评测结果可以作为说服客户的有力材料;对于客户来说,评测是最直观判断模型能力的方式。

目前评测方法可以分为人工评测和自动评测,其中,自动评测技术相比人工评测来讲,具有效率高、一致性好、可复现、等特点,逐渐成为业界研究的重点。

1.2 自动评测概述

模型的自动评测技术可以分为rule-based和model-based两大类:

1.  rule-based方法:

2.  model-based方法:

对于rule-based评测,现已有较为成熟的体系。但是落到具体场景下,就需要构建相应的数据集以及打分策略,具体分析参见深度剖析:多模态模型评测现状、问题与挑战,本文主要针对model-based中的裁判员方法进行验证。

2. 初步验证方案

2.1 评测背景

为推进模型在车载场景落地,因此需要测试1.6B模型在特定芯片上的性能。

我们使用1.6B模型进行了一轮车载场景的推理,具体流程如下:

现已通过人工进行了一版评测,该评测结果在之后的方案中作为标准答案。具体结果参见评测结果-数据源

每张图片都源于特定的车载场景(e.g乘客情绪识别,道路状况检测等)。现针对模型的输出,主要有两个评测任务:

1.  整体理解任务:模型对图片的整体理解是否合理,是否做出了正确的描述。

2.  关键信息检测任务:模型输出是否包了含图片所对应的特定场景。

2.2 方案介绍

方案的核心目标是使用裁判员模型替代人工评测的流程,因此构建裁判员模型就是任务的第一步。

为了节约成本并快速得到反馈,方案使用提示词调优基础模型,使其理解“裁判员”的身份,从而构建裁判员模型。

针对不同评测任务,用户按结构输入不同的提示词(包括评测标准,评测资料和输出格式),然后裁判员模型根据指令输出评测结果。

我们将模型输出的评测结果和人工评测的结果进行比对,将所有错误结果再次输入到GPT-4o中进行重评。

2.3 基础模型选择

 TO DO

 1.  使用更大的模型作为裁判员

 2.  调用模型API测试更多数据

 待测模型:GLM-4-plus(结果),GPT-4o

待测模型选择理由:由于我们的目标是使用裁判员模型替代人工评测,所以理论上来说,人类偏好对齐得越好的模型,最终评测准确率越高。为了验证这一猜测,使用Arena排行榜中排名靠前的模型进行测试。使用更大的模型作为裁判员

2.4 参数及提示词

参数

 temperature     0.3
 topP                   1.0

系统提示词

 # Role:模型评测专家

 ## Profile

 – Author: zaijiu
 – Version: 1.0
 – Language: 中文
 – Description: 模型评测专家需要评测模型输出是否符合某一标准。模型评测专家在评测的过程中应该严格遵循评测标准,公平公正。每一次评测结果都应该有充分的理由支撑。

 ### 擅长评测模型输出:
 1. 模型输出为自然语言描述
 2. 模型输出是对某一张图片的描述
 3. 每一张图片都会有它对应的具体场景

 ### 熟悉汽车驾驶场景
 1. 汽车驾驶场景包括乘客驾驶过程中的行为以及车外状态
 2. 常见场景包括:交通路况,车外环境,行车礼仪,乘客行为等等

 ## Rules
 1. 评测时要严格执行评测标准
 2. 每一次评测结果都应该有充分的理由支撑

 ## Workflow
 1. 用户输入评测标准,评测资料,评测结果输出格式。
 2. 仔细阅读用户提供的评测标准。
 3. 基于评测标准制定详细的评测步骤。
 4. 思考评测步骤是否合理,如不合理,重新制定新的评测步骤。
 5. 根据评测步骤,对待评测内容进行评测。
 6. 按照评测结果输出格式输出最终结果。

 ## Initialization
 作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话。严格根据<Workflow>执行用户任务    

3. 验证结果

3.1 用户提示词

由于不同的评测任务,评测标准会有所差异,所以需要针对不同的评测任务提供不同的提示词。

整体理解任务提示词:

 #评测标准:
 ##评测任务:评测<模型输出>中所描述的内容是否符合<事件图片>。
 ##判断为“涉及”的标准:
 <模型输出>描述的场景和<事件图片>严格一致
 <模型输出>描述的主体人物(如有)和<事件图片>严格一致
 <模型输出>描述的主体事件和 <事件图片>严格一致

 #评测资料:
 <事件图片>:如图所示
 <模型输出>:”【根据情况填具体模型输出】”

 #输出格式:
 若判断为“符合”,输出判断理由,同时输出“描述正确”
 若判断不为“不符合”,输出判断理由,同时输出“描述不正确”

• 关键信息检测任务提示词:

 #评测标准:
 ##评测任务:评测<模型输出>中的内容是否涉及<特定事件>。
 ##判断为“涉及”的标准:
 <模型输出>中的内容严格提到 <特定事件>
 <模型输出>中的内容严格提到<特定事件>子集
 <模型输出>中的内容严格提到和<特定事件>意思类似但表达不同的内容

 #评测资料:
 <特定事件>:”【根据情况填具体事件】”
 <模型输出>:”【根据情况填具体模型输出】”

 #输出格式:
 若判断为“涉及”,输出判断理由,同时输出“已检测”
 若判断不为“涉及”,输出判断理由,同时输出“未检测”

3.2 详细结果汇总

完整的测试结果参见表评测结果.xlsx

两个任务的评测正确率如下图所示:

3.3 结果分析

定义:

1.  假阴性:人工评测结果为正向(【描述正确】,【已检测】),裁判员模型评测结果为负向。

2.  假阳性:人工评测结果为负向(【描述不正确】,【未检测】),裁判员模型评测结果为正向。

3.3.1 整体理解判断任务

• 基模:

在该任务下裁判员模型评测结果有较大问题:从结果可以看出,所有错误情况均为假阳性。也就是说,模型认为所有43条数据都是【描述正确】。

通过查看badcase的判断理由可以发现:模型没有很好的理解【描述正确】和【描述不正确】的界限,同时还存在一些幻觉。

原因分析:

1.  由于基础模型选择的是minicpm-v-2.6,和待验证的6b模型是一个系列,因此倾向存在一致性。

2.  基础模型指令遵循、人类偏好对齐较弱,对提示词不敏感。

3.  从模型的判断理由可以看出,部分错误是模型幻觉导致的。

• GPT:

在该任务下GPT对错误案例重评的准确率较高。(整体准确率参见全量评测结果

假设:GPT和原裁判员模型在正确案例上保持同样的准确率,那么正确率为97.67%,我们可以初步判断GPT具备担任裁判员模型的能力,且方案具有一定可行性。

3.3.2 关键信息检测任务

• 基模:

同样的,在该任务下裁判员模型评测出现假阳性错误的概率远高于假阴性(88%)。

通过查看badcase的判断理由可以发现:模型对判断标准的理解仍然存在一定问题,对“尺度”把握不准确。但是一些判断仍有一定合理性。此外,通过检查,人工标注也存在一些标注错误

基于此,排除了人工错误标注的情况,裁判员模型的准确率应为84%

• GPT:

同样的,在该任务下GPT对错误案例重评的准确率较高。(整体准确率参考全量评测结果

抛出了人工错误标注的情况后,如果假设成立,GPT的整体准确率接近98%,可以初步判断GPT具备担任裁判员模型的能力,且方案具有一定可行性。

4. 类似案例

 TO DO

 类似的案例待汇总

5. 总结

5.1 结论

从“可用”角度来看,使用小模型作为基础模型构建的裁判员模型仍然具有一定的局限性

1.  倾向于认同同系列能力差距不大的模型的输出(假阳性);

2.  对评测基准的尺度把控不到位,没有对人类偏好较好的对齐。

但同时也存在一定的合理性

1.  可以排查人工评测时遗留的错误;

2.  大模型(4o)准确率比较可观(待验证);

3.  通过结构化的提示词以及工程上的优化,可以实现一套可复用的评测工具。

5.2 其他方案

微调模型,但不具备可复用性且成本很高