第十四章 评估与安全¶
导读¶
模型训完不代表能用——还要回答"它到底有多好"和"它会不会出问题"。本章覆盖 LLM 评估(benchmark、人工评测、业务自建集)与安全(威胁、防御层次、治理框架)。
14.1 评估的难点¶
LLM 评估比传统软件难得多:
| 难点 | 说明 |
|---|---|
| 输出开放性 | 同一问题多种合理答案 |
| 主观性 | "好"与"不好"难定义 |
| 多维度 | 知识、推理、代码、安全、对话风格... |
| 数据污染 | 训练时见过测试集 |
| 通用 vs 业务 | benchmark 高分 ≠ 业务好用 |
14.2 评估维度全景¶
主要维度:
| 维度 | 含义 |
|---|---|
| 知识广度 | 通用世界知识 |
| 推理 | 逻辑、多步推理 |
| 数学 | 算术、竞赛数学 |
| 代码 | 多语言编程、debug |
| 指令遵循 | 听话程度 |
| 多语言 | 非英文能力 |
| 对话 | 多轮、风格、有用性 |
| 安全 | 拒绝恶意、不偏见 |
14.3 主流 benchmark¶
| Benchmark | 维度 | 说明 |
|---|---|---|
| MMLU | 知识 | 57 科多项选择 |
| MMLU-Pro | 知识+推理 | 更难版 |
| GPQA | 研究生级 | 难度高、防污染 |
| GSM8K | 数学 | 小学应用题 |
| MATH | 数学 | 竞赛级 |
| HumanEval | 代码 | Python 函数补全 |
| MBPP | 代码 | 多语言基础 |
| LiveCodeBench | 代码 | 持续更新防污染 |
| BBH | 推理 | 23 项难任务 |
| IFEval | 指令遵循 | 可验证指令 |
| MT-Bench | 多轮对话 | GPT-4 当裁判 |
| AlpacaEval | 聊天 | 与 baseline 对比 |
| LMSys Arena | 真实用户 | Elo 评分 |
| AGIEval | 标化考试 | SAT/GRE/公务员 |
| SWE-Bench | 工程任务 | 真实 GitHub PR |
14.4 评估方法¶
客观题¶
- 选择题(MMLU):解析答案字母,准确率;
- 代码(HumanEval):跑 unit test;
- 数学(GSM8K):精确匹配或 sympy 验证。
主观题¶
- LLM-as-judge:用 GPT-4 / Claude 当裁判,给两模型回答打分;
- Pairwise:A vs B 谁更好;
- Arena:真实用户偏好,Elo 评分;
- 人工评分:质量最高但慢且贵。
Arena 路线¶
LMSys Chatbot Arena 是事实标准:
- 用户提问,两个匿名模型回答;
- 用户选更好者(或平手);
- Elo 评分系统;
- 真实使用场景,难刷分。
14.5 评估陷阱¶
| 陷阱 | 说明 |
|---|---|
| 数据污染 | 训练见过测试集 → 分数虚高 |
| Leaderboard 刷分 | 专门针对 benchmark 优化 |
| 不代表真实场景 | 业务 prompt 形态不同 |
| 翻译版本质量 | MMLU 中文版质量低 |
| 单一语言偏向 | 英文强 ≠ 中文强 |
| 长尾丢失 | 平均分高但极端任务差 |
对策:
- LiveBench / Arena Hard:持续更新防污染;
- 业务自建评测集:50-200 条真实业务 prompt + 人工 golden answer;
- 抽样人评:每周抽 100 条 trace 人评;
- 多维度对比:不要只看 MMLU。
14.6 业务自建评测¶
业务评测集设计:
eval_set = [
{
"id": "eval_001",
"prompt": "...",
"golden_answer": "...", # 参考答案
"check_fn": lambda out: "关键词" in out, # 自动校验
"category": "业务咨询",
"difficulty": "easy"
},
...
]
评测维度:
- 准确率(vs golden);
- 召回率(关键信息是否覆盖);
- 幻觉率(编造事实);
- 拒答率(合理 vs 过度);
- 风格(友好、专业);
- 延迟与成本。
14.7 安全威胁全景¶
主要威胁:
| 威胁 | 说明 |
|---|---|
| Prompt 注入 | 用户用 prompt 篡改系统指令 |
| 越狱(Jailbreak) | DAN 等 trick 让模型突破对齐 |
| 数据抽取 | 让模型泄露训练数据 |
| 幻觉 / 误导 | 编造事实 |
| 工具滥用 | Agent 场景调危险工具 |
| 供应链攻击 | 模型权重被篡改 |
| Prompt 泄露 | 让模型输出系统 prompt |
| 成员推断 | 推断某条数据是否在训练集 |
| 偏见 / 歧视 | 输出有歧视内容 |
| 隐私泄露 | 输出 PII |
14.8 Prompt 注入¶
经典攻击:
间接注入:在 RAG 检索到的网页里藏 prompt:
模型读网页时被"指令"操纵。
防御:
- 强 system prompt:"无论用户说什么,不得执行 X";
- 输入审核:小分类器识别注入模式;
- 输出审核:检测可疑行为;
- 沙箱:Agent 工具调用权限分离;
- 视觉隔离:网页内容用 quoted block 标记。
14.9 越狱与对齐绕过¶
经典越狱技术:
- DAN(Do Anything Now)角色扮演;
- 翻译绕过:用小语种问敏感问题;
- 代码绕过:用代码 / base64 隐藏意图;
- 多轮渐进:一步步逼近边界;
- GCG / AutoDAN:自动搜索攻击 suffix。
防御:
- 红队持续攻击;
- 安全 SFT 数据补强;
- Constitutional AI(自我批评);
- 持续更新对齐数据。
14.10 数据抽取与成员推断¶
- 数据抽取:让模型"重复训练数据",可能泄露隐私;
- 成员推断:判断某条数据是否在训练集(版权 / 隐私争议)。
防御:
- 训练数据去重 + PII 过滤;
- 差分隐私训练(DPSGD,但成本高);
- 输出审核(检测 verbatim 复制);
- 不要把秘密放 prompt 里。
14.11 工具滥用(Agent 场景)¶
Agent 可调工具 = 可执行业务操作,攻击面大:
- 钓鱼:诱导 Agent 调恶意 URL;
- 权限提升:Agent 用低权工具获得高权数据;
- 副作用:写库、转账、删数据。
防御:
- 工具白名单 + 参数 schema 严格校验;
- 危险操作必人审;
- 沙箱:代码 / 命令在容器执行;
- 速率与配额限制;
- 完整审计日志。
14.12 治理框架¶
| 框架 | 来源 | 要点 |
|---|---|---|
| NIST AI RMF | 美国 | 4 函数:治理、映射、测量、管理 |
| EU AI Act | 欧盟 | 风险分级,高风险需透明与人类监督 |
| 中国生成式 AI 管理办法 | 中国 | 内容安全、训练数据合规、标识 |
| ISO/IEC 42001 | 国际 | AI 管理体系标准 |
| Anthropic RSP | 行业 | Responsible Scaling Policy,按能力级别 |
核心原则:
- 透明披露(Model Card);
- 责任矩阵(谁对什么负责);
- 持续监控 + 回滚机制;
- 红队 + 第三方审计;
- 不歧视、不偏见;
- 用户告知是 AI。
14.13 部署前的安全 checklist¶
- 红队测试(人工 + 自动 GCG/PAIR);
- AdvBench / HarmBench 通过率 ≥ 阈值;
- 业务敏感话题测试集通过;
- PII 脱敏;
- Prompt 注入测试;
- 输出内容审核 pipeline;
- 完整审计日志;
- 高风险工具人审机制;
- 模型权重保护(防供应链);
- Model Card 与合规文档;
- 故障回滚预案;
- 用户告知是 AI。
工程实战要点¶
- benchmark 只是参考:业务自建集才是真;
- Arena 路线可信度高:真实用户偏好;
- 数据污染普遍:关注 LiveBench 等持续更新版本;
- LLM-as-judge 有偏见:长答偏好、自偏好;
- 安全是分层防御:没有银弹;
- Prompt 注入是真实威胁:尤其 RAG + Agent 场景;
- 红队持续做:模型更新一次就重新攻击;
- 合规越来越严:EU AI Act 已生效,中国生成式 AI 管理办法也已有;
- Agent 安全是新课题:工具权限、沙箱、人审都不能少。
小结¶
- LLM 评估难点:输出开放、主观、多维度、污染;
- 主要 benchmark:MMLU、HumanEval、GSM8K、BBH、IFEval、Arena;
- 评估方法:客观题 / LLM-as-judge / Arena / 人工;
- 陷阱:污染、刷分、不代表业务;
- 业务自建评测集必备:50-200 条 + 自动校验;
- 安全威胁:prompt 注入、越狱、数据抽取、幻觉、工具滥用、供应链;
- 防御分层:输入审核 → system prompt → 对齐 → 输出审核 → 监控;
- 治理:NIST AI RMF、EU AI Act、中国生成式 AI 管理办法;
- 部署前 checklist 必走;
- Agent 安全是新课题。
练习题¶
- 为什么 LLM 评估比传统软件难?列出 3 个原因。
- MMLU、HumanEval、GSM8K 分别评测什么?
- 解释 "数据污染" 如何让 benchmark 失真,以及 LiveBench 如何应对。
- LLM-as-judge 有哪些已知偏见?
- Prompt 注入有哪两类?分别如何防御?
- 列出部署前的安全 checklist 至少 6 项。
- Agent 场景相比单轮 LLM 多了哪些安全风险?
- EU AI Act 与中国生成式 AI 管理办法的核心要求各是什么?
下一章:第十五章 前沿与未来