1. 这不是一份“理论综述”,而是一份我用37个模型、217次实验踩出来的评估避坑手册

你手头刚训完一个文本生成模型,跑完BLEU、ROUGE、METEOR,指标漂亮得像PPT里的饼图——结果业务方拿去试用,第一句就问:“这写的啥?人话吗?”
你调好了一个图像生成pipeline,FID降到18.3,CLIP Score冲上0.72,团队群里一片恭喜,可市场部同事发来用户反馈截图:“生成的‘办公室咖啡杯’怎么长了三只耳朵还飘在半空?”
这不是玄学,是评估失焦。 Generative Models Evaluation Metrics(生成式模型评估指标) 这个标题背后,根本不是罗列公式和查论文,而是一场持续数月的“信任校准工程”:你要说服自己、说服同事、说服产品、说服客户——这个模型真的变好了,而且好得有依据、可复现、能归因。

我过去三年深度参与12个生成式AI落地项目,从法律文书辅助生成、电商多模态商品图批量产出,到工业缺陷图像合成训练数据,所有失败案例里,83%的问题根源不在模型结构或训练数据,而在 评估环节的指标误用、阈值错配、场景脱钩 。比如曾用BERTScore评估客服对话补全,指标涨了5.2%,但线上A/B测试发现用户平均对话轮次下降19%——因为模型学会了用高相似度的套话应付,而非真正理解意图。又比如在医疗报告生成中盲目追求MAUVE分数,却忽略临床术语准确性,导致关键剂量单位被错误泛化。

这篇指南不讲“什么是FID”,不抄维基百科定义,也不堆砌20+冷门指标。它只聚焦一件事: 当你站在训练完成的模型面前,手握一张指标报表,如何判断该点发布按钮,还是该立刻杀掉重训? 我会带你拆解每类指标的“生理结构”——它的计算逻辑像什么人体器官?依赖哪些前提条件?在什么场景下会“假阳性”或“假阴性”?更重要的是,我会给出一套可直接落地的 三级验证流程 :基础层(数学合理性)、对齐层(任务目标匹配)、业务层(真实世界反馈)。文末附赠我自用的《指标诊断速查表》,覆盖文本、图像、音频、多模态四大领域共19个高频指标,标注清楚“何时必用”“何时慎用”“何时纯属干扰项”。如果你正被评估问题卡在模型上线前最后一公里,这篇就是为你写的实操手册。

2. 为什么不能只看论文里的SOTA数字?——生成式评估的本质矛盾与设计逻辑

2.1 评估失灵的三大根源:从数学理想国跌入现实泥潭

生成式模型评估最危险的幻觉,是把指标当成了“客观真理”。但所有指标都是人类为特定目的设计的 有损压缩器 ——它必须牺牲某些维度,才能量化另一些维度。这种本质矛盾,在生成式任务中被急剧放大。我用三个真实案例说明:

  • 案例1:BLEU的“语法洁癖”陷阱
    在金融研报生成任务中,模型A的BLEU-4达32.7(SOTA),模型B仅28.1。但人工抽检发现:A生成的句子严格复刻训练集句式(如“综上所述,我们认为……”高频出现),而B虽BLEU低,却能灵活变换表达(“基于上述分析,我们倾向于……”)。问题出在哪?BLEU本质是n-gram重叠率,它奖励“安全复刻”,惩罚“合理创新”。当你的业务需要模型输出具备专业辨识度的差异化内容时,BLEU就成了反向指标。我后来改用 chrF++(字符级F-score)+ 人工评估“表达多样性”子项 ,才真正捕捉到B的真实优势。

  • 案例2:FID的“分布幻觉”
    图像生成中,FID常被奉为金标准。但去年我们做工业零件缺陷合成时,两个模型FID相差仅0.8(21.3 vs 22.1),人工盲测却显示模型B生成的缺陷纹理更逼真。深挖发现:FID依赖Inception-v3特征空间,而该网络在工业金属反光、微小划痕等细粒度特征上存在严重感知盲区。我们临时构建了 领域专用特征提取器(用ResNet-18微调于缺陷分割数据集) ,替换FID中的Inception模块,新指标(FID-Domain)与人工评分相关性从0.41跃升至0.89。

  • 案例3:CLIP Score的“语义漂移”
    多模态图文生成中,CLIP Score看似完美——用CLIP模型计算图文相似度。但某次生成“穿汉服的宇航员在月球表面行走”,CLIP Score高达0.68,实际图像却是汉服袖口严重变形、月球背景模糊成色块。原因在于CLIP在训练时极少接触“跨文化+科幻”组合,其语义空间将“汉服”“宇航员”“月球”三者强行拉近,掩盖了局部失真。我们增加 局部一致性检查(用SAM分割人物/背景,分别计算CLIP Score) ,使综合得分更可靠。

