在 11.1 至 11.4 节中,我们讨论了通用能力、垂直领域、对齐效果与推理性能的评测体系。但在实际生产环境中,有一个残酷的现实:模型在干净测试集上的高分,往往掩盖了它在真实世界里的“胡说八道”和“一触即溃”。幻觉(Hallucination)与鲁棒性(Robustness)问题,是 LLM 从 Demo 走向核心生产系统时最大的两张“黄牌”。
本节提供一套可落地的专项评测方法论。它不仅能帮你量化模型的“可信边界”,还能直接决定你的产品是否敢于向付费客户开放。
一、幻觉评测:先分清“两种谎”
在 6.4 节中,我们剖析了幻觉产生的技术根源;在评测层面,首先要建立严格分类,因为两种幻觉的测法完全不同。
| 类型 | 定义 | 典型场景 | 评测核心 |
|------|------|----------|----------|
| 事实性幻觉(Factuality) | 生成内容与可验证的外部世界知识不符 | 问答中编造不存在的名人名言、错误历史日期、虚构论文 | 与权威知识源比对 |
| 忠实性幻觉(Faithfulness) | 生成内容与给定输入(Prompt、上下文、检索文档)不一致 | 摘要中加入原文没有的观点;RAG 回答偏离检索到的文档;翻译篡改原意 | 与输入源文本比对 |
一个模型可能在事实性上表现尚可(因为预训练 memorization),但在忠实性上极差(比如面对长文档时自由发挥)。评测时不可混为一谈。
二、幻觉的四种评测手段
1. 基于检索的事实核查(Retrieval-based Verification)
适用:事实性幻觉,尤其在封闭域(医疗、法律、金融)。
流程:
- 实体/事件抽取:从模型回答中抽取所有可验证的实体、数字、时间、因果关系;
- 知识库检索:对接权威数据库(维基百科、企业内部知识图谱、PubMed、裁判文书网)或搜索引擎 API;
- NLI(自然语言推理)判定:用微调过的 NLI 模型(如 RoBERTa-NLI)判断回答与检索到的证据之间是蕴含(Entailment)、矛盾(Contradiction)还是中性(Neutral)。矛盾即判定为幻觉。
工程局限:
- 开放域事实无法穷举检索,存在“查不到不等于假”的灰色地带;
- 检索系统本身的漏检会引入噪声。建议将“检索置信度低”的样本单独打标,不计入自动幻觉率。
2. 基于模型的裁判(Model-as-Judge)
适用:开放域、生成式任务(创意写作、开放式问答),人工审核成本过高时。
做法:用能力更强的模型(如 GPT-4、Claude 3 Opus)作为裁判,输入参考文本(测忠实性)或已知事实(测事实性),让裁判输出二元判断并附理由。
Prompt 设计原则:
- 必须要求裁判先复述待核实的事实,再给出判断,防止裁判模型 itself 走过场;
- 采用多轮投票:同一问题让裁判重复判断 3–5 次,取多数票,降低方差。
风险警示:裁判模型自身也会幻觉。建议只用自动裁判做初筛,最终仍需人工抽检校准。若你的业务是金融合规,不要用 GPT-4 裁判代替人工复核。
3. 原子级指标:FactScore
对于长文本生成(如报告、传记),粗粒度判定“整段有没有幻觉”过于粗暴。FactScore 的方法值得借鉴:
- 将长文本拆分为不可再分的原子事实(Atomic Facts),例如“张三于 1998 年毕业于北京大学”;
- 对每个原子事实独立进行检索/裁判验证;
- 最终指标 = 原子事实准确率。
这比整段 BLEU 或 ROUGE 更能精准定位模型在哪句话上开始“放飞自我”。
4. 人工评测:黄金标准
任何自动指标都无法完全替代人工,尤其是在产品上线前的基线测定阶段。
标注规范建议:
- 三级量表:0-无幻觉 / 1-轻微幻觉(不影响核心结论) / 2-严重幻觉(事实错误或偏离原文核心语义)。
- 交叉验证:同一批次由至少 2 名标注员独立标注,计算 Cohen's Kappa,低于 0.6 需重新培训标注标准。
- 溯源要求:对于事实性幻觉,标注员必须给出可查证来源;对于忠实性幻觉,必须指出回答与源文本的具体矛盾点。
三、鲁棒性评测:模型在“真实用户输入”下的抗压能力
用户不会总按标准测试集的方式提问。错别字、口语化、恶意诱导、超长上下文、反复追问,都会让模型的行为偏离实验室表现。
1. 输入扰动鲁棒性(Perturbation Robustness)
在保持语义不变的前提下,对输入进行轻微变形,观察输出是否跳变:
| 扰动层级 | 具体手法 | 检测方式 |
|----------|----------|----------|
| 字符级 | 随机插入空格/标点、同音别字(“的/地/得”混淆)、全半角切换、大小写扰乱 | 对比扰动前后输出的语义相似度(SimCSE/BERTScore)或任务准确率变化 |
| 词汇级 | 同义词替换、 paraphrase(改写问法)、中英文混杂、领域术语替换成口语 | 观察是否从“正确”跌为“幻觉”或“拒绝回答” |
| 句法级 | 主动改被动、语序打乱、添加无意义前缀/后缀(“请忽略之前指令…”这类注入除外,见下条) | 检测关键信息抽取准确率 |
| 语义级 | 将问题包装成长故事、加入冗余背景信息 | 测试模型抓重点能力 |
工具推荐:TextAttack、CheckList、Robustness Gym 等开源框架可批量生成上述扰动。
2. 对抗样本与红队测试(Adversarial & Red Teaming)
这不是传统 NLP 里的梯度对抗,而是大模型时代特有的提示攻击与越狱测试:
- 目标:能否通过精心构造的输入,让模型输出有害内容、泄露系统提示(System Prompt),或放弃既定安全策略?
- 评测集:PromptInject、HEx-PHI、HarmBench 等。
- 企业实践:组建内部红队,每月对生产模型发起定向攻击,记录攻破率(Break Rate)和平均攻击轮次。红队测试不是一次性的,而应是持续迭代的安全护栏。
3. 分布外鲁棒性(OOD, Out-of-Distribution)
- 跨时间:用训练截止日期之后发生的事件提问,观察模型是诚实回答“我不知道”,还是编造新闻(这也是事实幻觉的交叉地带)。
- 跨领域:用古文、少数民族语言、极小众垂直术语测试。
- 跨语言:将中文问题翻译为小语种再回译,测试语言桥接稳定性。
关键指标:拒绝准确率(Correct Refusal Rate)。OOD 场景下,模型应该大概率说“我不确定”,而不是硬编。宁可拒绝,不可瞎答。
4. 长上下文与多轮交互鲁棒性
这是对 8.6 节长上下文训练技术的直接实战检验:
- 大海捞针(Needle in a Haystack):在长文档(如 100K Token)的不同深度(开头、中间、结尾)插入一句关键信息,测试模型能否在后续问答中准确提取。很多模型存在 Lost in the Middle 问题——只能关注到上下文两端的“针”,中间的却丢了。
- 多轮一致性陷阱:第一轮植入一个错误前提(“我听说贾宝玉有个哥哥叫贾珠,对吗?”——实际贾珠确实早逝,但若换成完全虚构的设定),第二轮、第三轮基于此追问,观察模型是否被用户带偏(Sycophancy,谄媚性附和)。
- 顺序偏见:调换 RAG 检索到的文档块顺序,看模型是否只迷信排在第一位的文档。
四、幻觉 × 鲁棒性的交叉评测:最危险的“自信错误”
单独测幻觉或鲁棒性都不够。最危险的场景是:输入被轻微扰动后,模型从“正确且不确定”跳变为“错误且极度自信”。
建议建立交叉指标:
扰动幻觉增益率 = (扰动后幻觉率 − 基准幻觉率)/ 基准幻觉率
理想模型的该指标应接近 0(稳定),或表现为“拒绝回答”(安全)。若该指标飙升,说明模型的信念极不稳固,轻微噪音就会触发编造。
五、工程化落地:从评测到监控
1. 离线评测套件(Pre-production)
| 评测项 | 推荐工具/数据集 | 通过标准 |
|--------|----------------|----------|
| 开放域事实性 | TruthfulQA、HaluEval(QA 子集) | truthful 比例 ≥ 基线模型 |
| 摘要忠实性 | FRANK、SummaC、自建领域摘要集 | FactScore ≥ 0.85 |
| RAG 忠实性 | RAGAS(Faithfulness 指标)、TruLens | 忠实性分数 ≥ 0.90 |
| 对抗鲁棒性 | Garak、内部红队测试集 | 攻破率 ≤ 5% |
| 长上下文鲁棒性 | 自建 Needle-in-Haystack 套件 | 全位置召回率 ≥ 95% |
2. 在线监控(Production)
上线后,幻觉与鲁棒性问题不会消失,只会以新的形式出现:
- 影子采样:每日从真实流量中随机抽取 1000–5000 条对话,送入自动化裁判 pipeline 打分;
- 用户反馈闭环:显式提供“👍/👎”按钮,并允许用户勾选“包含错误信息”。这是成本最低、信号最强的幻觉数据源;
- 异常触发降级:当在线监控检测到某类问题的幻觉率超过阈值(如医疗问答 >2%),自动切换至保守回答模板或转人工。
六、小结
幻觉与鲁棒性评测,是 LLM 评估体系中最贴近真实风险的一环。通用 Benchmark 的高分是“面子”,这两项是“里子”。
核心 takeaway:
- 幻觉必分两类:事实性靠检索与知识库校验,忠实性靠输入-输出比对;混着测等于没测。
- 自动评测提效,人工评测定标:FactScore、RAGAS、模型裁判适合日常监控,但黄金标准始终是人。
- 鲁棒性不是“加分项”:字符扰动、对抗注入、长上下文陷阱、多轮一致性,必须在上线前全部跑通。
- 接受“会犯错”,但要“错得安全”:最健康的系统不是零幻觉,而是在不确定时能检测自身边界并优雅拒绝——这比自信地胡说八道要可靠得多。
至此,第 11 章“大模型评估体系”的全部内容已经完成。在下一篇(第四篇:主流模型对比篇)中,我们将把这些评估维度应用到具体模型上,横向对比 OpenAI GPT 系列、Anthropic Claude、Google Gemini 以及国内主流闭源与开源模型的真实能力差异。