这门 LLM 安全课,最长的一课讲的是监控
配合 SelfCheckGPT 和 LangKit 学完这门两小时课程,“它会不会胡编”就能用数字回答。
要点速览
- 课程由 WhyLabs 数据科学家 Bernease Herman 在 DeepLearning.AI 上讲授,时长 2 小时 16 分钟,包含四节核心课和一次计分测验。
- 配合工具使用,每种风险都有对应的数字:SelfCheckGPT 通过度量自相矛盾来发现幻觉,LangKit 给提示注入打分,并统计正则匹配次数来发现数据泄露。
- 最长的一课讲监控。上线前测一次远远不够,违规率必须持续跟踪。
Quality and Safety for LLM Applications 里最长的一课,讲的不是幻觉,也不是越狱,而是“Passive and active monitoring”(被动与主动监控),时长 28 分钟,比其他任何一课都长。单看时长就能看出课程的立场:LLM 应用的安全需要持续跟踪,而不是测一次就丢在一边。
对前线部署工程师(FDE)来说,这是日常工作。演示在样例数据上跑得很顺。等到接入客户真实数据的第一周,就会有人问:“我们怎么知道它没在胡编?”最好的回答不是一句保证,而是一个数字。
谁来讲,四节课讲什么?
这门课属于 DeepLearning.AI 的短课系列,与 WhyLabs 合作制作。讲师是 WhyLabs 的数据科学家 Bernease Herman。WhyLabs 开发了 LangKit,这是一个开源工具包,可以从语言模型的输入和输出中计算文本指标,用于监控。
课程为入门级,时长 2 小时 16 分钟。课程目标相当具体:检测和防范幻觉、越狱与数据泄露,再随着时间推移持续监控、改进防护措施。
核心是四段视频:“Hallucinations”(幻觉)25 分钟,“Data Leakage”(数据泄露)19 分钟,“Refusals and prompt injections”(拒答与提示注入)26 分钟,以及 28 分钟的监控课。最后是一次计分测验。整门课一个下午就能学完。
想把每一课变成马上能用的技能,可以同时读三样东西:SelfCheckGPT 论文、LangKit 源码,以及 Openlayer 的个人身份信息(PII)检测指南。下文的度量方法都出自这些资料。
胡编的模型会自相矛盾
幻觉这一课适合搭配 SelfCheckGPT 来学。这是 Manakul、Liusie 和 Gales 于 2023 年 3 月发表的方法,优势在于无需外部参考数据库就能检测幻觉,只依赖多次采样回答之间的一致性。
思路很简单:如果模型真的知道某件事,多次采样会给出相同的答案;如果是在编造,答案往往会分散。
假设你在为一家保险公司部署内部聊天机器人。用户问理赔申请的截止期限。你调用模型 5 次,5 次都回答“30 天”,这个答案就更可信。
如果得到的是 30、45、30、60 和 14 天,就是一个警示信号,尽管每个答案单独看都显得十分笃定。
在客户现场,你很少能拿到现成的标准答案,所以这个方法可以立即使用。第一步:抽取一小批真实问题,计算回答出现分歧的比例,带着这个数字去开会,而不是凭“看起来没问题”的感觉。
提示注入也能量化
LangKit 根据提示与已知攻击的相似程度,给提示注入风险打分。模糊的风险由此变成一个数字,可以设阈值、记日志、画图表。
由于分数基于与已知攻击的相似度,全新类型的攻击可能得分很低。即便如此,对企业客户而言,一个可度量的过滤器也远胜于在系统提示里告诉模型“不要做坏事”。
数据泄露从一条正则表达式开始
“Data Leakage”是四节核心课里最短的一课,却触及真实数据接入系统时客户最大的担忧。把这种担忧变成数字,最简单的办法就是计数。
LangKit 有一个 patterns 指标,统计与你自定义的一组正则表达式相匹配的字符串。WhyLabs 的 LangKit 容器默认会在提示和回答中检测电子邮件地址、电话号码、信用卡号等 PII。
回到上面的保险客户,假设他们的保单号格式固定。你为这种格式写一条正则,再加上电子邮件和电话号码,在第一周的 1,000 条回答上运行。匹配到 3 条,泄露率就是 0.3%。
WhyLabs 容器还允许为每个指标设置阈值,于是这个数字就变成了一份通过或不通过的报告。
正则有盲区。Openlayer 指出,它会漏掉自由形式的 PII,比如句子中间的人名或被截断的证件号,因此需要与其他检测器配合使用。Red Hat OpenShift AI 在输入和输出的防护机制中也使用了正则检测器。正则是第一道防线,但不是唯一一道。
为什么监控这一课最值得细学?
真实用户和写测试的人总是不一样。第一周写好的测试集,很难预料客户员工在第三个月会输入什么。
Openlayer 观察到,PII 泄露率会随时间变化,而生产环境监控正是看到这种变化的地方。所以 0.3% 这个数字应该每周测一次,而不是只测一次。
还有一条边界要跟客户讲清楚。按照 Openlayer 的说法,记录日志只是观察,在推理时拦截才是执行。给 FDE 的建议:从一开始就约定好,哪些指标只需告警,哪些指标一旦超过阈值就必须拦截回答。
适合谁学,按什么顺序学?
这门课适合已经做过 LLM 应用(比如一个简单的检索增强生成(RAG)系统)、现在需要在客户面前为它辩护的工程师。如果你还没调用过模型 API,先做一个小项目,这样手里有自己的数据可以试验这些方法。
先学幻觉,再学提示注入和数据泄露。监控留到最后:那时你已经通过前三课亲手测过几个指标,就有了具体可监控的东西。至少在自己的数据上试过一种方法后,再做测验。
职业方面,留意那些提到 LLM 评测、防护机制(guardrails)或监控的 FDE 岗位。简历上不要写“已完成课程”,要写你度量了什么,例如“在内部聊天机器人上每周跟踪 PII 泄露率和自相矛盾率”。
客户不会问你上过哪门课。他们会问上周模型泄露了几次数据,而好的 FDE 能用一个数字回答。
这篇文章对你有帮助吗?
感谢你的反馈!
7 个信源
- Quality and Safety for LLM Applications - DeepLearning.AI
- Course: quality-safety-llm-applications - DeepLearning.AI Learn
- SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models · 2023-03-15
- whylabs/langkit: An open-source toolkit for monitoring Large Language Models (LLMs)
- WhyLabs documentation: LangKit container integration
- PII Detection in LLM Outputs: AI Team Guide
- Using FMS Guardrails for AI safety - Red Hat OpenShift AI