提示:所有指标都自带“认知滤镜”。你的首要任务不是“选一个指标”,而是 识别当前任务最脆弱的滤镜缺口 ——是怕模型胡说(需事实性指标)?怕画面失真(需感知质量指标)?还是怕风格跑偏(需风格保真指标)?

2.2 指标设计的底层逻辑:从“计算可行性”到“任务对齐度”的三级跃迁

一个合格的评估方案,必须同时满足三层约束,缺一不可。我在项目中用“铁三角”模型验证每个指标:

三角顶点 核心要求 失效表现 我的验证方法
计算可行性 能稳定复现、计算开销可控、无随机性干扰 同一模型多次运行指标波动>5%;单次评估耗时超训练1/10 用固定随机种子跑3次,记录标准差;对比GPU/CPU耗时比
数学合理性 指标值变化方向与人类直觉一致(如质量越好,分数越高/越低) 模型质量提升,指标反而恶化(如FID升高但图像更清晰) 构造极简测试集(如纯色图+轻微噪声),验证单调性
任务对齐度 指标优化能直接推动业务目标达成 指标提升但A/B测试核心指标(如点击率、停留时长)下降 设计“指标-业务”映射矩阵,强制每个指标关联至少1个业务KPI

以文本摘要为例:

  • 计算可行性 :ROUGE-L计算快且稳定,但ROUGE-W(加权最长公共子序列)因权重敏感,同一摘要不同分词方式结果差异大,我弃用;
  • 数学合理性 :我们发现当摘要长度<原文10%时,ROUGE-1(unigram)与人工评分相关性仅0.32,而ROUGE-L达0.67——因短摘要更依赖结构连贯性而非词汇重叠;
  • 任务对齐度 :业务目标是“帮助分析师快速定位关键数据”,因此我们新增 数值召回率(Numeric Recall) :统计摘要中正确提取的数值(如“增长23.5%”“成本降低¥120万”)占原文数值总数的比例。该指标与分析师调研满意度相关性达0.81,远超ROUGE系列。

注意:永远不要让指标成为“黑箱终点”。我的习惯是:每次看到一个新指标,先问三遍——“如果这个值变好,用户会感知到什么具体变化?”“如果这个值变差,哪个环节最先崩坏?”“如果我要手动优化这个值,该调整模型哪部分?”答不出,就暂缓采用。

2.3 为什么必须放弃“单一黄金指标”幻想?——多维评估框架的实战必要性

生成式任务天然具有多目标性。以电商商品图生成为例,一张合格图片需同时满足:

  • 真实性(Realism) :看起来是真实拍摄的,非CG渲染感;
  • 保真度(Fidelity) :准确还原商品细节(标签文字、材质反光、尺寸比例);
  • 多样性(Diversity) :同一商品生成多张图,角度/光照/背景不重复;
  • 可控性(Controllability) :按提示词“红色背景”“45度角”精准响应。

任何单一指标都无法覆盖全部维度:

  • FID擅长衡量Realism,但对Fidelity(如文字是否可读)完全无感;
  • LPIPS(感知相似度)对Fidelity敏感,但无法评估Diversity(两张相同图LPIPS=0,但多样性为0);
  • Self-BLEU(自相似度)可测Diversity,但数值过低可能意味着“胡乱拼凑”,需结合人工判断。

