模型微调完成后,还需要通过评测来判断模型是否真正达到了预期效果。由于不同任务的目标不同,使用的评测方法也会有所区别。
例如,分类任务主要关注模型能否判断出正确的类别;信息抽取任务关注需要的信息是否被完整、准确地提取出来;生成任务除了判断答案是否正确,还需要关注内容的完整性和相关性;语音识别通常通过错误率评价识别结果;图像生成则需要结合自动指标和人工评价进行判断。
具体如何测试见【先评再选:用EvalScope形成开源模型的第一份报告】,我们这一章告诉你不同任务有哪些评测指标~
文本分类是模型微调中比较常见的一类任务,例如意图识别、情感分类、故障分类和风险分类等。
通常可以将预测结果划分为四种情况:
准确率表示所有样本中预测正确的比例:
\mathrm{Accuracy}=\frac{TP+TN}{TP+TN+FP+FN}
例如,测试1000条数据,模型正确预测了900条,那么Accuracy就是90%。Accuracy可以比较直观地反映模型整体的分类效果。但是,当不同类别的数据数量相差较大时,只看Accuracy可能会产生误判。当1000条情感分类数据中只有20条负向数据,如果模型简单地将所有数据都预测为“正向”,Accuracy仍然可以达到98%,但实际上20条负向数据一条都没有识别出来。所以,在类别分布不均衡的情况下,通常还需要结合Precision、Recall和F1一起评价模型。
精确率(Precision)表示模型预测为正样本的数据中,有多少真正属于正样本:
$\mathrm{Precision}=\frac{TP}{TP+FP} $
召回率(Recall)表示标注为正样本的数据中,有多少被模型成功识别:
$\mathrm{Recall}=\frac{TP}{TP+FN} $
F1 Score综合考虑Precision和Recall,F1较高,通常说明模型在Precision和Recall之间取得了比较好的平衡。
F1 = 2 \times \frac{\mathrm{Precision} \times \mathrm{Recall}}
{\mathrm{Precision} + \mathrm{Recall}}
Accuracy、Precision、Recall和F1可以用一个数值表示模型的整体效果,但如果想知道模型容易把哪些类别判断错,我们需要使用混淆矩阵进一步分析,混淆矩阵会把每条测试数据的真实类别和模型预测类别进行对照,然后统计不同类别之间的预测情况,并将结果排列成一个矩阵。
例如,测试集中包含网络故障,硬件故障,软件故障三种类别,模型预测结果统计如下:
| 真实类别 \ 预测类别 | 网络故障 | 硬件故障 | 软件故障 |
| 网络故障 | 45 | 2 | 3 |
| 硬件故障 | 1 | 47 | 2 |
| 软件故障 | 6 | 2 | 42 |
每一行表示数据的真实类别,每一列表示模型预测的类别。矩阵对角线上的数字表示预测正确的数量,例如50条网络故障数据中,有45条被正确识别;非对角线上的数字表示预测错误的情况,例如有6条软件故障被错误预测成了网络故障。从混淆矩阵中不仅可以看到模型预测正确了多少数据,还可以进一步发现哪些类别之间容易发生混淆。在上面的结果中,软件故障被错误预测为网络故障的情况相对较多,说明模型对这两个类别的区分能力还有提升空间。通过分析这些容易混淆的类别,可以进一步发现模型存在的问题,为后续补充训练数据和优化模型提供参考。
对于命名实体识别、字段抽取、结构化信息提取等任务,常用的评测指标包括字段准确率、实体级 Precision、Recall 和 F1。不同指标关注的评测粒度不同,可以根据具体任务选择使用。
字段准确率主要用于衡量模型对指定字段的抽取是否正确,其计算方式为:
\text{字段准确率} =
\frac{\text{正确抽取的字段数量}}
{\text{需要抽取的字段总数量}}
登录 参与讨论
对于包含多个字段的任务,可以分别统计不同字段的准确率。例如分别计算公司名、人名的准确率,从而进一步分析模型在哪些字段上的抽取能力较弱,但是这种方法也有缺陷,无法确定模型漏抽了哪些实体,因此对于包含多个实体的信息抽取任务,还需要使用实体级的 Precision、Recall 和 F1 进行更加细致的评测。
对于命名实体识别(NER)任务,实体级 Precision、Recall 和 F1 进行评价,这个部分和上一节的分类人评价指标类似。
其中:
Precision 用于衡量模型识别出的实体中,有多少是正确的:
Precision = \frac{TP}{TP + FP}
Recall 用于衡量标准答案中的实体,有多少被模型成功识别出来:
Recall = \frac{TP}{TP + FN}
F1 综合考虑 Precision 和 Recall:
F1 =
\frac{2 \times Precision \times Recall}
{Precision + Recall}
Precision 较高,说明模型识别出的实体整体比较准确;Recall 较高,说明模型漏掉的实体较少;F1 则用于综合衡量两方面的表现。
与分类和信息抽取任务不同,大语言模型生成的内容通常具有较强的开放性,模型输出通常不存在唯一的标准答案,这类任务通常需要从正确性、完整性、相关性、格式遵循和幻觉等多个维度进行评价。
正确性主要判断模型生成的内容是否正确,包括事实、结论以及推理结果等是否存在错误。对于微调后的模型,即使回答语言流畅、格式完整,如果其中包含错误的事实或结论,也不能认为模型取得了较好的生成效果。正确性通常是评价生成结果时最基本的要求。
完整性主要判断模型是否充分回答了问题,是否遗漏了应该包含的重要信息。有些回答虽然内容本身没有明显错误,但只回答了问题的一部分,遗漏了关键内容。这种情况下,模型的回答具有一定正确性,但完整性仍然不足。完整性关注的不只是回答得对不对,还需要判断应该回答的内容是否都回答到了。
相关性主要判断模型生成的内容是否围绕用户的问题展开。大语言模型有时会生成大量看起来合理但与问题关系不大的内容。虽然这些内容本身可能没有错误,但会降低回答的有效性。相关性较好的回答应该直接回应用户的问题,并尽量减少无关、重复或者过度扩展的内容。
在实际应用中,除了回答内容本身,模型通常还需要按照指定的格式输出结果。例如,要求模型按照JSON格式返回结果,或者按照规定的字段、顺序和结构组织内容。格式遵循主要评价模型是否按照给定的输出要求生成内容。即使回答内容正确,如果没有按照规定格式输出,也可能导致后续程序无法正常解析和使用。对于经过指令微调或具有固定输出要求的模型,格式遵循也是一个重要的评价维度。
幻觉(Hallucination)是指模型生成了缺少依据、与事实不符或者凭空编造的内容。当模型不知道某项信息时,没有说明信息不足,而是生成了一个看起来合理但实际上并不存在的事实,这就属于典型的幻觉问题。
幻觉与正确性存在一定联系,但关注的重点有所不同。正确性关注回答内容是否正确,而幻觉更关注模型是否生成了没有可靠依据的信息。对于知识问答等对事实可靠性要求较高的场景,需要重点关注模型的幻觉情况。
语音识别(ASR)任务,通常需要从识别准确性和处理效率两个方面进行评测。其中,CER 和 WER 用于衡量识别结果中的错误情况,RTF 用于衡量模型处理语音的速度。
在介绍 CER 和 WER 之前,先说明语音识别错误率计算中常用的几个符号:
CER 和 WER 都基于这几类错误进行计算,主要区别在于两者采用的统计单位不同。
CER(Character Error Rate,字错率)以字符为单位衡量语音识别结果与标准文本之间的差异,其计算公式为:
CER = \frac{S + D + I}{N}
CER 越低,通常表示语音识别结果越准确。对于中文语音识别任务,CER 是较为常用的评测指标。
WER(Word Error Rate,词错率)与 CER 的计算方式基本相同:
WER = \frac{S + D + I}{N}
CER 以字符为基本单位,而 WER 以单词为基本单位,在英文等以单词为基本语言单位的语音识别任务中使用较多。
除了识别结果是否准确,语音识别模型在实际部署时还需要考虑处理速度。RTF(Real-Time Factor,实时率)是衡量语音识别处理效率的常用指标,其计算公式为:
RTF =
\frac{\text{模型处理时间}}
{\text{语音时长}}
例如,一段 10 秒的语音需要 5 秒完成识别,则:
RTF = \frac{5}{10} = 0.5
RTF 越小,说明模型处理速度越快。当 RTF 小于 1 时,表示模型的处理速度快于语音的实际播放速度,具备实时处理的基本条件。
除了CER、WER和RTF等指标,还可以在不同测试环境下对模型进行评测。例如,在背景噪声、不同口音、远距离录音和多人说话等条件下分别计算CER或WER,通过比较不同场景下的错误率,进一步评价模型在复杂环境中的识别能力和稳定性。
文本转语音(Text-to-Speech,TTS)的目标是将输入文本转换为自然、清晰的语音。与文本生成模型不同,TTS 模型不仅需要保证生成内容与输入文本一致,还需要关注语音的自然度、音色以及生成速度。TTS 模型通常从内容准确性、语音自然度、说话人相似度和推理性能等方面进行评测。
TTS 首先需要保证输入的文本能够被正确朗读,避免出现错读、漏读或重复等问题。评测时可以使用 ASR 模型将 TTS 生成的语音重新识别为文本,再将识别结果与原始输入文本进行比较。内容准确性的指标和上一章节ASR中的指标一致,计算字错率(CER)与词错率(WER)。
除了正确朗读文本,TTS 生成的语音还需要具有较好的自然度,例如语速是否合理、停顿是否自然、语调是否流畅,以及是否存在明显的机械感。通常采用平均意见得分(Mean Opinion Score,MOS)。评测时由多名测试人员试听生成语音,并按照一定的评分标准进行打分,通常采用 1~5 分制,其中 1 分表示语音质量较差,5 分表示语音自然、流畅,接近真人语音。
最终 MOS 可以表示为:
MOS = \frac{1}{M}\sum_{i=1}^{M}s_i
其中,$M$ 表示参与评分的人数,$s_i$ 表示第 $i$ 位评测人员给出的分数。
MOS 能够较直观地反映用户对生成语音的真实听感,但由于依赖人工试听,其评测成本较高,同时也具有一定的主观性。
对于声音克隆、多说话人 TTS 或零样本 TTS 模型,仅保证语音自然还不够,还需要评价生成语音是否保持了目标说话人的音色特征。常见方法是使用说话人识别模型分别提取参考语音和生成语音的 Speaker Embedding,然后计算两个向量之间的余弦相似度:
SIM =
\frac{
\mathbf{e}{ref} \cdot \mathbf{e}{gen}
}{
|\mathbf{e}{ref}| |\mathbf{e}{gen}|
}
其中,$\mathbf{e}{ref}$ 表示参考语音的说话人向量,$\mathbf{e}{gen}$ 表示生成语音的说话人向量。
SIM 越高,说明生成语音与参考说话人在音色特征上越接近。该指标尤其适合用于声音克隆模型的效果评测。
在推理性能方面,TTS 与语音识别模型类似,也可以使用实时率(RTF)衡量模型的处理效率。不同之处在于,语音识别中的 RTF 通常表示识别耗时与输入语音时长的比值,而 TTS 中则表示语音生成耗时与生成语音时长的比值。RTF 越低,表示模型的语音生成效率越高。
RTF 的计算公式为:
RTF =
\frac{T_{infer}}{T_{audio}}
其中,$T_{infer}$ 表示生成语音所需要的推理时间,$T_{audio}$ 表示最终生成语音的时长。
对于流式 TTS 模型,还可以进一步关注首包延迟(Time to First Audio),即从模型接收到文本请求到输出第一段可播放音频所经历的时间。首包延迟越低,用户越快能够听到生成语音,因此该指标对于实时语音交互场景尤为重要。
对于文生图、图生图和图像编辑等任务,仅通过一个指标很难全面评价生成效果。例如,文生图需要判断生成图片是否符合文本描述,图像编辑还需要判断生成结果是否保留了原图中的主体和结构,而在评价一个图像生成模型的整体效果时,还需要考虑生成图片的质量和真实性。
对于文生图任务,首先需要判断生成图片是否符合输入的文本描述。例如,提示词中要求生成特定的主体、场景或者风格,模型生成的图片应当尽可能包含这些内容。
一种常见的评价思路是使用CLIP等视觉语言模型,将文本和图片映射到同一个特征空间,再计算两者之间的相似程度。CLIP 由Radford等人在2021年提出,通过大规模“图像—文本”数据进行训练,使模型能够学习图像内容与自然语言之间的对应关系,图像与文本的余弦相似度可以表示为:
Similarity =
\frac{\mathbf{v}{image}\cdot\mathbf{v}{text}}
{|\mathbf{v}{image}||\mathbf{v}{text}|}
其中,
\mathbf{v}{image}
表示图片特征向量,
\mathbf{v}{text}
表示文本特征向量。通常情况下,相似度越高,说明图片与文本在整体语义上越接近。这类方法主要评价整体语义是否匹配,并不能保证文本中的所有细节都被准确生成。比如判断图片中的数量、位置和细节是否准确。
对于图生图和图像编辑任务,通常还会提供一张原始图片或者参考图片。这类任务不仅需要判断生成结果是否满足文本要求,还需要关注原图中的重要内容是否被正确保留下来。
例如,在商品图片编辑中,可以修改背景、光照或者整体风格,但通常希望商品主体、外观结构和Logo等重要信息保持一致。此时,可以通过比较生成图片和参考图片之间的差异评价编辑效果。
SSIM(Structural Similarity Index,结构相似性指数)是一种经典的全参考图像质量评价方法,由Wang等人在2004年提出。它主要从亮度、对比度和结构等方面比较两张图片,尤其关注图像结构信息是否发生变化。
除了SSIM,还可以使用LPIPS(Learned Perceptual Image Patch Similarity)衡量两张图片之间的感知差异。LPIPS利用深度神经网络提取图像特征,再根据特征之间的距离判断两张图片在视觉感知上的差异。相关研究表明,深度特征能够较好地反映人对图像相似程度的感知。SSIM和LPIPS虽然都需要参考图片,但关注的角度并不完全相同:SSIM更加关注图像结构的变化,而LPIPS更加关注视觉感知层面的差异。在实际任务中,可以根据图像编辑目标选择合适的指标。
对于图像编辑、图生图等具有参考图片的任务,可以计算生成图片与参考图片之间的相似程度。
前面的指标主要用于比较一张生成图片与文本或者参考图片之间的关系。如果希望评价一个图像生成模型的整体生成效果,通常需要对一批生成图片进行统计分析。
FID(Fréchet Inception Distance)由Heusel等人在2017年提出,主要用于衡量生成图片与真实图片在特征分布上的差异,FID。FID首先使用图像模型提取真实图片和生成图片的特征,然后分别统计两组特征的分布,并计算两个分布之间的距离。其基本形式为:
FID =
|\mu_r-\mu_g|_2^2
+
Tr\left(
\Sigma_r+\Sigma_g
-2(\Sigma_r\Sigma_g)^{1/2}
\right)
其中,$\mu_r$和$\Sigma_r$表示真实图片特征的均值和协方差矩阵,$\mu_g$和$\Sigma_g$表示生成图片特征的均值和协方差矩阵。FID比较的不是两张具体图片,而是两批图片在特征分布上的差异。FID越低,说明生成图片与真实图片的特征分布越接近,比较适合用于模型之间的整体效果比较。
除了评价图片是否符合文本描述,还可以从视觉效果的角度对生成图片进行自动评价。美学评分(Aesthetic Score)通常利用包含人类审美评分或偏好信息的数据训练评价模型,让模型学习人对图片视觉质量的偏好,再对生成图片进行自动打分。
这类方法通常会综合反映图片的构图、色彩、光影、清晰度和整体视觉吸引力等特征。评分越高,一般表示图片在所使用的评价模型下具有更好的视觉表现。美学评价具有一定的主观性,不同评分模型的训练数据和审美偏好可能存在差异,因此美学评分更适合作为辅助指标,而不能单独代表图像生成质量。
客观指标可以从图文一致性、图像相似度和特征分布等方面评价生成结果,但这些指标并不能完全反映图片的实际视觉效果。因此,在图像生成任务中,通常还需要结合人工评价,从人的视觉感受和实际使用需求出发判断生成图片的质量。
人工评价可以重点关注以下几个方面:
为了减少个人主观判断带来的差异,可以提前制定统一的评分标准,并由多名评测人员分别进行评价,主观评价能够发现自动化指标难以反映的视觉问题,因此在实际图像生成评测中,通常需要将客观指标与主观评价结合使用,从而更加全面地判断模型的生成效果。
视频生成模型需要根据文本、图像等输入生成连续的视频内容。与图像生成相比,视频不仅需要保证单帧画面的质量,还需要关注不同帧之间的连续性、运动合理性以及生成内容与输入条件的一致性。因此,视频生成模型通常需要从文本与视频一致性、整体视频质量、时序一致性、运动质量以及主观观看效果等多个方面进行综合评测。
与文生图任务类似,文生视频任务也需要评价生成内容与输入文本之间的语义一致性。不同之处在于,视频由连续的视频帧组成,需要进一步考虑整个视频内容与文本描述的匹配程度。主要方法是从生成视频中抽取若干视频帧,使用 CLIP 等视觉语言模型分别计算各视频帧与输入文本之间的语义相似度,再对多个视频帧的结果进行平均(常称为 Frame-average CLIP Score):
$\text{CLIP-Score} = \frac{1}{N} \sum_{i=1}^{N} \operatorname{Similarity}(\mathbf{v}_{\text{frame}_i}, \mathbf{v}_{\text{text}})$
其中,$N$ 表示参与评测的视频帧数量,$\mathbf{v}_{\text{frame}_i}$ 表示第 $i$ 个视频帧的特征向量,$\mathbf{v}_{\text{text}}$ 表示输入文本的特征向量,$\operatorname{Similarity}(\cdot, \cdot)$ 采用余弦相似度,得分越高,表示视频画面内容与输入文本的语义匹配程度越高。该指标主要关注空间静态内容与文本的匹配,无法充分反映视频中的动作连贯性与物理时序逻辑,因此仍需结合时序一致性、运动质量等指标综合衡量。
弗雷歇视频距离(Fréchet Video Distance,FVD)是视频生成任务中衡量生成分布质量的核心指标,用于度量生成视频集与真实视频集在深层特征分布上的差异。计算 FVD 时,首先提取真实视频和生成视频的深层特征,统计两组特征的高斯分布参数(均值与协方差矩阵),并计算其 Fréchet 距离: $\mathrm{FVD} = \|\mu_r - \mu_g\|_2^2 + \operatorname{Tr}\left(\Sigma_r + \Sigma_g - 2\left(\Sigma_r^{1/2} \Sigma_g \Sigma_r^{1/2}\right)^{1/2}\right)$
其中,$\mu_r$ 和 $\Sigma_r$ 分别表示真实视频特征的均值向量和协方差矩阵,$\mu_g$ 和 $\Sigma_g$ 分别表示生成视频特征的均值向量和协方差矩阵,$\operatorname{Tr}(\cdot)$ 表示矩阵的迹。FVD 数值越低,表示生成视频的特征分布与真实视频越接近,说明模型在视觉保真度、时序合理性及样本多样性上的综合表现越好。
时序一致性(Temporal Consistency)主要用于评价生成视频在时间维度上的稳定性。视频由连续帧组成,不仅要求每一帧具有良好的画质,还要求主体外观、背景纹理、色彩与风格在连续帧之间平稳过渡。例如,在人物生成场景中,如果面部特征或服装纹理在帧间频繁闪烁、变形,即使单帧质量再高,观感也会大打折扣。 在实际评测中,一种常见的方法是使用图像特征提取网络获取连续帧的表征,并计算相邻帧特征的余弦相似度均值。对于包含 $N$ 个视频帧的视频,其时序一致性 $TC$ 可以表示为:
$TC = \frac{1}{N-1} \sum_{i=1}^{N-1} \frac{\mathbf{f}_i^{\top} \mathbf{f}_{i+1}}{\|\mathbf{f}_i\|_2 \|\mathbf{f}_{i+1}\|_2}$
其中,$\mathbf{f}_i$ 与 $\mathbf{f}_{i+1}$ 分别表示第 $i$ 帧与第 $i+1$ 帧的视觉特征向量,$N$ 为采样帧总数。通常情况下,$TC$ 得分越高,说明相邻帧的视觉跳变越小、画面越稳定。时序一致性并非绝对越高越好:当模型退化并生成几乎完全静止的画面时,$TC$ 也会异常偏高。时序一致性必须配合动态程度(Dynamic Degree)、运动幅度等指标联合判断。
视频生成模型不仅要避免画面闪烁,还需要保证主体运动轨迹连贯自然,避免出现局部肢体突变、瞬间位移等不符合物理常识的现象。 运动平滑度(Motion Smoothness)主要用于衡量运动速度与加速度在时间序列上的变化平稳性。在具体计算时,通常借助预训练光流估计模型(如 RAFT)提取相邻帧之间的稠密光流场或运动矢量。 设第 $t$ 帧到第 $t+1$ 帧的运动矢量(或平均光流)为 $\mathbf{v}_t$,可以通过相邻时段运动矢量的差异来定义运动变化误差 $E_{\text{motion}}$:
$E_{\text{motion}} = \frac{1}{N-2} \sum_{t=1}^{N-2} \|\mathbf{v}_{t+1} - \mathbf{v}_t\|_2$
其中,$\mathbf{v}_t$ 反映第 $t$阶段的运动状态,$E_{\text{motion}}$ 越小,说明运动加速度突变越少,动作过渡越平缓平滑。
由于单一指标很难全面反映视频生成模型的能力,目前也可以使用 VBench 等综合评测框架对视频生成模型进行多维度评价。VBench 将视频生成质量划分为多个评价维度,例如主体一致性(Subject Consistency)、背景一致性(Background Consistency)、运动平滑度(Motion Smoothness)、动态程度(Dynamic Degree)、美学质量(Aesthetic Quality)以及成像质量(Imaging Quality)等。与 CLIP Score、FVD 等单一指标相比,VBench 的优势在于能够从画面质量、时序稳定性、运动表现和条件一致性等多个角度分析视频生成效果,更加适合用于不同视频生成模型之间的综合能力比较。
大语言模型的输出具有较强的开放性,同一个问题往往可以有多种合理的回答方式。仅依靠自动化指标,很难完整判断回答是否正确并符合用户需求,因此,在评价微调后的大语言模型时,人工评测仍然是重要的评测方式。对于难以通过自动指标准确评价的开放式内容,可以采用盲测或多人评分的方式进行评测。评测人员可以从正确性、完整性、相关性、指令遵循、表达质量和安全性等方面,对模型输出进行综合判断。
实际评测时,可以提前制定统一的评分标准,例如按照1~5分对不同评价维度进行评分。为了减少评测人员对模型的先入为主,可以隐藏模型名称和版本,让评测人员只根据回答内容进行盲测。如果需要比较微调前后的模型,还可以将两个模型对同一问题的回答匿名展示,由评测人员选择表现更好的回答。
由于人工评价具有一定的主观性,对于重要的评测还可以采用多人评分。同一批内容由多名评测人员独立评价,再对评分结果进行汇总。当不同评测人员的评分差异较大时,还需要进一步检查评价标准是否清晰,从而提高评测结果的一致性和可靠性。人工评测虽然需要投入更多时间和人力,但能够发现自动化指标难以反映的问题。在评价大语言模型的微调效果时,可以将自动化评测与人工评测结合起来,从而更加全面地判断模型是否真正得到提升。