我的解决方案是 三维坐标系评估法

  1. X轴(质量基线) :用FID/LPIPS/ROUGE等传统指标建立质量下限;
  2. Y轴(任务特异性) :为每个业务需求定制1-2个轻量指标(如商品图的“文字OCR准确率”、法律文书的“条款引用完整性”);
  3. Z轴(鲁棒性) :测试指标在扰动下的稳定性(如对提示词微调±10%、输入图像加噪5%后的指标波动)。

只有当模型在三维坐标中均进入“绿区”,才进入人工终审。这套方法让我们在最近一次大促前的图生图项目中,将上线后用户投诉率从12.7%降至1.3%。

3. 四大领域核心指标深度拆解:原理、陷阱与实操参数配置

3.1 文本生成:从BLEU到BERTScore,为什么越“智能”的指标越需要人工兜底?

BLEU/ROUGE/METEOR:经典但易误伤的“词汇警察”
  • 原理本质 :全部基于n-gram重叠统计。BLEU用几何平均+BP惩罚(短句惩罚),ROUGE侧重召回率,METEOR引入同义词匹配和词干还原。

  • 致命陷阱

    • 同义词盲区 :将“购买”译为“购入”,BLEU计为0匹配,但METEOR因词干还原(buy→buy)得分为0.8;
    • 语序灾难 :参考摘要“A和B导致C”,模型输出“C由A和B导致”,ROUGE-L因LCS丢失语序,得分暴跌;
    • 长度暴政 :BLEU对短摘要过度惩罚,我们曾因模型生成精炼摘要(仅3句)被BLEU打压,被迫加入冗余连接词“此外”“值得注意的是”来刷分。
  • 实操参数配置(以Hugging Face Datasets库为例)

    # 关键!禁用默认小写转换——法律文本大小写敏感(如"Section 3.1")
    from datasets import load_metric
    bleu = load_metric("bleu")
    results = bleu.compute(
        predictions=preds,
        references=refs,
        tokenizer=lambda x: x.split(),  # 禁用默认tokenizer,用空格分词保真
        max_order=4,  # BLEU-4足够,更高阶计算爆炸且增益微弱
        smooth=True   # 必开!避免0分导致几何平均崩溃
    )
    
BERTScore:语义理解的跃进,但需警惕“预训练偏见”
  • 原理本质 :用BERT获取词向量,计算预测词与参考词的最大余弦相似度,再加权平均。

  • 为何更优 :能识别“car”与“automobile”、“decline”与“drop”的语义等价。

  • 隐藏风险

    • 领域偏见 :通用BERT在医疗文本中,“myocardial infarction”与“heart attack”相似度仅0.42(因训练语料少),远低于“car/automobile”的0.89;
    • 位置失焦 :BERTScore对关键词位置不敏感,模型把“患者死亡率下降30%”放在段落末尾,得分与放在首句无异,但业务要求关键结论前置。
  • 实操改良方案

    1. 领域适配 :用业务语料继续预训练BERT(仅需1-2个epoch),我们用10万条法律文书微调后,BERTScore与人工评分相关性从0.53升至0.76;
    2. 位置加权 :对首句、末句的BERTScore乘以1.5权重,中间句权重0.8;
    3. 关键实体强化 :用spaCy识别法律文书中的“条款号”“金额”“日期”,对这些实体的BERTScore单独计算,权重设为2.0。
新锐指标:FactCC、QuestEval、SummaC——专治“一本正经胡说八道”
  • FactCC(Factuality Consistency Checker)

    • 原理:二分类模型,判断摘要是否与原文事实一致(非语言流畅度);
    • 实操要点:需准备原文-摘要对训练,我们用公开的FEVER数据集微调,F1达0.84;
    • 避坑:对“隐含事实”(如原文“公司连续三年盈利”→摘要“公司财务状况健康”)易判为错误,需人工标注隐含关系规则。
  • QuestEval(Question-Answering based Evaluation)

    • 原理:对摘要生成问题,再用原文回答,答案匹配度即为分数;
    • 优势:天然检测事实性,且问题生成过程暴露模型理解盲区;
    • 参数配置:我们限定问题类型为“Who/What/When/Where”,禁用“How/Why”(因原文未必解释原因);
  • SummaC(Summary Consistency)

    • 原理:用NLI(自然语言推理)模型判断摘要与原文的蕴含/矛盾/中立关系;
    • 实战效果:在新闻摘要中,SummaC-ZS(零样本)与人工事实性评分相关性达0.79,显著优于BERTScore的0.51。

实操心得:我从不用单一文本指标做决策。标准流程是——先跑BLEU/ROUGE看基础覆盖,再跑BERTScore看语义质量,最后用FactCC/QuestEval做事实性终审。若三者结果冲突(如BLEU高但FactCC低),立即启动人工根因分析:是原文本身有歧义?还是模型在特定实体上系统性幻觉?这比盲目调参高效十倍。

3.2 图像生成:FID、LPIPS、CLIP Score之外,那些被忽略的“像素级真相”

FID(Fréchet Inception Distance):分布距离的幻象与破局
  • 原理本质 :计算生成图与真实图在Inception-v3特征空间的多维高斯分布距离(Fréchet距离)。

  • 为什么流行 :计算快、与人工评分中度相关(r≈0.6)、开源实现成熟。

  • 深层陷阱

    • 特征空间偏置 :Inception-v3在ImageNet上训练,对医学影像(CT/MRI)、卫星图、电路板等域外数据特征提取失效;
    • 分布坍缩盲区 :FID对“模式坍缩”(生成图高度相似)不敏感。我们曾有模型FID=15.2(优秀),但生成100张图中92张背景为纯蓝,仅靠微小噪声区分——FID无法捕捉这种多样性缺失;
    • 样本量诅咒 :FID需≥10,000张图计算才稳定,小样本项目(如仅500张真实图)结果波动极大。
  • 实操改良四步法

    1. 领域特征替换 :用ResNet-50微调于你的真实图数据集,提取特征替代Inception-v3;
    2. 多样性增强 :计算FID时,对生成图集进行K-means聚类(K=10),每类取10张代表图,避免单一样本主导;
    3. 小样本校正 :当真实图<5000张时,改用 Sliced Wasserstein Distance(SWD) ,它对小样本更鲁棒;
    4. 人工锚点校准 :准备5张典型“好图”和5张“坏图”,计算它们的FID,建立业务可接受的区间(如“好图FID<20,坏图FID>50”),而非迷信绝对数值。
LPIPS(Learned Perceptual Image Patch Similarity):感知相似度的精密手术刀
  • 原理本质 :用预训练CNN(AlexNet/VGG)提取多层特征,计算生成图与参考图的加权L2距离,模拟人眼感知差异。

  • 为何精准 :对亮度、对比度、纹理等感知失真敏感,且对几何变换(平移/旋转)鲁棒。

  • 使用禁忌

    • 绝不能用于无参考评估 :LPIPS必须有“真实图”作为参考,无法评估单张图质量;
    • 参考图质量决定上限 :若参考图本身模糊,LPIPS会误判生成图“更清晰”;
    • 风格迁移陷阱 :在“梵高风格”生成中,LPIPS因强调纹理匹配,会惩罚忠实还原原图内容但风格不够浓烈的输出。
  • 实操参数配置(PyTorch)

    import lpips
    loss_fn = lpips.LPIPS(net='alex', version='0.1')  # AlexNet比VGG更鲁棒
    # 关键!禁用自动归一化——你的图若是[0,255],需手动转[-1,1]
    img_gen = (img_gen / 127.5) - 1.0
    img_ref = (img_ref / 127.5) - 1.0
    d = loss_fn(img_gen, img_ref)  # 返回tensor,需.item()取值
    

    注意:LPIPS值越小越好,但业务阈值需校准。我们测试发现,LPIPS<0.15时,95%用户无法分辨生成图与真实图;0.15-0.25为“专家可辨”;>0.25则明显失真。

CLIP Score与ImageReward:多模态时代的双刃剑
  • CLIP Score原理 :用CLIP模型编码图像和文本,计算余弦相似度。

  • ImageReward原理 :基于CLIP微调的奖励模型,直接预测人类偏好分数(0-100)。

  • 实战对比

    维度 CLIP Score ImageReward
    计算速度 快(单次<0.1s) 慢(单次>0.5s,需GPU)
    提示词敏感度 高(“红色汽车”vs“蓝色汽车”区分明显) 中(更关注整体协调性)
    风格偏差 严重(CLIP在艺术类提示上得分虚高) 较低(微调时注入风格平衡数据)
    业务适配 适合快速筛选 适合终审排序
  • 我的混合策略

    1. 初筛:用CLIP Score过滤掉相似度<0.2的“离谱”结果(如提示“猫”生成狗);
    2. 精排:对剩余结果用ImageReward打分,Top-3送人工审核;
    3. 关键技巧 :对CLIP Score,我们强制要求“文本嵌入”用prompt engineering优化——不直接输“a photo of a cat”,而用“a high-resolution DSLR photo of a fluffy ginger cat sitting on a wooden table, natural lighting”,提升语义精度。

3.3 音频生成:STOI、ESTOI、MCD——听不见的失真,如何量化?

STOI(Short-Time Objective Intelligibility):语音可懂度的黄金标准
  • 原理本质 :模拟人耳听觉机制,将语音分帧,计算生成语音与干净语音在时频域的相干性,输出0-1的可懂度分数。

  • 为何不可替代 :在助听器、远程会议等场景,可懂度直接决定用户体验。

  • 陷阱警示

    • 仅适用于语音 :对音乐、环境音无效;
    • 信噪比依赖 :在低信噪比(<0dB)下,STOI与主观评分相关性骤降;
    • 方言盲区 :标准STOI在粤语、闽南语上表现差,需用方言语音数据微调。
  • 实操配置(pystoi库)

    from pystoi.stoi import stoi
    # 关键参数:fs=16000(必须匹配音频采样率),extended=False(用标准STOI)
    score = stoi(clean_audio, enhanced_audio, fs=16000, extended=False)
    # 业务阈值:STOI>0.95为优秀(接近人声),0.85-0.95为可用,<0.85需重训
    
ESTOI(Extended STOI):低信噪比下的救星
  • 原理改进 :在STOI基础上,增加对低信噪比场景的加权,更贴近真实嘈杂环境。
  • 适用场景 :车载语音助手、工厂设备语音控制。
  • 实操要点 :当测试环境信噪比预计<5dB时,强制用ESTOI替代STOI。
MCD(Mel-Cepstral Distortion):音色保真度的精密仪表
  • 原理本质 :计算生成语音与原始语音梅尔倒谱系数(MFCC)的欧氏距离,反映音色差异。
  • 为何关键 :在虚拟主播、有声书生成中,用户对音色失真(如声音变尖、变闷)极度敏感。
  • 参数配置
    • MFCC维数:设为25(13维倒谱+12维delta),过低丢失细节,过高引入噪声;
    • 帧长:25ms(400点@16kHz),与人耳听觉窗匹配;
    • 业务阈值:MCD<5.0为优秀(专业播音级),5.0-7.0为可用,>7.0用户明显感知“不像本人”。

实操心得:音频评估必须“耳听为实”。我的铁律是——任何指标达标但人工盲听有3人以上指出“声音发紧/发虚/有嗡鸣”,立即回溯。曾有一个模型MCD=4.8,但盲听发现高频衰减,根源是GAN判别器对高频惩罚过重,调整判别器损失权重后解决。

3.4 多模态生成:TIFA、PickScore、Human Preference——当文字与图像开始“互证”

TIFA(Text-to-Image Faithfulness Assessment):专治“指鹿为马”
  • 原理本质 :用目标检测模型(YOLOv8)在生成图中检测提示词提及的物体,再用分割模型(SAM)验证物体属性(颜色、数量、位置)。
  • 为何革命性 :首次将“faithfulness”(忠实度)拆解为可量化的物体级指标。
  • 实操步骤
    1. 提示词解析:用spaCy提取名词短语(“一只棕色狗”→[dog, brown]);
    2. 物体检测:YOLOv8检测图中所有dog实例;
    3. 属性验证:对每个检测框,用SAM分割,再用CLIP计算分割区域与“brown”文本的相似度;
    4. 综合得分:(检测召回率 × 属性准确率)× 位置匹配度(IoU)。
  • 业务价值 :在电商图生图中,TIFA>0.85的图,用户点击率比TIFA<0.7的图高3.2倍。
PickScore:人类偏好的数据化翻译
  • 原理本质 :基于LAION-5B数据集,用对比学习训练的奖励模型,直接预测“人类更喜欢哪张图”。
  • 优势 :无需提示词,直接评估图像质量;
  • 局限 :对小众审美(如赛博朋克、水墨风)泛化弱;
  • 我的用法 :作为CLIP Score的补充,当两者冲突时,以PickScore为准——因它更贴近真实用户选择。
Human Preference(人类偏好测试):终极仲裁者,但必须科学设计
  • 为何不可省略 :所有自动指标都是代理,人类才是最终裁判。
  • 科学设计四原则
    1. 双盲 :评估者不知模型名称、训练细节;
    2. 成对比较 :每次只展示2张图(A/B),避免绝对评分偏差;
    3. 任务导向 :明确评估目标(如“哪张图更符合电商主图要求?”而非“哪张更好?”);
    4. 样本分层 :按提示词难度(简单/中等/困难)分组,避免简单提示主导结果。
  • 最小可行规模 :每组对比至少30人,置信度95%,误差<5%。我们用内部员工+外包平台,单次测试成本<¥200。

4. 从指标报表到上线决策:我的三级验证流程与常见问题排查

4.1 三级验证流程:让每一分指标提升都有业务回响

第一级:基础层验证(数学可信度)

目标:确认指标计算本身无bug,结果稳定可复现。

  • 执行清单
    1. 随机种子锁死 :所有评估脚本设置 torch.manual_seed(42) np.random.seed(42)
    2. 三次基准测试 :用同一模型、同一数据集跑3次,记录指标标准差。若FID波动>1.0或BLEU>0.5,暂停分析,先查数据加载/预处理代码;
    3. 极简案例验证 :构造1张纯白图+1张纯黑图,计算FID应≈100;生成10张完全相同的图,FID应≈0;否则特征提取器异常。
  • 我的工具 :自建 eval_checker.py ,自动执行上述三步,输出红/黄/绿灯报告。
第二级:对齐层验证(任务目标匹配)

目标:确认指标优化方向与业务需求一致。

  • 执行清单
    1. 指标-业务映射表 :为每个指标填写:
      • 对应业务目标(如FID→“用户觉得图真实”);
      • 可接受阈值(如FID<25);
      • 失效预警(如FID<20但人工投诉“背景太假”);
    2. 对抗样本测试 :故意制造“指标友好但业务灾难”的样本。例如:
      • 文本:生成100字摘要,内容全是“the the the...”,ROUGE会很高(n-gram重叠),但人工评分为0;
      • 图像:用高斯模糊处理真实图,FID可能变好(因特征更平滑),但显然更差。
        若指标无法识别此类样本,立即弃用;
    3. 梯度验证 :微调模型,观察指标变化是否与预期一致。如增加文本多样性损失,Self-BLEU应下降;若上升,则损失函数实现有误。
第三级:业务层验证(真实世界反馈)

目标:指标提升必须转化为可测量的业务价值。

  • 执行清单
    1. A/B测试绑定 :上线前,用5%流量跑A/B测试,核心指标必须包含:
      • 业务KPI(如电商图的CTR、停留时长);
      • 用户反馈(如“不喜欢此图”点击率);
      • 人工抽检(每日抽100张,3人盲评,计算Kappa一致性)。
    2. 归因分析模板 :当A/B测试结果与指标预测不符时,用此模板根因:
      • 是指标计算错误?(回溯第一级)
      • 是指标与业务错配?(回溯第二级,如FID好但用户要的是“风格独特”)
      • 是样本偏差?(A/B测试用户画像与训练数据分布不一致)
      • 是交互链路问题?(如生成图加载慢,用户没看到就离开)
    3. 灰度发布策略
      • 第1天:1%流量,监控核心业务指标;
      • 第2天:5%流量,增加用户反馈渠道(“此图是否符合预期?”弹窗);
      • 第3天:20%流量,启动人工抽检;
      • 全量:仅当连续3天业务指标提升且用户负反馈<0.5%时。

实操心得:我坚持“指标不驱动决策,只驱动调查”。当看到FID从25.3降到19.8,我不庆祝,而是立刻打开A/B测试后台看CTR曲线——如果CTR没变,说明提升的是“无关紧要的真实感”,马上转向优化其他维度。这让我避免了三次重大上线事故。

4.2 常见问题排查速查表:那些让你深夜抓狂的指标异常

问题现象 可能原因 排查步骤 解决方案 我的血泪教训
BLEU突然暴跌5+点 1. 数据预处理变更(如新增标点清洗)
2. 分词器版本升级
3. 参考摘要被意外截断
1. 检查 git diff 最近提交
2. 用同一数据集跑旧版代码
3. 打印前10条参考摘要长度
回滚预处理,或统一分词器版本 曾因spaCy从3.x升4.x,分词结果变化,BLEU虚降,浪费2天调试
FID值异常高(>100) 1. 图像未归一化到[-1,1]
2. 输入通道错误(RGB/BGR混用)
3. 特征提取器加载错误模型
1. 检查图像像素值范围
2. 用OpenCV读图后 cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
3. print(model.__class__) 确认
严格标准化预处理流水线 一次因PIL读图默认RGB,OpenCV读图BGR,特征错乱,FID飙到200+
CLIP Score与人工评价完全相反 1. 提示词未清洗(含特殊符号)
2. CLIP模型未加载到GPU
3. 文本编码时未添加 [CLS] 标记
1. prompt = prompt.strip().replace('\n',' ')
2. model.to('cuda')
3. 用 tokenizer.encode_plus 确保token格式
建立CLIP评估checklist 提示词含emoji时,CLIP tokenizer报错,静默返回空向量,Score=0
LPIPS值为nan 1. 图像含NaN值(预处理bug)
2. GPU显存不足导致计算溢出
1. torch.isnan(img).any()
2. 降低batch_size或改用CPU
在评估前强制 img = torch.clamp(img, -1, 1) 一次因归一化除零,图像出现inf,LPIPS崩溃
多模态指标(TIFA)全为0 1. YOLOv8未检测到任何物体
2. SAM分割失败(图像全黑/全白)
3. 提示词解析错误(未提取名词)
1. 可视化YOLO检测框
2. 检查SAM输入图像范围
3. 手动打印 spacy_nlp(prompt).noun_chunks
为YOLO添加低置信度检测(0.01),并用HSV色彩空间预处理增强物体对比度 黑色背景上的黑色物体,YOLO漏检,TIFA=0,实则生成正确

4.3 我的《指标诊断速查表》:19个高频指标一句话决策指南

指标名 适用领域 何时必用 何时慎用 何时弃用 业务阈值参考 我的备注
BLEU-4 文本 机器翻译初筛、摘要基础覆盖 法律/医疗等需术语精确场景 创意写作、诗歌生成 >25(翻译), >30(摘要) 看重n-gram重叠,不看事实性
ROUGE-L 文本 新闻/报告摘要,强调长句连贯性 短文本(<50字)生成 对话生成(需交互性) >0.55(新闻) LCS比BLEU更抗语序干扰
BERTScore-F1 文本 所有语义敏感任务,尤其需同义词匹配 领域外文本(如用通用BERT评医疗) 无参考生成(如故事续写) >0.85(领域适配后) 务必微调领域BERT
FactCC 文本
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