哈佛-CS249r-机器学习系统第二卷-七-
哈佛 CS249r:机器学习系统第二卷(七)
原文:Machine-Learning-Systems-Vol2
译者:飞龙
| 模式 | 可能原因 |
| --- | --- |
| 所有推荐系统模型性能下降 | 特征存储问题 |
| 所有视觉模型性能下降 | 图像预处理管道 |
| 单个模型性能下降 | 模型特定问题 |
| 地理模式 | 区域基础设施 |
| 基于时间的模式 | 批处理作业调度 |
表 12.37:跨模型故障模式:在平台规模下,同时发生性能下降的模型模式直接指向负责的共享基础设施层。所有推荐系统的相关性能下降指向特征存储;所有视觉模型的性能下降指向图像预处理管道;单个模型的性能下降则将问题孤立到该模型上。
运行手册开发
当时间紧迫时,如果它能保持诊断顺序,那么这个运维手册就值得被使用。对于机器学习系统而言,正确的诊断顺序正好与基础设施直觉所建议的相反:机器学习系统会静默失败。当特征管道停滞时,特征值会变得陈旧,而模型仍在处理这些陈旧特征,同时以正常延迟返回 HTTP 200 响应——预测质量在不知不觉中下降,基础设施检查看起来却是绿色的。因此,机器学习运维手册必须首先从数据和语义健康开始:验证特征的新鲜度,确认输入分布与训练数据一致,并检查模型版本是否最近发生了变化。只有在确认数据和模型行为完好之后,运维手册才能深入到基础设施检查。如果延迟和错误率正常,但业务关键绩效指标(KPIs)却下降了,那么运维手册必须立即指引响应者检查特征新鲜度和分布漂移,而不要先进行任何基础设施调查。这种顺序从用户可见的症状出发,先检测数据和语义依赖再检查基础设施,并在事件发生前命名升级阈值,这样即使在压力下,响应者也总是知道下一步该运行哪个测试,而不是仅仅检查哪个系统。
可重用的结构是诊断流程,而非文档模板。针对推荐参与度下降的情况,响应者每次都应遵循同样的控制循环。表 12.38 列出了在压力下保持该顺序的控制问题。
| 步骤 || 问题 || 示例证据 |
| --- | --- | --- | --- |
| 检测用户影响 || 哪个产品或队列出现了性能下降? || 点击率、转化率、留存率、收入或投诉率 |
| 定位依赖 || 是否有共享服务对许多模型发生了变化? || 特征新鲜度、模型注册表、区域健康状况 |
| 限制影响范围 || 流量是否可以被减少、影子部署或回滚? || 金丝雀指标、回滚目标、服务饱和度 |
| 依据证据升级 || 哪个团队负责失效的控制? || 数据管道、平台、服务或模型所有者 |
| 从差距中学习 || 哪个缺失的信号本可以更早发现问题? || 新鲜度门禁、切片告警、部署防护栏 |
表 12.38:运维手册诊断流程:机器学习运维手册应保持从症状到依赖再到缓解的推理顺序。具体的仪表板名称可以更改,而不会使诊断模型失效。
运维手册的反模式有三种常见方式破坏诊断顺序。一条过于具体的指令,例如“如果 BERT 模型失败,重启容器”,只是编码了一次历史修复,而非可重用的调查。一条过于模糊的指令,例如“调查问题”,在最不合适的时刻将所有判断权交还给响应者。一个过时的运维手册比没有运维手册更糟,因为它会引导响应者指向已弃用的系统、失效的仪表板或过时的联系人。
事后复盘
事后复盘(PIRs)只有在将一次故障转化为更强的平台控制时,才能将事故转化为组织学习。事故记录应将持续时间和用户影响与检测、归因、缓解和恢复的时间线联系起来。根本原因应指出失效或缺失的控制,而纠正措施应明确责任人和截止时间,使得复盘能够改变平台,而不仅仅是记录停机。
有用的 PIR 字段是那些能够迫使控制决策的字段。持续时间和影响量化了严重程度;时间线暴露了检测和归因的延迟;根本原因指出了缺失的控制;纠正措施为下一次平台变更分配了所有权。在特征新鲜度事故中,最重要的观察结果不是磁盘已满,而是没有新鲜度门禁在参与度指标变化之前捕获到特征管道停滞。表 12.39 中的问题将这一时间线转化为平台工作。
| PIR 问题 || 应迫使的控制决策 |
| --- | --- | --- |
| 用户影响可见持续了多久? || 检测延迟或缓解延迟是否主导了此次事故。 |
| 哪个依赖项首先失效? || 失效的控制是否属于数据、平台、服务或模型代码。 |
| 哪个信号到达得太晚? || 是否需要新的新鲜度、切片、饱和度或金丝雀防护措施。 |
| 哪些措施本可以限制影响? || 回滚、流量影子部署、准入控制或回退机制是否缺失。 |
| 谁负责下一个控制? || 此次复盘是否在改变平台,而不仅仅是记录责任归属。 |
表 12.39:PIR 控制问题:当事后复盘能够将事故时间线转化为更强的平台不变量时,它才是有价值的。
有效的 PIR 需要心理安全和系统视角,而非个人责备。审查应确定哪些系统导致了事故,而非哪个人造成了它。应询问哪个信号本可以更早发现失败,而非为什么某个人漏掉了它。应防止此类故障的再次发生,而不仅仅是防止已经发生的确切故障。
调试分布式机器学习系统
分布式训练和推理将调试从单个失败进程转移到一组协同的 rank、设备和网络路径。操作员分类(triage)能够定位失败的 rank、集合或资源,使得合适的专家能够采取行动;深度性能调试随后使用 NCCL 日志、按 rank 的内存追踪和性能分析器来解释机制。
分布式故障诊断
通信是首先需要排除的故障类别,因为单个被阻塞的 rank 就可能导致整个分布式作业停滞。NCCL²⁴³ 集合操作可能会静默失败或无限期地挂起,而清单 12.8 展示了如何通过调试日志识别被阻塞的 rank。
清单 12.8:NCCL 调试日志:启用详细日志记录的环境变量,用于诊断集合通信卡顿和识别被阻塞的 rank。
当集合操作挂起时,诊断序列会先识别被阻塞的 rank,再检查局部原因:
-
识别哪些 rank 完成了操作,哪些被阻塞
-
检查问题 rank 之间的网络连通性
-
检查被阻塞 rank 的 GPU 内存压力
-
查找导致时序差异的不对称工作负载
在检查通信之后,相同的 rank 感知纪律也适用于模型状态和内存状态。大规模训练不稳定性通常表现为梯度问题,每种问题都有不同的诊断路径,如表 12.40 所总结:
| 症状 || 可能原因 || 诊断方法 |
| --- | --- | --- | --- |
| 损失为 NaN || 梯度爆炸 || 记录梯度范数 |
| 损失卡住 || 梯度消失 || 检查每层范数 |
| 收敛缓慢 || 学习率不匹配 || 与单 GPU 基准进行比较 |
| ランク分歧 || 非确定性 || 比较ランク特定的损失 |
表 12.40:梯度不稳定性诊断:大规模训练不稳定性表现为具有不同诊断特征的梯度问题。损失为 NaN 指示梯度爆炸(检查梯度范数);损失卡住指示梯度消失(逐层范数);收敛缓慢指示学习率不匹配(与单 GPU 基准比较);ランク分歧指示非确定性(比较ランク特定损失)。
OOM 错误同样需要按 rank 视角,因为总的内存使用掩盖了实际超过限制的设备。清单 12.9 用于跟踪每个 GPU rank 的内存分配、保留和峰值,以诊断分布式训练中的 OOM 错误。
清单 12.9:按 Rank 内存追踪:报告每个 GPU rank 上的已分配、已保留和峰值内存,用于诊断分布式训练中的 OOM 错误。
分布式训练中的内存泄漏通常源于应释放但未被释放的保留状态:
-
梯度累积缓冲区未释放 -
跨迭代的通信缓冲区未释放 -
激活检查点未正确释放
分析通过在排除通信和内存故障后显示哪个排名限制了吞吐量来闭合循环。清单 12.10 记录了带有同步的每个排名的概况。
清单 12.10:分布式分析:带有同步的每个排名分析,用于识别限制整体训练吞吐量的滞后排名。
最慢的排名决定了整体吞吐量,因此滞后诊断必须检查硬件、网络、数据和退化原因:
-
特定 GPU 上的热节流 -
特定交换机上的网络拥塞 -
各排名间数据加载不均 -
GPU 硬件退化
只有当值班路径将每种故障类别路由到能够快速处理它的负责人时,这些诊断才会变得可操作。
ML 团队的值班实践
ML 系统需要专门的值班实践,因为预测质量、数据新鲜度和依赖图与正常运行时间一起成为可靠性问题。上述调试部分解释了为什么一个事件可能始于业务指标异常,最终可能结束于特征管道、模型注册表或 NCCL 集体通信。值班设计必须使这种诊断负担可持续,以已建立的站点可靠性工程(SRE)²⁴⁴ 原则 (Beyer et al. 2016) 为基础。
ML 值班特有的结构性挑战在于解决一个事件所需的专业知识很少集中在一名工程师身上。一次 ML 生产事件可能需要 ML 平台工程师来诊断 Kubernetes GPU 调度器,数据工程师来追踪过时的特征管道,以及建模科学家来判断分布偏移是错误还是预期的概念漂移。传统的单角色值班轮班不适用于此,因为症状(降级的推荐指标)完全与根本原因领域(上游 Kafka 主题模式更改)脱钩。成熟的 ML 组织通过将值班构建为分层或域矩阵系统来应对这一挑战:一级响应者负责初步 triage 和升级,并有明确的升级路径通往数据工程、模型开发和平台基础设施作为领域专家。一级响应者的角色是在最初的 15 到 30 分钟内将事件路由到正确的领域,而不是能够独立解决每一类故障。
轮班设计决定了团队是否能够承担这种诊断负担。表 12.41 列出了反映行业实践的指南。该模式是具有冗余的有限连续性:短轮班限制倦怠,二级覆盖处理多领域事件,交接重叠保留上下文。
| 方面 || 建议 |
| --- | --- |
| 轮班长度 || 1 周(更短会导致上下文切换,更长会导致倦怠) |
| --- | --- |
| 主要 + 次要 || 始终有备份;ML 事件通常需要多位专家 |
| 交接重叠 || 30 分钟重叠用于事件上下文转移 |
| 跟随太阳 || 对于全球团队,按时区交接;最大 8 小时班次 |
表 12.41:值班轮班设计:ML 值班中轮班长度、主要/次要覆盖、交接重叠和跟随太阳交接的行业实践指南。这些建议在轮班长度(短轮班)导致的上下文切换成本与倦怠风险(长轮班)之间取得平衡,同时确保在复杂 ML 事件中存在专业知识重叠。
警报疲劳对值班效率构成持续风险。表现包括值班工程师忽略警报,假设为误报,增加确认时间,以及警报在未调查的情况下自动解决。缓解措施必须减少不导致 ML 特定操作的页面:
-
根据误报率每季度调整漂移、新鲜度、延迟和业务指标阈值。
-
将相关的模型、特征存储、服务和基础设施警报 deduplicate 到一个事件页面。
-
附加运行手册,识别每个警报的可能负责人和第一个诊断查询。
-
跟踪警报-行动比率;目标超过 80%。
除了通用的 SRE 技能外,ML 值班还需要解释模型质量指标,理解数据管道依赖关系,区分模型错误和数据漂移,并在压力下做出回滚还是调查的决定。减少琐事同样至关重要,因为反复的手动任务会消耗用于改进平台的容量。跟踪在反复手动任务上花费的时间,目标是将琐事占值班时间的比例降低到低于 25%。
常见的 ML 琐事通常在模型-平台边界累积:
-
手动重启失败的训练作业
-
手动批准例行部署
-
调查不需要行动的警报
-
生成重复报告
自动化是应对反复琐事的持久解决方案。每小时自动化开发,若能在每次事件中为每位值班人员节省 10 分钟,则在一个季度内即可回本。尽管有这些运营工具,但在尝试扩展 ML 运营时,常见的误解始终会导致工程团队偏离正确方向。
谬误和陷阱
大规模运行机器学习系统涉及反直觉的复杂度增长,导致常见的误解。工程师常假设运营实践与模型数量呈线性增长,而实际上模型之间的交互会产生组合复杂性,需要根本不同的平台架构。这些谬误和陷阱捕捉了浪费数百万运营成本的错误,导致模型群级联的生产故障,并阻止组织在初始原型之外有效部署机器学习。
谬误:运营复杂度与模型数量呈线性增长。
在生产环境中,由于模型间依赖,复杂度呈超线性增长:100 个模型会引入密集的依赖图,其中模型 A 依赖于使用来自模型 C 的嵌入的管道 B 的特征,使得孤立更新变得不可能。仅监控负担就能说明问题:100 个模型,每个模型有 10 个指标,误报率为 5%,每天会产生 14,400 条误报警报。支持 40 个模型并采用每模型运营实践的平台每月需要 1,600 工程小时(按 150 美元/小时计算,年成本为 288 万美元)。按模型的 CI/CD、监控和部署模式在规模上无法组合。
陷阱:对每个模型和每个指标应用独立警报。
全面的按模型警报必然导致警报疲劳。方程 12.11 建立,对于 N[tests] = 1000 个独立测试(100 模型 × 10 指标)且 α[fp] = 0.05,至少发生一次误警的概率 Pr (至少一次误警) = 1 − 0.95¹⁰⁰⁰ ≈ 1.0。操作人员会学会忽略噪音,真实事件会被掩盖。解决方案是分层监控:业务指标触发执行层关注,投资组合指标在相关模型间聚合,而模型特定指标用于调查而非主要警报。
谬误:平台投资可以等到组织达到 100+ 模型时再进行。
平台投资回报率及运营陷阱
概述
Figure 12.2 显示平台投资回报率在 20–50 模型 时变为正,而非 100+。零散做法带来的技术债务迅速叠加:维护 847 行 YAML 文件且无验证模式的 40 个模型 导致 35 % 的部署延迟;23 个预处理脚本 有 62 % 的重复度,每周需 12 工程师小时 进行调试。当组织达到 100 个模型 时,迁移成本将超过初始平台构建成本的 3–5 倍。每月需 40 小时 运维工作的 50 个模型 将使 $2M 平台投资在 12 个月 内实现收支平衡。
陷阱:统一化部署
无论风险配置如何,都采用统一的程序处理所有部署。
对所有模型更新采用相同的分阶段推出策略,要么会因低风险更改而造成过度负担,要么会因高风险更改而防护不足。Table 12.8 表明,欺诈检测 需要每小时更新并具备秒级快速回滚能力,而 LLMs 需要每月分阶段推出,回滚窗口为小时到天级。若欺诈模型无法在一小时内重新部署,将提供可被利用的漏洞;若 LLM 在未进行多天暗影测试的情况下部署,则可能在数百万次查询中引发安全违规。基于风险的策略应参考 Section 12.5 的模式:对对抗性模型采用即时回滚,对推荐系统采用金丝雀部署,对 LLMs 采用暗影部署。
谬误:单模型指标即可满足需求
单模型指标,如损失和准确率,在规模化时已足够。
在多模型平台上,系统级指标比单个模型性能更为重要。一个调用 10–50 个模型 的推荐集成模型,即使所有准确率指标保持名义值,也可能因上游检索模型延迟增加 20 ms 而出现 30 % 的延迟恶化。上游嵌入漂移可能同时导致 12 个下游模型 性能下降,这种失效模式在单模型准确率追踪中是不可见的。Section 12.6 建立了平台可观测性的要求:顶层需业务指标,协调层需投资组合指标,调查层需模型指标,基础层需基础设施指标。
陷阱:默认批处理管道
为简化架构,将所有特征默认采用批处理管道。
批处理管道因每日特征更新而忽视了数据陈旧的定量影响。新鲜度公式 T[available] - T[event] 表明,每日批处理导致 T[freshness] ≈ 12–24 小时;而流式管道可实现 T[freshness] ≈ 1–5 秒。Table 12.34 中的推荐系统示例量化了更新特征带来的参与度提升;而在欺诈检测场景中,一天老旧的特征将为对手提供 24 小时 的利用窗口。一个每周产生 $15M 收益且有 10% 来自机器学习的推荐平台,若通过实时特征使机器学习效果提升 15%,则每周可增收 $225K,这轻松覆盖了流式基础设施的成本。
谬误:技术债务的不可避免性
技术债务在规模化时是不可避免的,只有在阻碍关键工作时才应予以处理。
这一前提误解了技术债务的经济学。Section 12.2.3.2 定量阈值表明:部署速度超过 2 周(健康状态:< 1 天)反映配置复杂度;每 1,000 次部署的事故率超过 20 次(健康状态:< 5)反映测试债务;而苦役占容量的比例超过 50%(健康状态:< 20%)则反映自动化债务。仅监控债务,平均检测时间为 4.2 小时,每起事件成本 $50K,年均 15 起事件 则需 $750K 年度成本。将债务视为不可避免的组织,会看到苦役吞噬 70–80% 的工程能力,从而陷入恶性循环:团队仅能维持现有系统。
陷阱:定性化技术债务指标
让技术债务指标保持定性,直到苦役吞噬团队。
认为部署时间增长和苦役扩大是增长的必然“代价”的团队,会忽视平台边界已失效的运营信号。债务必须在仍可进行纠正时进行测量:部署提前期、事故频率、警报噪声、回滚延迟和苦役占比均为领先指标。识别这些陷阱即完成了 AI 舰队管理层的构建,随后讨论将转向安全。
摘要
机器学习规模化运营是机器学习舰队的“神经系统”。周边架构已从物理舰队基础,演进到分布式训练和服务机制,再到维持全球服务可靠性的运营和治理层。本章发展了维持该架构在数百个模型和数十亿设备上运行所需的管理层。
从管理单一模型到运营组织平台的转变代表了一种复杂性的质的飞跃。单模型运营实践无法组合;它们只会制造组合债务,而这种债务只能通过平台抽象来解决,如中心化注册表、具备集合感知的 CI/CD 和分层监控。
运营节奏必须匹配模型风险概况,从 LLMs 的分阶段、周期长的推出,到对抗性欺诈检测的秒级快速回滚。TCO 框架(TCO[ML] = C[train] + C[infer] + C[data] + C[iter])为战略投资决策提供了量化基础,揭示了成本结构如何从迭代主导(早期阶段)转向推理主导(生产规模),以及优化重点必须如何相应演进。最后,MLOps 的愿景延伸至边缘,解决“舰队版本偏斟”和“硬件-in-the-loop”验证需求,这些是管理数百万异构设备上智能所必需的。
本章的核心教训是:管理单一模型与管理数百个模型在质上存在差异。单一模型可以通过手动流程、临时监控和定制部署脚本来运维。但在组织规模下,这些实践在组合复杂性的重压下崩溃:200 个模型 配有独立的 CI/CD 管道、单独的警报配置和独立的成本追踪,将产生数千个运营表面,而没有任何团队能够维持。平台抽象是唯一可行的应对方式,它将单模型苦役转化为共享基础设施,使得每增加一个模型只带来边缘而非线性的运营成本。
内化此课题的从业者将获得战略优势。理解 TCO 经济学能够为基础设施投资提供量化论据,展示为何在 50 个模型 时,$2M 平台投资能在 12 个月 内实现收支平衡——通过消除冗余管道和降低事件响应成本。掌握分层监控能够将舰队级可观测性从愿望转变为工程纪律,揭露单模型仪表盘无法检测的跨模型失效。以部署速度、事故率和苦役比为依据量化平台投资回报率,能为领导决策提供所需证据。若缺乏这些能力,运营债务将悄然积累直至瘫痪组织:工程能力被维持工作吞噬,而竞争对手则通过构建平台实现更快迭代。
- 单一模型不是单位:在组合规模下,运营对象变为模型、特征、管道、警报和所有者的依赖图。注册表、血缘关系以及具备集合感知的 CI/CD 能够防止局部更新悄悄破坏下游消费者。
平台将繁琐工作边际化
摘要中 50 个模型、200 万美元的平台示例展示了为什么当重复的管道、事件响应和人工协调被移除时,共享基础设施会带来回报。经济收益不在于优雅;每增加一个模型的部署和维护成本都会降低。
所有权成本选择目标
拥有成本方程将训练、推理、数据和迭代成本分离,主导项会随着系统生命周期的变化而变化。早期车队应购买速度;成熟的高流量车队应购买服务效率、利用率和成本归因。
监控必须聚合信号
当每个模型独立发出故障时,单模型仪表板和警报会因噪声而失效。分层遥测、全队异常检测和特征质量门限能在警报疲劳掩盖之前使共同原因事件可见。
运营触及边缘
模型车队不会止步于数据中心。数周的推出、硬件-in-the-loop 验证、版本偏差和异构设备故障使得边缘部署成为与云端 CI/CD 同一平台纪律的一部分。
本章的惊人主张是:运营不会自动扩展,至少不是免费的。原因在于组合爆炸:车队的负担更少由单个模型驱动,而更多由它们之间的交互驱动,因此除非有某种因素打破这种耦合,否则工作量的增长速度将超过模型数量的增长。平台就是这种打破耦合的因素。通过让车队而非模型成为被构建、被监控和被付费的单元,它将每个新模型从固定税转变为边际成本。否则,劳累将不断累积,直到维护消耗掉原本用于构建下一事物的能力,此时组织可能站在技术前沿,却因运营而瘫痪。
运营机制现在已就位。平台经济学、车队监控、边缘部署和 FinOps 治理使得数百个模型保持可靠和可观测。然而,可靠性和可观测性却无法说明对抗情况。车队暴露的每个模型端点都可能被探测以进行模型提取或规避,每个共享管道都可能被投毒,每个训练语料库和遥测流都是隐私负担。第 13 章将讨论这种暴露问题,探讨当车队规模化运行时,如何保护其模型、数据和用户。
此处用于确保在每个部分开始前正确插入测验。
-
组织应如何判断平台投资何时比继续按模型运营更具成本效益?
-
平台抽象应如何保留训练、服务、边缘和容错所暴露的 C³ 约束,而不是掩盖它们?
-
何种血统和发布门禁结构能够防止某个模型、数据或特征的变更 silently 地破坏依赖系统?
-
监控应如何在不造成警报疲劳或丢失模型特定故障的情况下聚合车队级信号?
负责任车队原则
第一至第三部分构建了机器学习车队,协调其训练并优化其部署。第四部分建立了负责任车队:即决定车队是否安全服务用户或造成伤害的工程层。安全、隐私、鲁棒性和可持续性是工程约束,其物理和数学力量与带宽、功率或延迟相当。
车队中最艰难的工程领域是社会技术反馈循环。偏见无法通过单一算法修复,模型也无法通过单一算法得到保障。负责任的运营需要围绕车队的监控、验证和治理系统。忽视这些约束的系统将在运营中失败:可能因监管停摆、安全漏洞或环境耗竭而倒塌。这些原则界定了规模化负责任工程的边界。
第一个边界是车队可能揭示的内容。
不变量
每个模型的输出都可能泄露其训练数据的信息。如果模型仍然有用,那么完美的隐私在数学上是不可能的。I(TrainingData; ModelOutput) > 0
这里,I(⋅; ⋅) 表示训练数据与可观测模型输出之间的互信息。
含义
隐私是一种预算,而非开关。一旦训练数据被记忆进权重,事后匿名化就无法实施。需要形式化隐私保证的系统应在适当时使用诸如差分隐私(DP)之类的机制:DP 为数据分析或训练过程量化有限的隐私损失,交互式查询系统必须考虑组合效应,并在系统耗尽分配的隐私预算时可能停止回答。
隐私定义了车队可能揭示的内容;鲁棒性定义了当输入被选择以利用其弱点时,其行为的可靠程度。
不变量
实现固有的对抗鲁棒性通常需要在扰动上进行训练;投影梯度下降(PGD)风格的对抗训练可能需要大约 5–10 倍的训练计算量,因为每个批次会运行多个内部攻击步骤。
含义
没有“免费”的鲁棒性。构建安全模型在计算上是昂贵的。对于许多应用,依赖外部防护栏(输入过滤、输出验证)比在模型权重中内嵌固有鲁棒性更为高效。
效率本身在车队规模下会成为陷阱。
不变量
降低资源成本的效率提升往往会增加而非减少该资源的总消耗。效率 ↑ ⟹ 成本 ↓ ⟹ 需求 ↑ ↑
含义
使模型效率提高 10× 可能导致总使用量增加到足以抵消甚至超过预期节能效果的程度。可持续性策略必须关注绝对限制(碳预算、可再生能源采购),而不仅仅关注速率效率(每瓦特 FLOP/s)。
负责任的运营还要求明确社会目标,因为即使每个指标都明确,统计保证也可能相互冲突。
不变量
对于在不同基础率群体上运行的非完美分类器,校准、均等机会和人口统计 parity 无法同时满足。Pr (Y = 1 ∣ A = a) ≠ Pr (Y = 1 ∣ A = b) ⟹ 需要权衡
这里,Y 是结果,A ∈ {a, b} 是群体属性。
含义
公平是一个无全局最优的约束满足问题。工程师必须将公平指标视为延迟预算:由利益相关者选择的明确权衡,由系统执行,并由系统监控以检测违规。有关不可能结果何时适用的完整论述(包括平凡分类器的边界情况),请参见第 16 章。
这些权衡不可能被一次性评估后固定,因为已部署的系统会改变其后来观测到的数据和激励机制。
不变量
已部署的模型会塑造其运行环境。未来数据t + 1 的概率分布p**t + 1 是模型过去决策f**t的函数。p**t + 1 = g(p**t, f**t)
这里,g 表示环境的响应函数,它将当前的数据分布和模型决策映射到下一个数据分布。
含义
系统需要闭环治理。一个在静态测试数据上最大化准确率的模型仍可能 degrade 它所运行的未来数据分布,放大偏置下一轮数据的激励机制,或 destabilize 其所监控的环境。可靠性要求建模反馈循环,而不仅仅是前馈推理。
Part IV follows the same constraint-driven logic as the rest of the volume. Security and privacy harden the fleet against attack and protect training data from leakage. Robustness asks whether model performance remains stable when inputs, environments, or adversaries change. Sustainability treats planetary-scale infrastructure as an energy and carbon system, not only a performance system. Responsible AI then connects those technical controls to institutional governance. Together, these chapters complete the engineering discipline that turns a capable fleet into a trustworthy one.
安全与隐私

目的
为何隐私和安全决定机器学习系统能否实现广泛采用与社会信任?
许多高价值的机器学习系统依赖个人数据、机构知识或行为模式,这在效用与保护之间产生张力,进而决定社会接受度。不同于仅临时处理数据的传统软件,机器学习系统从敏感信息中学习,并将模式嵌入持久模型,可能无意中泄露私人细节。这一能力带来系统性风险,超出单个隐私泄露,威胁机构信任、竞争优势以及民主治理。如果高性能模型因无法在不暴露敏感数据的情况下部署、无法抵御对抗性操纵、或无法满足监管对其所在领域的要求而无法使用,则其价值亦随之失效。隐私和安全不是系统运行后再添加的特性,而是决定系统能否在数据敏感性和对抗风险为不可协商约束的环境中工作的前提条件。用 C³ 的术语来说,安全与隐私改变了计算、通信和协同合约:仅有吞吐量已不再足够,除非每个边界同时保持机密性、完整性和可审计的控制。
-
通过正式定义、威胁模型和定量权衡,区分机器学习系统中的安全与隐私
-
从历史漏洞(Stuxnet、Jeep Cherokee、Mirai)中提炼适用于分布式机器学习基础设施的安全原则
-
分析模型盗窃、数据投毒、对抗样本和硬件漏洞等机器学习特有的攻击向量
-
以数学严谨性实现差分隐私,计算生产系统的隐私预算与准确性权衡
-
设计覆盖数据保护、模型安全、运行时监控和硬件信任机制的分层防御架构
-
对机器学习工作负载的硬件信任原语进行定量开销分析
-
应用成熟度模型,为特定威胁模型构建上下文适配的安全架构
扩展的攻击面
安全与隐私不是事后考虑,而是必须在分布式机器学习堆栈的每一层都进行工程化的结构性需求。舰队堆栈明确了这一义务:在舰队、分布式逻辑和服务基础设施投入运营后,治理层必须保护系统,使得全局舰队不被对手劫持、投毒或利用。
当传统数据库被攻破时,攻击者窃取记录。 当机器学习模型被攻破时,攻击者可能探查其记忆的训练示例,或悄悄投毒训练数据以植入仅在攻击者特定触发条件下激活的后门。机器学习系统根本改变了安全格局,因为它们不仅存储数据:它们对数据进行压缩、记忆并以传统确定性软件无法做到的方式进行行为。
运营平台管理数百个模型,跨分布式基础设施,这种全局覆盖形成了广阔的攻击面。分布式训练系统、边缘部署和多租户服务平台都引入了单机系统所没有的漏洞。梯度同步协议为信息泄漏和操控提供渠道。联邦聚合使模型更新暴露于拦截和推断攻击。多租户服务基础设施为模型提取和侧信道攻击提供机会。每一个实现规模的架构决策也都伴随需要系统防御的漏洞。
根本原因在于瞬时处理与持久学习的差异。传统软件确定性地处理数据后即丢弃;机器学习系统将训练数据中的模式提取并编码到持久的模型参数中。这种学习得到的知识表示会导致敏感信息被不经意记忆,随后通过模型输出或系统化查询被暴露。医疗模型可能通过精心构造的查询泄露患者信息,专有模型则可能通过策略性查询模式被逆向工程,威胁个人隐私和组织知识产权。
架构复杂性进一步放大这些挑战。现代机器学习部署横跨数据采集管道、分布式训练基础设施、模型服务系统和持续监控框架,每一环都引入独特的漏洞,如 Figure 13.1 在机器学习生命周期中所示。边缘节点的持续适配和联邦协作协议进一步扩展攻击面,同时使全面安全实现更加困难。
Figure 13.1: ML System Attack Surface:可视化机器学习生命周期中对手的潜在入口。防御需要多层次方法:保护数据收集(Data Layer)、确保权重与训练安全(Model Layer)、加固计算/网络/编排(Infrastructure Layer),以及验证框架、固件和硬件来源链(Supply Chain Layer)。
防御的第一步是区分常常共享同一词汇的两个关注点。安全关注对手如何窃取、操纵或禁用舰队;隐私关注即使系统按设计运行,敏感信息如何泄漏或被推断。将这两个问题分开,可决定每层应采用何种控制:针对对手路径的身份验证与隔离、发布链的来源追踪与监控、以及在学习参数携带数据痕迹的任何位置进行隐私核算。
安全和隐私是机器学习系统设计中常被混淆的不同关注点。两者通过不同机制保护系统和数据,针对不同威胁模型并需要不同的技术响应。区分二者是构建负责任的机器学习基础设施的指路灯。
安全的定义
机器学习中的安全聚焦于防御系统免受对抗行为。这包括保护模型参数、训练流水线、部署基础设施以及数据访问路径不被操纵或滥用。
Security 是一组系统属性(机密性、完整性和可用性),用于保护机器学习系统的数据、模型权重和推理流水线免受有意的对抗行为,涵盖基础设施层(网络入侵、凭证盗窃)和算法层(模型提取、提示注入、对抗样本)的防护。
-
重要性:安全故障同时作用于两个层面。在基础设施层,大型专有模型被盗代表直接的知识产权损失。在算法层,通过黑盒查询进行的模型提取能够恢复决策边界,或以训练成本的一小部分蒸馏出部署模型的功能性近似(第 13.4.1 节 量化了查询预算),从而绕过了投资和竞争护城河。任一故障都会导致铁律中
O(模型运营)项的业务价值崩塌。 -
区别:与通用鲁棒性(应对非预期环境变化导致的随机分布偏移)不同,安全应对的是有意的对抗性威胁,攻击者主动最大化针对性故障的概率,这要求进行最坏情况分析而非平均情况分析。
-
常见误区:一个常见的误解是传统 IT 安全(防火墙、访问控制、加密)足以保护 ML 系统。ML 引入了一个与基础设施正交的算法攻击面:一个包含对抗性输入或提示词注入的经过正常认证的 API 请求,会绕过所有网络层防御,并通过模型自身的学习函数操纵模型行为。
例如,部署在公共交通基础设施中的人脸识别系统,可能会成为对抗性输入的攻击目标,导致其错误识别个体或完全失效,这代表了一种运行时安全漏洞,同时威胁准确性和系统可用性。机密性-完整性-可用性三要素至关重要,因为每个属性维护着不同的系统契约:机密性保护数据和模型访问,完整性保护训练和推理行为的正确性,可用性保护服务在需要时不被禁用或降级。
隐私定义
安全应对对抗性威胁;隐私则侧重于限制 ML 系统中敏感信息的暴露和滥用。隐私保护涵盖训练数据、推理输入和模型输出,防止个人或专有信息泄露,即便系统正常运行且未发生显式攻击时也是如此。
隐私 是指在 ML 生命周期中,保护敏感信息免遭未经授权的披露、推断和滥用。
-
重要性:它限制了训练数据和用户输入的暴露风险。隐私保护技术(例如差分隐私)通常会引入效用-隐私权衡:增加隐私会给梯度添加“噪声”,这可能会增加达到目标准确性所需的总运算量(
O)。 -
区别:与机密性(侧重于访问控制)不同,ML 中的隐私侧重于推断风险:观察者从模型的输出或权重中重构敏感训练样本的能力。
-
常见误区:一个常见的误解是移除姓名(去标识化)足以保护隐私。现实中,神经网络是相关性引擎,可能会通过高维模式无意中记忆并泄露敏感数据的独特片段。
隐私失效不仅限于原始记录或显式标识符。当周边地理环境使个体和地点易于推断时,聚合的行为轨迹可能揭示敏感习惯。为参与推断提供严格形式化保证的是差分隐私,它通过添加校准噪声,使得当任何单个个体的记录被添加或移除时,输出分布仅在有界量内变化。这限制了对手对该个体参与或贡献的推断能力,但会以可衡量的准确性代价为代价。
问题:考虑在保证隐私预算 ϵ = 1 的前提下,计算 1000 名员工的平均工资。工资范围为 $0 到 $200,000。该机制必须添加多少噪声?
数学推导:
-
敏感度 (
Δf):单个人能改变总和的最大值为 $200,000。 -
隐私预算 (
ϵ):1。 -
拉普拉斯噪声尺度 (
b):标准机制添加对称随机噪声,其典型量级为敏感度除以隐私预算(第 13.8.1.2 节 完整阐述了该机制),因此b=Δf/ϵ= $200,000 / 1 = $200,000。 -
对均值的影响:均值估计噪声源于添加到总和上的噪声,其量级约为 $200,000。
- 人均噪声(平均)= $200,000 / 1000 = $200。
系统洞察:保护一个异常值会在平均值中引入 $200 的误差。对于 n[记录] = 100 的数据集,误差增长至 $2,000。差分隐私可能导致小 n[记录] 数据集的估计变得不稳定;它在数据集足够大、1/n[记录] 能抑制添加噪声时效果最佳。在 ML 训练语境中,工资平均值直接映射到跨小批量计算的梯度更新:被保护的“总和”是逐样本梯度之和,敏感度是任何单个训练样本能贡献的最大梯度范数(差分隐私随机梯度下降 DP-SGD 中的裁剪阈值),注入噪声按相同的 Δf/ϵ 比例缩放。在联邦学习中,保护单个用户高度异常的梯度不使其不成比例地偏移模型决策边界,在数学上等同于保护单个异常工资不使其扭曲报告的均值。
差分隐私量化了保护个体记录的统计成本,但生产级 ML 平台面临第二个正交成本轴。当多个租户共享 GPU 集群时,每个租户的数据和模型状态必须与其他租户的执行上下文隔离。这种隔离需要划分物理资源(SRAM、缓存行、计算切片),而非添加统计噪声,其开销以吞吐量损失而非方差增加来衡量。附录 C.2 汇总了单加速器基准吞吐量和分区数据,以便读据此将损失缩放至特定集群配置。
某平台团队使用多实例 GPU (MIG) 在单张 H100 上托管两个模型,以提供硬件级隔离。在独占 GPU 上,模型实现 1,000 tokens/秒。启用安全分区后,性能为 850 tokens/秒。这两个数字间的差距即为安全性能成本。
隔离需要专用硬件资源(SRAM、缓存)并增加上下文切换开销。吞吐量损失为 1,000 tokens - 850 tokens = 150 tokens/秒,隔离税率为 (150 tokens/1,000 tokens) = 15%。
系统洞察:安全是一种产能消耗。在此例中,为托管模型提供硬件分区消耗了 15% 的原始 GPU 吞吐量。在 ML 集群中,多租户是经济必要,但并非免费。工程师必须权衡数据敏感度是否值得牺牲这部分集群产能。对于公共 API,这种“税收”是降低一个租户的提示词或激活值泄露至另一租户执行上下文风险的代价之一。
安全与隐私
尽管它们在加密存储等某些领域有交集,但安全与隐私在目标、威胁模型以及典型缓解策略上有所不同。这种安全与隐私的区别至关重要,因为这两个领域针对不同的失效模式进行优化。Table 13.1 从六个维度对比了它们,展示了它们的不同目标如何塑造从业者必须考虑的具体关注点和防御措施。
| 方面 | 安全 | 隐私 |
| --- | --- | --- |
| 主要目标 | 防止未经授权的访问或干扰 | 限制敏感信息的暴露 |
| 威胁模型 | 对抗行为者(外部或内部) | 诚实但好奇的观察者或被动泄漏 |
| 典型关注点 | 模型窃取、投毒、规避攻击 | 数据泄露、重新识别、记忆 |
| 攻击示例 | 对抗性输入导致误分类 | 模型反演揭示训练数据 |
| 代表性防御 | 访问控制、对抗性训练 | 差分隐私、联邦学习 |
| 与法规的相关性 | 网络安全标准中得到强调 | 数据保护法律的核心(例如,GDPR) |
Table 13.1: 安全-隐私区别:机器学习系统需要针对安全和隐私采用不同的方法;安全缓解针对系统功能的对抗性威胁,而隐私则通过数据泄露或重新识别来保护敏感信息免受有意和无意的暴露。此表格澄清了不同的目标和威胁模型如何塑造每个领域的具体关注点和缓解策略。
只有当这种区别能够改变设计行为时,它才有用。本章的其余部分将安全和隐私视为耦合的系统约束:访问控制、密码学、可信执行和差分隐私解决不同的失效模式,但生产部署通常需要将它们组合起来,以使模型的保护不会暴露数据,而数据的保护不会禁用审计功能。
安全-隐私交互与权衡
尽管安全和隐私共享一些共同目标,但它们施加了不同的,有时甚至冲突的工程约束。
安全和隐私深度相关,但不是可以互换的。一个安全的系统通过限制对模型和数据的未授权访问来帮助维持隐私。保护隐私的设计可以通过减少攻击面来提高安全性;减少敏感数据的保留可降低系统被破坏时暴露的风险。
然而,它们也可能产生张力。像 differential privacy 这样的技术可以降低记忆风险,但可能降低模型效用。同样,加密增强了安全性,但可能掩盖透明度和审计性,使隐私合规变得复杂。设计者必须从整体上权衡这些取舍。
服务于医疗、金融和公共安全等敏感领域的系统必须同时防止滥用和过度暴露。这些关注点之间的边界决定了一个系统是否具有性能、可信度和法律合规性;随后的泄露历史表明,当这些理论上的张力被忽视时,它们会如何变成具体的失败。
从安全漏洞中学习
为跑步者构建的公开热图在稀疏的 GPS 轨迹勾勒出敏感地点周围的运动时,变成了军事情报泄漏。这一隐私失败与三个里程碑式的安全漏洞并列,因为每个案例都将一个抽象的控制目标转化为一个操作性约束:行为遥测可以识别个人,供应链妥协可以改变物理系统,隔离薄弱会暴露安全关键的控制路径,而默认凭据可以将廉价设备变成攻击基础设施。尽管这些事件中大多数并未直接针对机器学习系统,但每个失败模式都有一个直接类比,存在于训练管道、推理 API、边缘部署和隐私保护数据产品中。
背景:2018 年 1 月下旬,Strava 的全球活动热图——由大约 2700 万用户和约 10 亿上传活动的 GPS 轨迹构建的聚合可视化——被呈现为匿名化的高级运动数据(Russell 2018)。
失效模式:澳大利亚本科生 Nathan Ruser,在与联合冲突分析院合作期间,注意到叙利亚沙漠中明亮的慢跑轨迹与前方美军位置一致,并在推特上报告了这一发现。在稀疏环境中,聚合未能充分掩盖信息:热图揭示了叙利亚、阿富汗、伊拉克和尼日尔的秘密基地周界、补给路线和巡逻模式,以及内部人员的日常作息。
后果:国防部重新评估了消费者遥测如何泄露作战信息,而 Strava 修改了其产品——改进了隐私区域,限制了一些热图的可见性,并转向热图纳入的默认选择加入模式。
系统教训:隐私失败可能发生在没有姓名、密码或模型权重泄露的情况下。高维位置轨迹在上下文稀疏且对手能够将其与外部知识结合时仍然具有识别性;当聚合本身承载着底层行为的结构时,“匿名化”聚合本身毫无防御作用。
供应链妥协:Stuxnet
2010 年,Stuxnet²⁴⁵蠕虫通过链式四个零日²⁴⁶漏洞——一种价值数百万美元的武器——通过感染的 USB 媒体²⁴⁷进入 Windows 系统,然后传播到程序防空隔离²⁴⁸可编程逻辑控制器(PLCs)的 Siemens Step7 软件(Farwell and Rohozinski 2011)。它并未直接导致离心机崩溃,而是在向操作员报告正常遥测的同时改变控制参数,证明一个系统可能在看来健康的情况下被破坏。机器学习的类比非常精确:一个通过毒害训练数据或将后门模型注入可信仓库的攻击者,不需要崩溃推理服务器;在模型决策边界上的沉默偏移即可达到相同效果,同时逃避标准监控。
摄取公开包裹、数据集、模型权重或固件的机器学习供应链面临四个类似的攻击向量:被破坏的依赖项(PyPI 和 conda 仓库中的恶意包),公共平台上的毒害数据集,模型仓库中的后门模型权重,以及被篡改的加速器固件。高保障部署通常会结合模型制品的加密签名,用于训练数据和代码的不可变来源日志,部署前的后门自动扫描,以及在隔离训练环境中的受控依赖管理。Figure 13.2 映射了 Stuxnet 攻击链与机器学习供应链漏洞之间的这些类比。

Figure 13.2: Stuxnet:通过利用 Windows 和西门子软件漏洞来攻击 PLCs,演示了供应链妥协如何使数字恶意软件能够造成物理基础设施损坏。机器学习系统面临类似的风险,来源于被破坏的训练数据、后门依赖和被篡改的模型权重。
隔离不足:吉普切诺基黑客事件
安全研究人员通过利用车辆联网的 Uconnect 娱乐系统中的漏洞,远程入侵了吉普切诺基车的发动机、变速箱和制动系统——无需对汽车进行物理接入(Miller and Valasek 2015; Miller 2019)。该架构缺陷表现为隔离不足:娱乐系统与安全关键的 CAN 总线控制器共享网络路径。此事件引发了汽车历史上首次网络安全召回,影响了 140 万辆汽车²⁴⁹,并促使 NHTSA²⁵⁰ 发布具约束力的车辆网络安全最佳实践指南。
机器学习的启示直接而明确:任何推理 API 与安全关键执行器共享网络路径的部署——自动驾驶汽车感知模型、工业物联网异常检测器、医疗设备诊断系统——都将继承相同的漏洞类别。防御要求在推理平面和控制平面之间实施严格的网络分割,对 API 进行加密认证,在最小系统权限下采用沙箱化模型执行,以及当 ML 组件检测到异常或失去连接时,将执行器恢复至安全状态的故障安全默认设备。
武器化端点:Mirai 僵尸网络
2016 年,Mirai 僵尸网络²⁵¹ 攻破了超过 60 万台物联网设备——这些设备包括出厂时使用默认凭证的摄像头、DVR 和路由器——并将它们用于发动 1.2 Tbps 的 DDoS²⁵² 攻击,该攻击干扰了美国境内的主要互联网基础设施 (Antonakakis et al. 2017)。此次攻击展示了一个量化阈值:即使只有极少数联网设备出厂时携带默认密码,整体也可能成为可被武器化的基础设施。
对于机器学习边缘部署而言,威胁被放大。被攻破的 ML 设备所提供的能力远超原始带宽:智能摄像头可能外泄面部识别数据库,语音助手可能提取对话记录,且任何参与联邦学习的设备都可能成为投毒训练数据的来源。防御要求采用零信任边缘安全:通过硬件安全模块(HSMs)分配设备唯一密钥,采用带加密验证的安全启动,对 ML API 通信使用 TLS 1.3 或组织批准的当前等效方案,以及通过行为监测来检测异常推理模式。
Stuxnet、吉普切诺基和 Mirai 事件共同揭示了一种共同结构:攻击者利用系统管道中的特定表面——供应链、网络隔离边界或端点凭证——以系统设计者未将其建模为威胁的方式进行攻击。安全工程将这些事件转化为针对 ML 系统中每个表面的正式威胁模型,这些模型阐明了攻击经济学,从而决定哪些威胁在经济上可行,并制定相应的防御措施,其成本可针对威胁严重程度进行量化。
系统性威胁分析与风险评估
保护一个其攻击面涵盖系统将 ever 处理的每一张图像和每一个字的系统,需要与传统网络安全根本不同的方法。网络安全和用户认证仍然必要,但机器学习系统在算法层引入了攻击面:训练数据可能被操纵以植入后门,输入扰动可能利用学习到的决策边界,系统性 API 查询可能提取专有模型知识。
这些攻击向量中的每一个都需要一个形式化的 威胁模型,该模型需明确规定:攻击者的能力(他们可以访问什么),攻击者的目标(他们试图破坏什么),以及防御方的信息(哪些信号是可观测的)。系统性威胁分析将这些表面映射出来,并量化成本-效益计算,以判断哪些威胁在经济上对攻击者是可行的——从而确定哪些防御措施值得工程实施。
一个有用的威胁模型包含四个要素:资产、边界、攻击者和控制。资产定义了必须保持机密、完整或可用的内容。边界定义了信任发生变化的位置,例如训练数据与模型注册表之间、用户提示与系统指令之间,或租户工作负载与共享加速器之间。攻击者定义了能力和动机。控制定义了哪些信号、权限或隔离机制能够改变攻击者的经济成本。若缺少这些要素,风险矩阵将退化为单纯的恐惧清单,而非工程资源分配的工具。
威胁优先级框架
并非所有威胁在可能性和影响方面都同等重要,而安全资源始终是有限的。基于可能性和影响的优先级矩阵将威胁模型转化为资源分配决策:对可能性高且影响大的威胁实现防御自动化;为罕见但影响严重的故障做好准备;避免在低价值控制上浪费宝贵的工程时间。
在本章中,示例威胁说明了该矩阵如何改变工程优先级。高可能性/高影响的威胁——如联邦学习系统中的数据中毒——由于不受信任的训练来源普遍存在,且由此导致的模型妥协可能十分严重,因此应配备自动化防御。高可能性/低影响的威胁——如针对公开 API 的模型提取——同样常见且在技术上较为简单,但其主要后果可能是竞争劣势而非直接的安全或隐私失败,因此速率限制和 API 设计可能已足够。
低可能性象限则采取不同的处理方式。低可能性/高影响的威胁——如云端部署模型上的硬件旁道攻击——需要专门的攻击者以及对物理或基础设施的访问,但可能暴露所有模型参数和用户数据,因此在高价值部署中值得提前准备。在本矩阵所采用的公开 API 场景中,成员推理攻击²⁵³ 可能处于低可能性/低影响象限,而非直接完整性失效。这一定位具有情境性而非普遍性:当训练数据敏感、过拟合、联邦或受监管时,成员推理将升级为更高优先级的隐私威胁,并获得更强的控制措施。
该框架指导资源分配,正如 图 13.3 所总结:在此示例矩阵中,易于访问的威胁——如模型盗窃、数据中毒和对抗性攻击——应被优先处理,随后是更专业的硬件和基础设施漏洞。按照此顺序实施防御,可在假设的威胁模型下,实现每单位投入努力所带来的最大安全收益。

图 13.3:威胁优先级矩阵:一个 2×2 矩阵,按可能性和影响对机器学习威胁进行分类。高可能性/高影响的威胁(例如,数据中毒、提示注入)应配备自动化防御。低可能性/高影响的威胁(例如,硬件旁道)在高价值部署中值得提前准备。高可能性/低影响的威胁(例如,模型提取)通常可通过速率限制和 API 设计来应对。
机器学习系统的安全威胁建模
系统性威胁建模明确必须保护什么以及防御谁。它是一种结构化的安全分析方法,用于刻画攻击面并指导防御投资。对于机器学习系统,威胁建模必须考虑其对训练数据的依赖、统计决策边界以及分布式部署模式。
攻击面分析
ML 系统的攻击面
ML 系统的攻击面涵盖了对手可以与之交互或观察系统的所有点。与传统软件不同,传统软件的攻击面主要由输入接口和网络端点定义,而 ML 系统在其整个生命周期中暴露出攻击面。有用的分解方法是根据防御仍可发挥作用的层级:数据、模型、接口和基础设施各自暴露出不同的漏洞,并需要不同的控制措施。
训练数据管道
训练数据管道代表了学习系统独有的基本攻击面。对手可以瞄准数据或标签进入学习过程的五个点:
-
收集端点:原始数据通过应用日志、传感器、表单、API 或上传进入系统。
-
存储系统:训练语料库位于对象存储、数据仓库、特征存储或数据集注册表中。
-
预处理管道:转换作业在训练前对原始输入进行规范化、过滤、增强和连接。
-
标签生成:人工注释系统、弱标签规则和模型辅助标签创建模型学习的目标。
-
版本和血缘系统:数据集清单和溯源记录决定哪些数据快照成为发布的一部分。
数据层特别容易受到攻击,因为在此层的妥协可能嵌入持续的后门,这些后门能够经受住模型重新训练。进入训练管道的单个毒化数据源可能影响所有后续模型版本。
攻击面跨越数据、学习到的模型行为、接口和基础设施。
模型和基础设施攻击面
模型本身呈现出多个攻击面,覆盖训练基础设施、模型存储和版本控制系统、模型序列化和反序列化代码、超参数配置管理以及梯度计算和聚合过程。模型层的攻击可能通过在训练过程中嵌入特洛伊木马来破坏完整性,通过参数窃取提取知识产权,或通过权重中毒操纵行为。
已部署的模型通过推理 API 端点和负载均衡器、身份验证和授权系统、输入验证和预处理逻辑、输出格式化和响应生成以及监控和日志基础设施暴露出额外的攻击面。接口层是对抗性样本和模型提取攻击通常发生的地方。速率限制、输入验证和输出扰动在此层作为主要防御手段。
底层计算基础设施呈现出传统攻击面,并因 ML 特定问题而被放大,包括加速器固件和驱动程序、容器编排和调度系统、分布式训练节点之间的网络通信、密钥管理和机密基础设施,以及 ML 框架和依赖项的供应链。基础设施的妥协可能影响共享资源上运行的所有系统,使这一层成为多租户 ML 平台的关键。
威胁向量分类
威胁向量分类很重要,因为当攻击者仅具有 API 访问权限、部分设计知识或完全内部访问权限时,相同的模型故障需要不同的防御。三个轴是访问类型、知识水平和攻击时机。
访问类型
访问类型决定了防御必须隐藏多少信息:
-
黑盒访问:攻击者仅通过 API 与模型进行输入-输出交互。这使得通过预测 API 进行模型提取(Tramèr et al. 2016)以及基于查询或传递的对抗性攻击(Nicolas Papernot, McDaniel, and Goodfellow 2016)成为可能,但限制了攻击精度。
-
灰盒访问:攻击者具有部分知识,如模型架构、训练过程或数据集特征。这使得更有针对性的攻击成为可能,如可传递的对抗性示例。
-
白盒访问:攻击者对模型参数、架构和训练数据具有完整知识。这使得基于梯度的直接攻击成为可能(Goodfellow et al. 2014),并且如果模型文件被暴露,则可以直接复制权重。
系统对攻击者越透明,防御就越必须依赖鲁棒训练、工件保护和运行时监控,而不是依赖 obscurity(隐藏)。
知识水平
知识水平决定了攻击的专业程度。零知识对手在没有目标系统特定信息的情况下运行,依赖通用攻击技术。部分知识对手了解模型族、训练域或部署上下文。完全知识对手拥有系统的完整信息,包括训练数据、模型权重和部署配置。
时机
时机决定了防御仍可发挥作用的位置:
-
训练时攻击:数据中毒或后门注入在模型生成之前操纵学习过程。
-
部署时攻击:模型分发、序列化或安装在服务开始之前受到破坏。
-
推理时攻击:通过对抗性输入或提取查询利用已部署的模型。
-
部署后攻击:模型更新、监控系统或反馈环路在模型已经投入服务后成为目标。
因此,防御表面会随着模型生命周期而移动,从数据控制到工件完整性,再到服务时的约束。
威胁场景交集
这些维度的交集定义了特定的威胁场景。例如,黑盒、零知识、推理时的攻击代表了针对公共 API 的对抗性示例生成的常见情况。白盒、完全知识、训练时的攻击代表了内部人员在模型开发过程中注入后门的更严重情况。
防御策略框架
针对威胁模型识别出的威胁向量进行有效防御,需要采用分层策略,同时考虑对手能力,以应对每个攻击面。防御框架基于三个原则运作:防御纵深、最小化攻击面和故障安全默认值。
防御纵深
没有单一的防御机制能提供完全保护。防御纵深原则要求多个独立的层,使得 compromising(妥协)一层不会授予完全的系统访问权限。对于 ML 系统,这意味着将数据验证与模型鲁棒性技术相结合,访问控制与输出扰动相结合,以及软件防御与硬件安全机制相结合。
最小化攻击面
最小化攻击面原则从以下事实出发:每个暴露的接口、存储的工件和网络端点都代表一个潜在的攻击面。通过五种机制最小化不必要的暴露以降低风险:
-
限制 API 功能:仅暴露基本功能。
-
限制输出信息:截断置信度分数和其他高分辨率输出,这些输出会泄漏模型行为。
-
加密存储的资产:在静态时保护模型和训练数据。
-
隔离基础设施:将训练系统与推理系统分离,以防止横向移动。
-
审计访问:使用严格的权限和日志,使敏感操作可追溯。
最小暴露不会消除攻击,但它减少了攻击者在获得第一个立足点后可利用的信息和移动空间。
故障安全默认值
故障安全默认值原则要求系统在攻击成功或发生异常时,以保护安全而非可用性的方式失败。四个默认值使这一姿态具体化:
默认安全策略
-
拒绝可疑输入:不要将置信度降低的异常请求视为普通流量进行处理。
-
停止不安全训练:当数据质量指标显著下降时,停止训练。
-
撤销风险凭证:当出现异常使用模式时,撤销访问令牌。
-
隔离受损组件:隔离受影响的服务,防止横向移动。
当系统不再信任其输入、数据或执行状态时,这些默认设置会刻意牺牲可用性以换取遏制能力。
表 13.2 给出了从每个攻击面层到保护它的防御机制和检测方法的具体映射。数据防御验证溯源,模型防御保护学习到的行为和权重,API 防御控制查询暴露,基础设施防御锚定运行时信任。
| 攻击面 | 主要威胁 | 防御机制 | 检测方法 |
| :--- | :--- | :--- | :--- |
| 数据层 | 投毒、标签操纵、供应链妥协 | 输入验证、溯源追踪、安全数据管道 | 统计异常检测、数据质量监控 |
| 模型层 | 后门注入、参数窃取、特洛伊木马植入 | 安全训练环境、加密模型存储、访问控制 | 模型行为分析、权重分布监控 |
| API/接口层 | 对抗样本、模型提取、成员推理 | 输入清洗、速率限制、输出扰动、差分隐私 | 查询模式分析、置信度分布监控 |
| 基础设施层 | 侧信道攻击、固件妥协、供应链攻击 | 可信执行环境 (TEE)、安全启动、网络分段、依赖扫描 | 硬件性能监控、完整性验证 |
表 13.2:按攻击面划分的防御映射:ML 系统攻击面的每一层都需要特定的防御机制和检测方法。有效的安全性集成了跨所有层的保护,同时保持检测能力,以识别绕过预防控制的攻击。
威胁建模框架为本章其余部分探讨的具体攻击向量和防御技术提供了分析基础。系统地分析攻击面、分类威胁向量并映射防御,能够为特定的威胁模型和风险容忍度构建合适的安全架构。
一支团队检测到来自单个 IP 地址的大量 API 查询,这些查询正在系统性地探索欺诈检测模型的决策边界。
识别异常查询模式是良性用户还是主动提取攻击,是 ML 威胁评估的核心。结构化威胁模型提供了分析框架;下一个问题是特定攻击向量如何利用每一层来破坏模型的完整性和机密性。
模型特定攻击向量
一张贴有三块黑色胶带的停车标志,人类会将其识别为被破坏的停车标志,但自动驾驶汽车的视觉系统可能会自信地将其分类为限速标志。这不是传统意义上的软件 Bug;这是一个对抗样本。本节中的交通标志案例研究使物理版本具体化,但生命周期入口点决定了防御措施:训练数据、查询接口和运行时输入需要不同的控制。
这些攻击跨越 ML 生命周期,并直接映射到我们开发的威胁模型分类:针对模型机密性的威胁通过模型窃取针对部署和推理阶段,针对训练完整性的威胁通过投毒攻击针对数据收集和模型开发阶段,针对推理鲁棒性的威胁通过对抗样本利用运行时操作[²⁵⁴]。理解每种攻击发生的时间可指导在何处部署相应的防御。数据投毒[²⁵⁵]危害学习过程本身,而模型窃取和对抗攻击则针对已部署的系统。每个类别都需要与第 13.3.2 节中的攻击面分析相一致的独特防御策略。
理解不同攻击在 ML 生命周期中发生的时间和位置,有助于确定防御优先级并理解攻击者动机。图 13.4 直观展示了这些阶段以及攻击者在每个节点(从数据收集到模型部署和推理)使用的专门技术。上游威胁危害学习过程本身:攻击者可以在数据收集期间注入恶意样本或操纵标签,特别是在联邦学习或众包数据场景中,数据源控制较少;训练期间的后门植入可以嵌入仅在特定触发条件下激活的隐藏行为。下游威胁利用部署创建的接口:一旦训练好的模型可通过 API、文件下载或移动应用逆向工程访问,模型窃取就会变得更有吸引力,而对抗攻击则制造运行时输入,欺骗已部署模型做出错误预测,同时在人类观察者眼中看起来正常。
生命周期视角揭示了不同威胁需要不同的防御策略。数据验证保护收集阶段,安全训练环境保护训练阶段,访问控制和 API 设计保护部署,输入验保护推理。将攻击映射到生命周期阶段,使安全团队能够在正确的架构层实施适当的防御。
图 13.4:ML 生命周期威胁:模型窃取、数据投毒和对抗攻击针对机器学习生命周期的不同阶段(从数据摄取到模型部署和推理),在每一步都产生独特的漏洞。理解这些生命周期位置可阐明攻击面,并指导针对稳健 AI 系统的目标防御策略的开发。
生命周期视角将模型视为需要保护的资产,但也暴露了这些资产为何可能成为攻击策略的一部分。预训练模型,特别是大型生成或判别网络,可能被改编以自动执行任务,如对抗样本生成、钓鱼内容合成[²⁵⁶] 或协议颠覆。开源或公开可访问的模型可被微调用于恶意目的,包括冒充、监视或安全系统的逆向工程。本章在确立基本威胁类别后,将回到这一双重用途问题,首先从窃取模型价值的攻击开始。
模型窃取
模型提取 是一类攻击,对手仅拥有对已部署模型预测接口的黑盒查询访问权限,通过分析可观测输出恢复模型的参数、决策边界或行为。
威胁建模与模型保密性
1. 重要性
成功提取的成本通常比原始训练低几个数量级。已发表的演示表明,只需高保真度和适度的查询成本,即可从公共机器学习 API 恢复逻辑回归、神经网络和决策树模型(Tramèr et al. 2016),后续工作还重构了大语言模型的组件,包括 Carlini 等人(2024)研究的 OpenAI 部署模型,仅使用公共查询访问。本章节中的 BERT 提取示例说明了在 Transformer 模型上具有相同动态,查询成本仅为几十美元。
2. 区别
与直接窃取模型文件(需要入侵存储层)和模型反演(利用模型输出重建训练数据样本而非模型本身)不同,提取的攻击面是模型的查询接口,这使得它成为每个已部署 ML 服务在模型可达时由构造面临的威胁。
3. 常见陷阱
一个常见的误解是仅靠速率限制就足以防御。除非 API 还减少每次查询的输出信息、检测系统性探测并为查询定价以使提取在经济上不合理,否则攻击者愿意缓慢发出查询、跨账户分发请求或接受数月的攻击窗口,仍然可以提取模型。
针对保密性的第一类模型特定威胁。当对手获得训练模型的参数、架构或输出行为时,就会出现模型保密性威胁(Oliynyk et al. 2023)。这些攻击可能破坏机器学习系统的经济价值,允许竞争对手复制专有功能,或暴露编码在模型权重中的私密信息。
此类威胁出现在一系列部署环境中,包括公共 API²⁵⁷、云托管服务、设备端推理引擎和共享模型仓库²⁵⁸。预测接口可能泄露足以恢复模型功能的信号(Tramèr et al. 2016; Oliynyk et al. 2023),而分类器输出可能揭示关于训练集或学习结构的有意义信息(Ateniese et al. 2015)。不安全的序列化格式²⁵⁹和不充分的访问控制创造了单独的工件安全风险:它们可能直接暴露模型文件或部署包,而不仅仅是其可观察行为。
这些威胁的严重性由备受关注的法律案件凸显,这些案件突显了机器学习模型的战略和经济价值。例如,前 Google 工程师 Anthony Levandowski 被指控从 Waymo 窃取专有设计,包括其自动驾驶汽车技术的关键组件,随后创办了一家竞争性初创公司(The New York Times 2017)。此类案例说明了内部威胁绕过技术保护并获取敏感知识产权的可能性。
模型窃取的后果不仅限于经济损失。被盗模型可用于提取敏感信息、复制专有算法或实施进一步攻击。经济影响可能很大:研究估计表明,大语言模型的某些方面可以通过系统的 API 查询来近似,成本比原始训练低几个数量级,尽管完全复制模型在经济和技术上仍然具有挑战性(Tramèr et al. 2016; Carlini et al. 2024)。例如,从电商平台获取被盗推荐模型的竞争对手可能获得对客户行为、业务分析和嵌入商业秘密的洞察。该知识还可用于实施模型反演攻击²⁶⁰,攻击者试图推断模型训练数据的私密细节(Fredrikson et al. 2015)。
在模型反演攻击中,对手通过合法接口(如公共 API)查询模型并观察其输出。通过分析置信度分数或输出概率,攻击者可以优化输入以重建类似于模型训练集的数据。例如,用于安全访问的人脸识别模型可能被操纵以揭示其训练所用员工照片的统计特性。类似的漏洞已在 Netflix Prize 数据集²⁶¹的研究中得到证明,研究人员从匿名数据中推断了个人电影偏好(Narayanan and Shmatikov 2006)。
图 13.5 区分了需要不同控制的两个窃取目标。精确工件窃取是存储、注册表或设备安全故障:攻击者获取模型文件、检查点、注册表条目或设备工件,提取权重、架构或超参数,并可在不支付训练成本的情况下重建原始模型。近似行为窃取是接口安全故障:攻击者查询已部署的 API,记录标签、logits、嵌入或置信度分数,并训练代理模型来近似原始行为。精确窃取需要工件签名、加密、访问控制和安全部署路径;近似窃取需要输出限制、速率控制、查询审计、水印和定价,使提取在经济上无吸引力。具体架构漏洞因模型类型而异,与较简单的卷积或循环设计相比,更深的网络和基于注意力的架构呈现不同的攻击面。
图 13.5:模型窃取策略:精确工件窃取(左)获取模型文件、检查点、注册表条目或设备工件并重建原始模型。近似行为窃取(右)使用黑盒 API 查询、输出信号和代理训练或蒸馏来克隆模型行为,无需直接访问权重。
图 13.5 中的近似行为提取路径之所以变得实用,是因为黑盒查询成本可能远低于训练原始模型的成本。
背景
研究人员证明了 API 后的专有模型容易受到功能提取攻击。
设置
通过使用 200 万个精心设计的输入查询基于 BERT 的受害者 API(查询费用约 50 美元),他们训练了一个学生模型,在测试任务上实现了与受害者超过 97% 的一致性(Krishna et al. 2020)。这种模型窃取攻击利用了置信度分数和 logits 返回的高信息信号。
系统教训
当输出暴露过多决策边界信息时,API 访问可能足以复制知识产权。速率限制、查询审计和输出截断等防御措施是服务契约的一部分,而非可选的边界控制。
精确模型窃取
精确工件窃取针对模型的内部结构和学习参数。这些攻击针对通过 API 暴露、嵌入设备端推理引擎或作为可下载模型文件在协作平台上共享的已部署模型。通过利用弱访问控制、不安全的模型打包或无保护的部署接口,攻击者可以在不需要完全控制底层基础设施的情况下恢复专有模型资产。
这些攻击通常寻求三种类型的信息,因为每一种都能降低攻击者复制模型的成本:
-
已学习的参数:权重和偏置使攻击者能够在不支付原始训练成本的情况下复制模型的功能。
-
微调的超参数:学习率、批量大小和正则化设置减少了恢复相同质量所需的实验次数。
-
架构细节:层序列、激活函数和连接模式揭示了创建模型行为的设计选择,可能通过侧信道攻击²⁶²、逆向工程或可观测输出的分析来恢复。
API 或工件泄露的此类信息越多,攻击者剩余的工作量就越少。
系统设计者必须通过将工件安全与接口安全分离来应对这些风险。工件控制保护模型文件、注册表项和部署包;接口控制限制 API,降低输出精度,审计查询模式,并通过定价或限速访问,使行为提取在经济上更难以进行(Tramèr et al. 2016; Oliynyk et al. 2023)。
近似模型窃取
近似行为窃取在不触及模型参数或架构的情况下,重建模型的决策能力。攻击者通过观察模型的输入和输出,构建一个在相同任务上表现相似的替代模型。
这种窃取通常针对通过 API 暴露或嵌入面向用户应用程序的部署模型。通过反复查询模型并记录其响应,攻击者可以训练自己的模型来模仿原始模型的行为。这个过程通常称为模型蒸馏²⁶³或克隆建模,使攻击者能够在无法访问原始模型专有内部结构的情况下实现相当的功能(Orekondy et al. 2019)。
攻击者可以通过两种方式评估行为复制的成功程度。首先是通过衡量替代模型的有效性水平。这涉及评估克隆模型在基准任务上的准确率、精确率、召回率或其他性能指标是否与原始模型相近。通过使替代模型的性能与原始模型对齐,攻击者可以构建一个在效果上几乎无法区分的模型,即使其内部结构不同。
其次是通过测试预测一致性。这涉及检查在相同输入下,替代模型是否与原始模型产生相同的输出。同时匹配正确预测和原始模型的错误,能为攻击者提供目标模型行为的高保真复制。这在自然语言处理等应用中尤为令人担忧,因为攻击者可能复制情感分析模型以获得竞争洞察或绕过专有系统。
在公开 API 或面向消费者的应用程序等开放访问部署环境中,近似行为窃取难以防御。限制查询速率、检测自动提取模式和对模型输出进行水印是缓解此风险的一些技术。然而,这些防御必须与可用性和性能考虑取得平衡,特别是在生产环境中。
对近似模型窃取的一次演示表明,可以通过公开 API 从黑盒语言模型中提取内部组件。Carlini 等人(2024) 在他们的论文中展示了如何仅通过公开 API 访问,重构 OpenAI 的 ada 和 babbage 模型的最终嵌入投影矩阵,并恢复 gpt-3.5-turbo 的隐藏维度(并估计完整矩阵恢复的成本)。通过利用输出投影层的低秩结构并精心设计查询,他们恢复了模型的隐藏维度,并且对于较小的模型,在仿射变换下复制了权重矩阵。
该攻击并未重构完整模型,但揭示了内部架构参数,并为未来更深入的提取设立了先例。这项工作表明,即使是部分模型窃取也会对机密性和竞争优势构成风险,特别是当模型行为可以通过丰富的 API 响应(如 logit 偏置和对数概率)进行探测时。
表 13.3 中的实证结果表明,较小模型的输出投影参数提取的均方根误差低至 10^(−4),而较大的 GPT-3.5 行则显示维度恢复和估计恢复成本,而非实现的权重矩阵提取。这些发现对系统设计具有重要意义,表明诸如返回 top-k logits 等看似无害的 API 特性,若未严格控制,可能成为重要的信息泄露途径。
| 模型 || 大小 (维度恢复) || 查询次数 || 均方根误差 (权重矩阵提取) || 成本 |
| --- | --- | --- | --- | --- |
| OpenAI ada || 1024 ✓ || < 2 × 10⁶ || 5 ⋅ 10^(−4) || $1 / $4 |
| --- | --- | --- | --- | --- |
| OpenAI babbage || 2048 ✓ || < 4 × 10⁶ || 7 ⋅ 10^(−4) || $2 / $12 |
| OpenAI babbage-002 || 1536 ✓ || < 4 × 10⁶ || 未实现 || $2 / $12 |
| OpenAI gpt-3.5-turbo-instruct || 未披露 || < 4 × 10⁷ || 未实现 || $200 / $2,000 (估计) |
| OpenAI gpt-3.5-turbo-1106 || 未披露 || < 4 × 10⁷ || 未实现 || $800 / $8,000 (估计) |
表 13.3:模型窃取成本:攻击者可以通过公开可用的 API 恢复内部模型信息。成本列提供两个数字:维度恢复成本和完整权重矩阵提取成本。对于 OpenAI 的 ada 和 babbage 模型,已实现的输出投影权重提取在少于 4 ⋅ 10⁶ 次查询下实现了低均方根误差(RMSE),估计成本为 $1 至 $12。GPT-3.5 行报告了维度恢复结果和估计的完整恢复成本,而非实现的权重矩阵提取。
防御模型提取攻击
模型提取攻击利用通过 API 访问的已部署模型的输入-输出行为。持久防御的关键问题不在于哪种机制听起来最强,而在于 API 允许一个行为者累积多少信息。每个响应都会泄露一些关于决策边界、置信面、架构或训练分布的比特。因此,生产环境的防御应包含以下四个杠杆:
-
减少每次响应的信息量:返回较低精度的置信度、更少的类别,并移除不必要的内部状态。
-
限制响应数量:使用配额和速率限制来限制一个行为者可以收集的观察次数。
-
提高边际成本:通过高昂的定价使大规模数据采集在经济上不如训练或授权有吸引力。
-
检测测量行为:识别看起来像系统模型探测而非正常产品使用的查询模式。
这些杠杆协同工作,因为提取的经济性取决于每查询的信息量、查询量、价格以及攻击者的可见性。
监控为该控制循环提供了证据。合法用户通常产生突发的、任务塑造的流量,而提取攻击则需要对输入空间进行持续和系统的覆盖。例如,一个简单的图像分类服务可能会从以下体积规则开始:
其中 q[daily] 和 q[hourly] 表示查询次数。此类阈值仅为首要信号。必须根据服务等级和正常使用模式进行校准,因为批量客户和攻击者均能产生高流量。
下一个信号询问输入是否看起来自然。提取流量常使用合成或系统生成的示例,其覆盖决策边界的均匀度高于普通用户查询。检测器可将用户的查询分布与预期分布进行比较:
𝒟KL > τ[alert]
其中 𝒟[KL] 为 Kullback-Leibler 散度(KL 散度),τ[alert] 为警报阈值。对于语言模型 API,同一思路表现为异常的 Token 分布、重复的提示词模板,或对模型边界的低方差探测。时间特征提供了另一线索:自动化提取往往具有规律的查询间隔和长时间的不间断会话,而人类或产品流量则具有更大的方差。
异常检测器将这些信号组合成一个可驱动执行动作的评分:
scoreanomaly = fθ, 𝒟KL, σinter-query, …)
其中 f[θ] 为训练好的分类器,特征捕获查询量、分布和时间规律性。评分不应仅产生一个警报队列。它应反馈给配额系统,因为限流是服务将证据转化为信息上限的方式。免费用户可获得较低的每日和突发限额,认证付费用户可获得较大配额,企业客户可获得与合同和监控挂钩的自定义限额。目的不在于单纯惩罚流量;而在于防止匿名或弱认证行为者收集足够的观测值以重构模型。
具体的配额阶梯使该信息上限可视化。免费层级可能允许 1,000 次查询/天并具备 10 次查询/秒的突发限额,基础付费层级可能允许 100,000 次查询/天并具备 100 次查询/秒,企业层级可能允许 1,000 万次查询/天并具备自定义突发限额和合同监控。具体数值取决于产品需求,但阶梯结构至关重要,因为提取成本随累积响应量而变化。
自适应限额将两部分联系起来。异常评分高的用户面临更严格的限额,而经验证的合法用户保留足够的批量预测容量:
limiteffective = limit[base] × exp(−γ[rate] ⋅ scoreanomaly)
其中 γ[rate] 控制灵敏度。当 γ[rate] = 1 时,异常评分为 0.8 的用户保留约 45% 的基础配额,即限流 55%;低评分则保留正常使用量。此控制仅在响应本身也经过精心设计时才有效。返回完整 logits、隐藏状态、注意力权重或精确置信度分数的宽松 API 每次查询泄露过多信息,因此即使配额适中也可能带来危险。
输出整形在保留合法用户通常所需的回答部分的同时,减少了每次响应的泄露量。置信度舍入 返回较粗糙的概率,而非全精度的 logits 或概率:
p̃[i] = round(p[i], d[dec])
其中 d[dec] 为小数位数。对于 1000 类的 ImageNet 分类器,将小数位数从 6 位舍入至 2 位,去除了 4 位小数,在十进制分箱模型下每类约减少 13.3 比特,同时保留了大多数应用所使用的决策边界。
Top-k 截断 防御仅返回预测概率最高的 k 个类别,而非完整的概率分布:
output = {(c[i], p[i]) : i ∈ top-k}
对于 1000 分类问题中的 k=5,API 仅返回这些最高分数,而非完整的 softmax 向量,消除了提取者原本每次查询可观测到的 99.5% 分布条目。合法用户通常仅需要前几个预测,而提取者受益于完整分布。
完整分布泄露的信息远多于 top-k 输出。
当舍入或截断后的输出仍泄露过多信息时,校准噪声可使重复测量变得不那么有用:
p̃[i] = p[i] + 𝒩(0, σ²)
随后进行重新归一化以确保 ∑[i] p̃[i] = 1。噪声尺度 σ 必须在提取防御与效用保留之间取得平衡。噪声过小会留下可测量的置信度表面;噪声过大则会改变合法用户的决策。
差分隐私机制为推理输出提供了此预算的形式化版本:当添加或移除任何一个人的记录时,响应分布不应发生太大变化。第 13.8 节 详细阐述了完整的 (ϵ, δ) 定义和相邻数据集符号;此处的操作要点是:对相似输入的重复查询会消耗有限的隐私预算。因此,隐私并非可一次性启用的设置;它是 API 消耗的一种资源。
最后的杠杆是经济学。定价策略可使提取在仍存在一定泄露的情况下变得无利可图。若从头训练模型成本为 C[train],提取需要 n[queries] 次查询,单价为 p[query],仅当以下条件成立时提取才符合经济理性:
n[queries] ⋅ p[query] < C[train]
设定 p[query] 使 n[queries] ⋅ p[query] > C[train] 可消除经济动机。例如,若训练竞争模型成本 500 万美元,提取需 1 亿次查询,盈亏平衡价格为 0.05 美元/次;高于该价格则使提取成本高于重新训练。该定价必须考虑攻击者的替代方案:购买算力、获取数据、并投入工程工作独立训练替代模型。实践中,定价、监控、配额和输出整形作为一个整体包协同工作。最小化输出降低每查询比特数,粗粒度置信度分箱降低数值精度,隐藏激活值和注意力权重保持私有,模型版本细节被抽象化,配额系统决定任何行为者可累积多少信息。
问题:对于一个每日服务 100 万次查询、拥有 1 万用户的生产环境 ResNet-50 图像分类 API,运营商如何在不降低正常服务质量的前提下,使模型提取在经济上不具吸引力?
场景:该场景下模型训练成本约 5 千美元。提取者需约 500 万次查询达到 90% 保真度,即针对 1000 分类器每类需 5,000 次查询。无防御时,攻击者滥用免费层级每天可发送 2.5 万次查询,持续 200 天且零成本,使提取在经济上划算。
机制:防御栈作为一个序列协同工作:
-
限制采集:免费层级允许 100 次查询/天,付费层级 50 美元/月享 1 万次查询/天,企业级访问要求认证并配合监控。
-
监控探测:监控路径监视系统性测量行为,包括单用户日查询超 5 千次或查询中位时间间隔低于 100 毫秒;轻量级检测器每查询仅增加 2 毫秒延迟。
-
整形输出:输出整形将置信度舍入至 2 位小数,每个舍入后的标量概率保留约 6.7 比特,并仅返回前 5 个类别,消除 99.5% 的分布条目。
-
为提取定价:按量付费 0.001 美元/次(超出层级上限后),500 万次提取查询成本 5 千美元,与此场景下的训练成本持平。受限于 50 美元/月层级(1 万次/天)的攻击者需 500 天且总成本约 833 美元——纸面上更便宜,但层级计量、认证和探测检测使持续采集在配额干预前变得不切实际。
影响
这组防御措施改变了提取攻击的经济核算,却不会让正常使用因定价而望而却步。在没有防御时,替代模型的准确率为 90%,启用防御后下降至 72%,降低了 18 个百分点;而合法用户的 Top-5 准确率仍保持在 99.2%,接近 99.3% 的基线水平。监控和输出整形在 100 ms 推理延迟之上仅增加 2.5 ms,即 2.5% 的开销,同时仅将 0.3% 的用户标记为需人工复核。
系统洞察
API 变得更安全,是因为单次响应的信息量、查询量、检测能力和定价策略都朝着同一个方向协同发力。没有单一防御能彻底解决提取问题,但分层防御让攻击变得更慢、更易被检测、且经济吸引力大幅降低。
这些防御机制组合部署后,在保持合法用户服务质量的同时,显著提高了模型提取的门槛。最佳防御配置取决于威胁模型(攻击者的复杂程度)、模型价值(训练成本、竞争优势)以及用户体验需求(延迟容忍度、预测精度要求)。
案例研究:特斯拉知识产权窃取
黑盒 API 提取只是导致模型价值流失的途径之一。内部人员窃取工程制品则从开发环境内部攻击同一资产边界。2019 年 3 月,特斯拉提起两起商业秘密诉讼,涉及跳槽至自动驾驶竞争对手的前员工(Korosec 2019)。一份起诉书指控加入 Zoox 的员工复制了专有的仓储、物流和库存控制文档。另一份起诉书指控前 Autopilot 工程师曹广志在跳槽至小鹏/小鹏汽车前,复制了特斯拉 Autopilot 的源代码仓库。
这些指控对机器学习系统至关重要,因为受保护的资产往往是完整的工程技术栈,而不仅仅是一个序列化的模型文件。训练代码、特征流水线、标注工作流、部署脚本、仿真资产和运维手册能透露出足以加速竞争对手复刻工作、或暴露下游安全弱点的系统细节。因此,内部人员访问绕过了许多 API 层面的模型提取防御:攻击者不是从外部查询模型,而是从构建环境内部复制开发制品。
该事件凸显了在模型、数据流水线和源代码代表重大知识产权的行业中,机器学习系统 IP 窃取的现实风险。这些制品的窃取会削弱竞争优势,并引发对隐私、安全及下游滥用的更广泛担忧。它还表明,模型窃取不局限于通过 API 或公开接口进行的理论攻击:内部威胁、供应链漏洞和对开发基础设施的未授权访问,对商业环境中部署的机器学习系统构成了同样严重的风险。
数据投毒
模型窃取针对的是机密性,而第二类威胁则聚焦于训练完整性。训练完整性威胁源于对用于训练机器学习模型的数据的操纵。此类攻击旨在通过引入看似良性、实则诱导最终模型产生有害或偏见行为的样本,来破坏学习过程。
数据投毒攻击是典型示例,攻击者将精心构造的数据点注入训练集,以有针对性或系统性地影响模型行为(Biggio 等 2012)。被投毒的数据可能导致模型做出错误预测、降低其泛化能力,或植入部署后才被触发的休眠失效模式。
数据投毒属于安全威胁,因为它涉及对手对训练数据的蓄意操纵,目的是植入漏洞或颠覆模型行为。在模型基于外部来源收集的数据(包括用户交互、众包标注[²⁶⁴] 和网络抓取)进行再训练的应用中,这些攻击尤为令人担忧,因为攻击者无需直接接触训练流水线即可注入毒化数据。
这些攻击涵盖多种威胁模型。从安全视角看,投毒攻击因攻击者的访问权限和知识水平而异。在白盒场景中,对手可能掌握模型架构或训练过程的详细信息,从而实施更精准的操纵。相反,黑盒或受限访问攻击则利用开放的数据提交渠道或间接注入载体。投毒可针对机器学习流水线的不同阶段,范围涵盖数据收集、预处理、标注和存储,这使得攻击面既广泛又依赖于具体系统。数据投毒威胁的相对优先级因部署场景而异,详见 13.3.1 节 分析。
投毒攻击通常遵循三阶段过程。首先,攻击者将恶意数据注入训练集。这些样本往往被设计得看似合法,实则引入微妙扭曲以改变模型的学习过程。其次,模型在受污染数据上训练,内化了攻击者预期的行为。最后,模型部署后,攻击者可利用篡改后的行为制造误判、绕过安全检查或降低整体可靠性。
为精确理解这些攻击机制,数据投毒可建模为一个双层优化问题[²⁶⁵],攻击者寻找投毒数据 \(\mathcal{S}_{\text{poison}}\) 以最大化模型在验证集或目标数据集 \(\mathcal{S}_{\text{test}}\) 上的损失。该数据投毒优化循环形式化如下。设 \(\mathcal{S}\) 为原始训练数据。攻击者的目标是求解:
max_{S_poison} L(f_{S ∪ S_poison}, S_test)
其中 \(f_{S ∪ S_poison}\) 表示在原始与投毒数据合并集上训练的模型。对于定向攻击,该目标可细化为聚焦特定输入 \(x_t\) 和目标标签 \(y_t\):
max_{S_poison} L(f_{S ∪ S_poison}, x_t, y_t)
图 13.6 将上述方程转化为系统循环:攻击者提出投毒数据,训练过程吸收它,验证损失反馈给下一轮投毒尝试。
该公式捕捉了对手通过引入精心构造的数据点来操纵模型决策边界的目标。例如,考虑一个交通标志分类模型,用于区分停车标志和限速标志。攻击者可能将少量标注为限速标志的停车标志图片注入训练数据。攻击者的目的是微妙地偏移模型决策边界,导致未来的停车标志被误分类为限速标志。此时,投毒数据 \(S_{\text{poison}}\) 由错误标注的停车标志图片组成,攻击者的目标是最大化合法停车标志 \(x_t\) 被误分类为限速标志 \(y_t\) 的概率,遵循上述定向攻击公式。即使模型在其他类型标志上表现良好,投毒训练过程也会制造出一个可预测且可被利用的漏洞。
数据投毒攻击可按目标和影响范围分类(Biggio et al. 2012):
-
可用性攻击:噪声或标签翻转会降低模型在各任务上的整体性能。
-
目标攻击:操纵特定输入或类别,保持整体性能完好,但在选定情况下导致持续的误分类(Shafahi et al. 2018)。
-
后门攻击:隐藏触发器(通常是不可察觉的模式)仅在触发器存在时引发恶意行为(Gu et al. 2017)。²⁶⁶
-
子群体攻击:由共享特征定义的群体性能下降,使该攻击在对公平性敏感的应用中尤为危险(Jagielski et al. 2021)。
目标决定了哪种验证信号可能捕捉到投毒:聚合准确率、针对性测试、触发器扫描或子群体评估。
缓解数据投毒威胁需要数据管道的端到端安全,涵盖收集、存储、标注和训练。预防措施包括输入验证检查、训练数据集完整性验证,以及异常检测以标记可疑模式。与此同时,鲁棒训练算法可通过降低权重或过滤掉异常实例,限制错误标注或被操纵数据的影响。虽然没有单一技术能保证免疫,但结合主动数据治理、自动化监控和鲁棒学习实践,对于在真实部署中维护模型完整性至关重要。
对抗攻击
从训练时威胁转向推理时威胁,第三类威胁针对部署期间的模型鲁棒性。推理鲁棒性威胁发生在攻击者在测试时操纵输入以诱导错误预测时。与破坏训练过程的数据投毒不同,这些攻击利用模型在推理期间决策面的漏洞。
此类威胁的核心一类是对抗攻击,精心构造的输入导致错误预测,同时与合法数据几乎不可区分。这些攻击凸显了机器学习模型对微小、针对性扰动的敏感性,这些扰动可能大幅改变输出置信度或分类结果。攻击面从上游数据管道转移到实时交互,要求在推理点检测或缓解恶意输入,且攻击者通常不需要访问训练数据或模型内部。
这些攻击在自动驾驶、生物识别认证和内容审核等领域造成显著的现实风险。其效果可能惊人:研究表明,微小且难以用肉眼分辨的扰动可导致图像分类器产生高置信度错误(Szegedy et al. 2013; Goodfellow et al. 2014)。物理世界实验表明,打印的对抗图像经相机拍摄后仍可被 ImageNet 分类器误分类(Kurakin et al. 2017)。路标攻击进而表明,小贴纸或扰动可在真实观测条件下导致路标被误分类(Eykholt et al. 2018)。
Perspective API 案例使推理时区分具体化。研究人员在 2017 年研究 Google 的毒性检测 API 时²⁶⁷表明,细微的拼写错误、字符替换和添加标点符号,可导致明显有毒的短语获得低毒性评分²⁶⁸(Hosseini et al. 2017)。训练管道未被投毒;部署的决策面对微小输入扰动很脆弱。
在此层面,共享的抽象很简单:对抗方法搜索范数或物理约束内的扰动,以改变模型的输出。第 14 章提供了数学基础,以及基于梯度、基于优化和基于迁移的攻击算法的详细分类。
对抗攻击根据攻击者对模型的访问级别而异。在白盒攻击中,对手完全了解模型的架构、参数和训练数据,从而能构造高效的对抗样本。在黑盒攻击中,对手无内部知识,必须依赖查询模型并观察其输出。灰盒攻击介于两者之间,对手拥有部分信息,如访问模型架构但不知其参数。
表 13.4 对这一知识级别谱系进行分类,展示了对模型内部和训练数据的访问如何决定不同部署环境下的攻击可行性和防御复杂性。常见攻击策略包括代理模型构建、利用对抗迁移性的迁移攻击²⁶⁹(Nicolas Papernot, McDaniel, and Goodfellow 2016),以及基于 GAN 的扰动生成。
| 对手知识级别 | 模型访问 | 训练数据访问 | 攻击示例 | 常见场景 |
|---|---|---|---|---|
| 白盒 | 完全访问架构和参数 | 完全访问 | 使用梯度构造对抗样本 | 内部威胁、开源模型复用 |
| 灰盒 | 部分访问(如仅架构) | 有限或无访问 | 基于代理模型近似的攻击 | 已知模型系列、未知微调 |
| 黑盒 | 无内部访问;仅查询-响应视图 | 无访问 | 基于查询的代理模型训练和迁移攻击 | 公共 API、模型即服务部署 |
表 13.4:对抗知识谱系:攻击者对模型细节和训练数据的不同访问级别定义了不同的威胁模型,影响对抗攻击的可行性和复杂性,并影响部署安全策略。该表按访问级别、典型攻击方法和常见部署场景对这些模型进行分类,阐明了保护机器学习系统的实际挑战。
物理世界交通标志攻击是这种脆弱性的经典演示;13.4.4 节详细阐述了其机制和部署后果。对抗攻击凸显了需要超越提高模型准确度的鲁棒防御。保护机器学习系统免受对抗威胁,需要运行时防御,如输入验证、异常检测,以及推理期间对异常模式的监控。训练时鲁棒性方法,包括在故意扰动的样本上进行对抗训练(Madry et al. 2018),可补充这些运行时策略,并在本书后面探讨。
图 13.7 说明了为何需要这些防御:不可察觉的扰动可将输入推过学习到的类别区域,因此鲁棒性取决于决策面的几何形状,而非仅靠干净的验证准确率。
图 13.7:Adversarial Decision Boundary
高维神经网络通常具有非线性决策边界。对抗者寻求找到一个最小扰动 δ,将干净的数据点 x 推过边界进入另一个类别区域,同时确保扰动足够小(ϵ[adv]),以保持不可察觉或物理上合理。
案例研究:交通标志攻击
针对交通标志的物理对抗攻击揭示了小的、有针对性的扰动如何利用人类感知与神经网络分类之间的差距。核心机制是几何性的:深度神经网络将其输入空间划分为由高维决策边界分隔的分类区域。对抗者的目标是找到一个最小扰动 δ,将一个正确分类的输入 x 推过最近的边界进入一个错误的类别,同时受不可察觉约束 ∥δ∥ ≤ ϵ[adv] 限制,其中 ϵ[adv] 是对抗半径界限,而非稍后引入的差分隐私预算。由于这些边界在像素空间中高度非线性,人类视觉系统不可见的扰动却能在模型中产生高置信度的误分类。
2017 年,研究人员通过在停车标志上贴上小的黑白贴纸,在物理世界中演示了这一漏洞(Eykholt et al. 2018)。图 13.8 展示了物理实现:贴纸占据标志表面积的 10% 以下,设计为人眼几乎不可察觉,但足以将标志的表示推过模型的决策边界。当这些修改后的停车标志图像被输入标准交通标志分类模型时,它们有超过 85% 的时间被误分类为限速标志,而人类观察者在每次试验中都正确识别了这些标志。

图 13.8:Adversarial Stickers
微小、不起眼的贴纸能诱骗机器学习模型将停车标志误分类为限速标志,误分类率超过 85%。这凸显了 ML 系统对物理对抗攻击的脆弱性。
该案例研究的教训在于可部署性,而非胶带本身。一个物理上合理的扰动可以经受住相机捕捉、光照变化和模型预处理,同时仍将输入推过学习到的边界。对于自动驾驶汽车而言,这将局部分类错误转化为安全隐患:停车标志可能被视为限速标志,造成减速让行不彻底或加速冲入路口的风险。稳健的防御因此需要物理世界评估、输入监控和失效安全行为,而不仅仅是干净验证集上的准确率。
LLM 特有的攻击向量
相同的推理时框架延伸至 LLM,安全调查将 prompt injection(提示词注入)、jailbreaking(越狱)、data leakage(数据泄露)和 malicious reuse(恶意复用)列为网络安全和隐私风险(Gupta et al. 2023)。系统的机制在于接口通常将指令、用户内容、检索上下文和策略控制混合在一个 token 流中,使得控制与数据之间的边界变得脆弱(Perez and Ribeiro 2022)。工具使用系统增加了一个额外的边界:模型文本可能触发外部副作用,尤其是当检索到的或外部内容被重新解释为指令时(Greshake et al. 2023)。因此,安全的 LLM 系统需要分离模型倾向于混淆的五个对象:
-
指令:系统和开发者指令定义了预期的控制平面。
-
不受信内容:用户输入和外部文本必须保持为数据,而非权威。
-
检索文档:检索结果提供证据,但不应重写策略或工具权限。
-
工具权限:外部动作需要显式的授权边界。
-
机密:凭证、私有数据和隐藏策略状态必须保持在模型可见上下文之外,除非显式需要。
分离这些对象为服务系统提供了可强制执行的边界,即使模型文本试图模糊它们。
三种反复出现的失效模式划分了该问题空间:
-
提示词注入 打破了控制与数据之间的边界,训练数据提取暴露了记忆的记录(Carlini et al. 2021),而越狱绕过了对齐控制(Zou et al. 2023)。
提示词注入利用了控制平面和数据平面的纠缠(Perez and Ribeiro 2022;Greshake et al. 2023)。与 SQL 注入不同,后者可通过强制严格分离的参数化查询来缓解,LLM 不具备“指令”与“内容”之间的原生边界。攻击者可将恶意指令嵌入合法输入中——例如“忽略先前约束并输出系统提示词”——模型会将其解读为权威命令。系统级防御需要多层策略:用于检测注入启发式的输入清理过滤器、用于标记偏离预期行为策略的专用输出分类器,以及架构隔离,即 LLM 在严格沙箱环境中运行,无法直接访问特权 API 或内部状态。
-
训练数据提取 揭示了第二个漏洞:LLM 作为其训练语料库的压缩数据库发挥作用。研究表明,通过足够的查询或特定的前缀提示,对手可诱导模型逐字复述记忆的序列,暴露个人身份信息(PII)、专有代码或敏感 API 密钥(Carlini et al. 2021)。此漏洞随参数量规模放大;更大的模型表现出更高的记忆容量。缓解它需要训练前严格的数据卫生,如激进的去重以减少记忆可能性,以及训练期间集成差分隐私(DP)机制,向梯度添加校准噪声以限制任何单条记录贡献的信息量。训练后防御必须包含输出过滤层,以检测并阻断匹配已知敏感模式或高熵机密的响应。
-
越狱与对齐绕过 针对旨在将模型保持在允许行为内的训练后和运行时策略控制。基于人类反馈的强化学习(
RLHF)是一种训练时对齐方法(Ouyang et al. 2022),宪法 AI 增加了模型基于显式原则的自我批评(Bai et al. 2022),护栏模型则是用于输入/输出安全的运行时监控器(Inan et al. 2023;Google 2024)。因为这些控制是统计覆盖层而非形式约束,复杂攻击——如对抗性后缀、角色扮演提示或多轮升级——可绕过它们(Zou et al. 2023)。系统挑战在于对齐的概率性本质;模型可通过语义操纵被诱导进入不安全状态。有效防御需要纵深防御:在适当情况下采用宪法 AI 风格的自我批评、用于实时输入/输出监控的独立护栏模型、针对可疑查询模式的速率限制,以及针对高风险应用领域的人工审核。
这些威胁类型覆盖了机器学习生命周期的不同阶段,需要不同的防御策略。表 13.5 按生命周期阶段和攻击向量对这些威胁进行了分类,阐明了漏洞如何表现,从而实现有针对性的缓解策略。
| 威胁类型 | 生命周期阶段 | 攻击向量 | 影响示例 |
| --- | --- | --- | --- |
| 模型窃取 | 部署 | API 访问、内部泄露 | 知识产权被盗、模型逆向、行为克隆 |
| 数据投毒 | 训练 | 标签翻转、后门 | 定向误分类、准确率下降 |
| 对抗攻击 | 推理 | 输入扰动 | 实时误分类、安全失效 |
表 13.5:威胁态势:机器学习系统在其生命周期中面临多样化的威胁,范围从训练期间的数据操纵到部署后的模型窃取。该表按生命周期阶段和攻击向量对这些威胁进行分类,阐明了漏洞如何表现,从而实现有针对性的缓解策略。
针对给定威胁的适当防御取决于其类型、攻击向量以及它在机器学习生命周期中的发生位置。图 13.9 将此选择逻辑编码为三列映射:每个威胁(模型窃取、数据投毒、对抗样本、成员推断)与一种能够中和它的检测方法配对,而该检测方法又决定了对应的防御措施。沿着一行读取即为设计决策:攻击向量和生命周期阶段选择左侧的列,而结构将该选择传递到检测阶段,最终对应相应的缓解措施。尽管实际部署可能需要根据我们的分层防御框架讨论的更细致的防御组合,但此映射为将威胁模型与实际缓解技术对齐提供了概念性指南。
图 13.9:威胁缓解流程:此图将常见的机器学习威胁映射到相应的防御策略,根据攻击向量和生命周期阶段进行选择。通过遵循此流程,从业者可以将威胁模型与实际缓解技术对齐,例如安全模型访问和数据清洗,从而构建更稳健的人工智能系统。
这种训练时与推理时攻击之间的区别最易于在具体部署场景中进行验证。
自动驾驶汽车的视觉系统由于在标志上放置了精心制作的贴纸,将停车标志误分类为限速标志。此攻击发生在推理时,且无需访问训练数据。
交通标志攻击和模型提取技术利用软件级漏洞:可被扰动欺骗的学习决策边界,以及通过系统性查询泄漏模型行为的 API 接口。这些攻击仍在具有其自身信任边界的物理硬件上执行。受损的 GPU 驱动程序可以绕过对抗训练;被篡改的内存控制器可以无论加密与否外泄模型权重;功耗侧信道泄漏可以揭示保护模型工件的加密密钥。
因此,硬件安全是软件防护之下的硅基基础。软件攻击针对的是模型做什么,而硬件攻击针对的是模型如何计算。处理器执行指令,内存系统存储敏感状态,互连在组件之间移动权重、激活值、梯度和用户数据。每一层都可以绕过传统的软件控制,难以检测,并且需要第 13.7.6 节第 13.7.6 节中详述的基于硬件的机制。
硬件级安全漏洞
当服务团队将模型权重移入生产环境时,他们通常将加密、访问控制和 API 策略视为安全边界。硬件攻击打破了这一假设。处理器可以跨隔离域泄漏,现场设备可能被打开,总线或电源轨可能暴露信号,而假冒组件可能在部署开始前进入系统。其结果不是对威胁模型的单独硬件附录,而是可能在软件控制看似通过后使其失效的基础。
实际部署的问题是:哪个基底层仍可能违反信任?云端 LLM 端点主要是一个隔离问题:一个租户的进程、内存和加速器上下文不应泄露另一个租户的提示词或权重。嵌入式视觉传感器主要是一个物理接入问题:攻击者可能探测功耗,连接调试端口,或更换模块。受监管的采购管线主要是一个溯源问题:组织必须知道哪些组件是如何被构建、处理、修补和退役的。这些情况使用不同的防御措施,但它们共享相同的推理模式。
因此,硬件安全规划从以下四项检查开始:
-
处理器隔离:租户、密钥、模型权重和中间激活值必须与不受信任的代码和共租户隔离。
-
物理接入暴露:设备、传感器、内存和调试接口在攻击者可以接触硬件时必须受到保护。
-
侧信道可观测性:功耗、时序、电磁、总线或热信号不得泄露敏感计算。
-
供应链证明:部署的组件必须是系统设计和认证所使用的组件。
表 13.6 保持硬件威胁态势可见,但应将其读取为一组部署决策,而非需死记硬背的分类法。[第 13.7 节]第 13.7 节 中的防御策略从可信执行、证明和硬件信任根的角度回到同样的决策。
| 部署决策 | 待分析的信任失效 | 其组织的威胁家族 |
| --- | --- | --- |
| 处理器隔离 | 在软件访问控制看来已通过后,发生的跨租户或跨进程泄漏。 | 硬件错误,推测执行缺陷。 |
| 物理接入 | 对传感器、内存、固件或调试接口的直接操控。 | 物理攻击,故障注入,泄漏端口。 |
| 侧信道可观测性 | 可观测的功耗、时序、电磁、总线或热信号泄露状态。 | 侧信道攻击,泄漏互连。 |
| 溯源与生命周期信任 | 组件在部署后被发现是假冒的、植入木马的、管理不善的或不受支持的。 | 假冒硬件,供应链风险。 |
表 13.6:硬件威胁态势:硬件安全决策将多样化的漏洞家族分组为隔离、物理接入、侧信道和溯源问题,这些问题决定了软件防护在部署过程中是否仍然有意义。
以下小节遵循这些决策,而不是将硬件安全视为攻击的目录。硬件错误用于测试处理器隔离。物理攻击、故障注入和泄漏接口用于测试在软件控制看来通过后,直接访问是否能改变系统。侧信道攻击用于测试计算是否通过可观测信号泄漏。假冒硬件和供应链风险用于测试部署的组件是否是架构所假设的那个组件。
硬件错误
硬件错误回答了首个部署决策:在软件访问控制看来通过后,处理器隔离是否仍可信。机器学习团队必须将这种隔离视为一种经验主张,而非默认保证。攻击者可以利用设计缺陷来访问、操纵或提取敏感数据,从而违背用户和服务依赖的机密性和完整性。最显著的例子之一是 Meltdown 和 Spectre²⁷⁰ 的发现——现代处理器中的两个漏洞,允许恶意程序绕过内存隔离并读取其他应用和操作系统的数据(Lipp et al. 2018; Kocher et al. 2019)。
这些攻击利用了推测执行²⁷¹,这是 CPU 中一种在安全检查完成前乱序执行指令的性能优化。虽然提升了计算速度,但此优化无意中通过微架构侧信道(如 CPU 缓存)暴露了敏感数据。这些攻击的技术复杂性凸显了即使经过广泛硬件验证也难以消除漏洞的困难。
进一步研究表明,这些并非孤立事件。诸如 Foreshadow、ZombieLoad 和 RIDL 等变体针对不同的微架构元素,从安全飞地到 CPU 内部缓冲区,证明推测执行缺陷是一种系统性硬件风险。这种系统性意味着虽然这些攻击最初是在通用 CPU 上演示的,但其影响扩展到了机器学习加速器和专用硬件。ML 系统通常依赖于异构计算平台,将 CPU 与 GPU、张量处理单元(TPU)、FPGA 或定制加速器结合使用。这些组件处理敏感数据,如个人信息、医疗记录或专有模型。该栈中任何部分的漏洞都可能导致此类数据暴露于攻击者。
例如,一个在加速器上运行人脸识别模型的边缘设备(如智能摄像头)如果硬件缺乏适当的缓存隔离,可能会受到攻击。攻击者可能利用此弱点提取中间计算结果、模型参数或用户数据。在云推理服务中也存在类似风险,因为硬件多租户增加了跨租户数据泄露的可能性。
此类漏洞在医疗等隐私敏感领域尤其令人担忧,因为 ML 系统 routinely 处理患者数据。违规可能导致违反 HIPAA²⁷² 等隐私法规,带来重大法律和伦理后果。类似的监管风险在全球范围内存在,GDPR²⁷³ 规定,对未能实施适当技术措施保护欧盟公民数据的组织处以最高达全球收入 4% 的罚款。
因此,硬件安全不仅仅是防止物理篡改。它还涉及架构隔离:防止处理器、加速器和内存系统在软件假设已密封的边界之间泄漏。缓解措施通常会带来性能成本,尤其是对数据密集型 ML 工作负载,因此机密计算和可信执行环境(TEE)必须被评估为容量和延迟决策,同样也是安全决策。
物理攻击
物理攻击回答了第二个部署决策:对手是否可以触及设备、传感器、内存、固件或调试接口。物理访问会瓦解软件策略与硬件状态之间的边界。加密、身份验证和访问控制可防御许多远程攻击,但在攻击者能够插入恶意 USB 设备、探测调试端口、替换传感器或在物理暴露的端点修改固件时,这些措施作用甚微。
失败模式取决于攻击者能触及什么。依赖 GPS、摄像头和惯性传感器为其导航模型提供数据的环境映射无人机,若其导航模块被替换或修改,可能改变飞行行为或重新路由收集的数据。依赖嵌入式人脸或指纹传感器的生物识别访问系统,若该传感器被替换,可能外泄身份标识并使后续冒充成为可能。依赖摄像头、LiDAR 和雷达对齐的自动驾驶汽车,若这些传感器被物理错位或遮挡,可能在不改变模型权重的情况下降低感知能力。
内部组件在更低层级上构成相同风险。在芯片制造过程中植入的硬件木马可能保持休眠状态,直至特定输入或状态触发它,随后泄漏输出、损坏计算或以难以诊断的方式降低性能。当攻击者具有物理访问权限时,内存芯片和加速器总线可能暴露模型参数或训练数据。数据中心也不例外:由具备足够设施访问权限的人安装的植入物可以监控管理凭据或数据流,并为训练和推理流水线提供一条持续路径。
防御意义在于,物理访问分析应纳入系统架构,而不仅限于设备包装。防篡改检测、禁用生产调试接口、固件签名、安全启动、 attestation(认证)以及供应链完整性检查,均服务于同一目的:在系统离开实验室后保持信任边界。
故障注入攻击
故障注入是物理访问决策的主动版本:攻击者不替换模型制品,而是在其运行过程中改变计算。精准时序的电压下降、功率尖峰、时钟抖动、温度变化、电磁脉冲或激光打击都可能引起位翻转、指令跳过或内存状态损坏(Joye and Tunstall 2012; Barenghi et al. 2010; Hutter et al. 2009; Amiel et al. 2006; Skorobogatov 2009; Skorobogatov and Anderson 2003)。对于 ML 系统,这些故障可能导致错误输出、绕过安全检查、可靠性下降或暴露内部状态以供以后逆向工程。
ML 特有的风险是:小的计算故障可能演变为语义失败。例如,在微控制器上运行的嵌入式分类器可能对安全重要输入进行误分类;而内存或控制逻辑中的故障可能泄露专有权重或架构细节。与普通随机故障不同,对抗性定时故障是有意选择落在模型或安全协议所依赖的计算上的。
这些攻击的实际可行性已通过受控实验得到验证。一个显著例子是 Breier 等人(2018) 的工作,研究人员成功使用激光故障注入攻击对部署在微控制器上的深度神经网络进行攻击。Figure 13.10 捕捉了该机制:通过聚焦激光脉冲加热特定晶体管,他们迫使硬件跳过执行步骤,包括修正线性单元(ReLU)激活函数。

Figure 13.10: Laser Fault Injection: Focused laser pulses induce bit flips within microcontroller memory, enabling attackers to manipulate model execution and compromise system integrity. Researchers use this technique to simulate hardware errors, revealing vulnerabilities in embedded machine learning systems and informing the development of fault-tolerant designs.
Figure 13.11 显示了汇编层面的后果:一个实现 ReLU 激活函数的代码段比较累加器的最高有效位(MSB)与零的大小,并使用 brge(大于等于分支)指令在值为非正时跳过赋值。故障注入抑制了该分支,导致处理器始终执行 “else” 块。因此,无论输入值如何,神经元的输出都被强制为零。

Figure 13.11: 故障注入攻击:操纵汇编代码绕过安全检查,强制神经元输出为零,无论输入为何,并展示了机器学习系统中的硬件漏洞。
故障注入攻击也可以与侧信道分析相结合,攻击者首先观察功耗或时序特征以推断模型结构或数据流。这种侦察使他们能够针对特定层或操作(如激活函数或最终决策层)进行攻击,最大化注入故障的影响。
嵌入式和边缘 ML 系统尤为脆弱,因为它们通常缺乏物理防护,且在资源受限的环境下运行,限制了运行时防御。若没有防篡改封装或安全硬件安全域,攻击者可能直接访问系统总线和内存,从而实现精确的故障操控。许多嵌入式 ML 模型设计为轻量级,几乎没有冗余或错误纠正机制,难以从诱发的故障中恢复。
防御必须将物理硬化与运行时证据相结合。防篡改封装和设计混淆降低了访问可能性,而纠错内存、安全固件和冗余检查则减少了静默腐败。模型输出和传感器一致性监控可以捕获一些逃过底层检测的故障行为;MAVFI 在微型航空器工作负载中通过异常检测与恢复展示了这一模式(Hsiao et al. 2023)。这些保护在成本和功耗受限的边缘系统中最为困难,因为额外的密码硬件或冗余可能负担不起,因此需要在电气、固件、软件和系统层面整体设计韧性。
Side-channel attacks
侧信道攻击回答了第三个部署决策:即使接口被锁定,计算是否仍可观察。它们打破了仅通过显式接口泄露信息的假设。这类攻击不直接针对软件或网络漏洞,而是利用硬件特性,如功耗、电磁辐射、时序行为或声学信号来提取敏感信息。
侧信道攻击的核心前提是:设备的运行会通过可观察的物理信号泄漏信息。这些泄漏可能来源于设备消耗的电能(Kocher et al. 1999)、发出的电磁场(Gandolfi et al. 2001)、完成计算所需的时间,甚至是产生的声学噪声。通过精确测量和分析这些信号,攻击者可以推断内部系统状态或恢复机密数据。
执行推理的 ML 加速器同其他计算设备一样暴露在物理泄漏通道中。边缘加速器上的矩阵乘法会产生取决于权重值和输入激活的电流模式。攻击者若靠近设备即可记录该功耗轨迹,收集足够样本后便能在无需 API 访问的情况下恢复层结构、激活函数选择或参数大小。已部署模型的侧信道面因此不仅包括保护密钥的密码操作,还涵盖推理计算本身。
最广为研究的案例之一是 高级加密标准 (AES) 实现([1]#fn274),其经验直接迁移到 ML 工作负载。虽然 AES 在数学上是安全的,但其加密过程的物理实现会泄漏可测量的信号——同样的原理也适用于 ReLU 激活、softmax 归一化以及权重加载等前向传播过程。
一个实用的攻击示例见于对密码验证过程的功耗分析(Kocher et al. 2011)。设想一个设备验证 5 字节密码(本例为 0x61, 0x52, 0x77, 0x6A, 0x73)。在认证过程中,设备逐字节通过串行接口接收密码,其功耗模式会揭示系统处理这些输入时的响应。
Figure 13.12 给出了基准:输入正确密码时,红色波形捕获串行数据流,标记每个字节的接收时刻,蓝色曲线记录设备随时间变化的功耗。当完整、正确的密码被提供时,功耗曲线在所有五个字节上保持稳定一致,为后续失败尝试提供了清晰的参考基准。

Figure 13.12: 功耗基准:设备在输入正确密码进行认证时功耗保持稳定,为后续图示提供对比基准。来源:Colin O’Flynn。
Figure 13.13 展示了输入错误密码时的情况:功耗特征出现偏离。这里前三字节(0x61, 0x52, 0x77)正确,功耗模式与基准吻合。但第四字节(0x42)错误后,设备停止认证,蓝色功耗曲线出现突跳,表明设备已进入错误状态并停止处理。

Figure 13.13: 侧信道攻击漏洞:功耗模式在认证过程中泄露密码信息;功耗平稳表明字节正确,突变则指示错误输入并导致处理停止。即使未知密码,攻击者也可通过分析功耗推断密码。来源:Colin O’Flynn。
Figure 13.14 显示极端情况:全部字节错误(0x30, 0x30, 0x30, 0x30, 0x30)时,设备在第一个字节后即检测到不匹配并立即终止处理。功耗曲线的蓝线在首字节后出现明显跳变,反映出早期认证失败。

Figure 13.14: 功耗跳变:首字节处理后蓝线的急剧上升显示立即的认证失败,突显错误密码通过功耗即可被快速检测。来源:Colin O’Flynn。
这些示例说明攻击者可以利用可观察的功耗差异缩小搜索空间,最终通过暴力分析恢复机密数据。该机制同样适用于 ML 推理:正如错误密码字节导致功耗急剧跳变,执行 ReLU 激活层的加速器在每个神经元的前激活值为正或负时会产生不同的电流。攻击者记录足够的推理功耗轨迹后,可利用这些信号推断稀疏模式、重建层拓扑或缩小参数恢复的搜索空间——无需任何模型 API 访问。
这些漏洞的范围超出了加密应用,因为其根本教训是物理的:计算会发出信号。彼得·赖特(Peter Wright)对 MI5/GCHQ ENGULF 行动的描述表明,通过在埃及大使馆附近使用改装的电话监听哈格林密码机(Hagelin cipher machine),GCHQ 能够从机器的声音中推断出每日设置(Wright 和 Greengrass 1987)。Genkin、Shamir 和 Tromer 将这一历史与现代声学密码分析联系起来,在这种分析中,依赖计算的声音可能泄露与安全相关的状态(Genkin 等人 2017)。同一理念的现代版本包括键盘监听(Asonov 和 Agrawal 2004)、基于 FPGA 的远程功率旁道通道(Zhao 和 Suh 2018)以及 FPGA 上的电压降故障攻击(Gnad 等人 2017)。
当加速器或边缘设备处理可观测信号附近的敏感数据时,机器学习系统也会继承这种风险。一个本地语音识别设备可能会泄露与命令相关的时序或功率模式。一个加速器可能通过时序、功率或电磁痕迹泄露其层结构、参数访问模式或批次形状。因此,旁道防御需要考察在部署环境中哪些信号是可观测的,以及屏蔽、常数时间执行、噪声、监控或物理访问控制是否能够将信号降低到足以保持信任边界的程度。
漏洞接口
漏洞接口位于物理访问和生命周期可信之间:每个诊断、更新或通信接口也是一个安全边界。旁道攻击通过物理信号泄漏;漏洞接口则通过系统已有的通道暴露信息或接受未经验证的输入。这些访问点在系统设计过程中常被忽视,但它们为攻击者提供了直接进入点,以提取数据、操纵功能或注入恶意代码。
漏洞接口是指任何泄露超出预期信息或接受错误行为者命令的访问点。常见原因包括身份验证薄弱、缺少加密、隔离不足,以及在生产环境中暴露的开发接口。消费、医疗和工业系统反复证明了这一模式:支持 Wi-Fi 的婴儿监视器暴露了未受保护的远程访问端口²⁷⁵,而起搏器漏洞²⁷⁶表明无线接口可能变成安全关键的控制通道。
一个涉及智能灯泡的显著案例表明,生产设备上留存的可访问调试端口²⁷⁷泄露了未加密的 Wi-Fi 凭证。此安全疏忽为攻击者提供了一条进入家庭网络的途径,无需绕过标准安全机制。
机器学习的后果是:维护路径可能变成模型提取、数据泄露或固件篡改路径。智能家居安全系统可能使用维护接口进行软件更新;如果该接口缺乏身份验证或传输未加密流量,同一网络上的攻击者可以暴露用户行为模式、破坏模型完整性或禁用安全功能。生产调试接口可能泄露训练数据、模型参数或中间输出,从而使对抗样本的生成和逆向工程变得更容易。
因此,保护接口既是清点工作,也是密码学工作。强身份验证、加密通信、运行时异常检测、访问控制策略、定期审计以及零信任默认都服务于同一原则:每个接口都必须证明其暴露的内容及其使用者。云、边缘和嵌入式部署在实现上有所不同,但一个未受保护的访问点都可能破坏这三种部署方式。
假硬件
假硬件回答了在组件粒度上的溯源决策:采购成为安全边界的一部分,因为机器学习系统依赖于其运行所依赖的每个组件的可靠性和安全性。假冒部件可能外观和功能均类似于真正的处理器、内存模块、传感器或网络设备,但其可能老化更快、在负载下失效,或包含隐藏电路。在一个人脸识别门禁系统中,假冒处理器可能将可靠性问题转化为身份验证绕过。在数据中心,克隆路由器可能悄悄观察模型预测或用户数据。
合规风险遵循相同路径。不知情地将假冒组件集成到机器学习系统中的组织可能违反安全、隐私或网络安全义务²⁷⁸。医疗保健组织必须在整个技术栈中证明 HIPAA 合规性,而处理欧盟公民数据的组织必须满足 GDPR 的技术和组织防护要求。因此,组件溯源不仅仅是采购偏好;它是已部署系统与已认证系统相匹配的证据。
经济压力制造了漏洞:低成本供应商降低了采购成本,但增加了验证需求。检测困难在于,假冒组件被设计为模仿正品,可能需要专用设备或法医分析。对于安全关键且低延迟的机器学习系统(如自动驾驶汽车、工业自动化和医疗诊断),预防通常比在部署后发现硬件基础不可信更具成本效益。
供应链风险
供应链风险将溯源决策从单个组件扩展到整个生命周期。图 13.15 映射了这一全球硬件供应链,展示了机器学习系统如何由通过复杂供应网络的组件构建而成,该网络涉及设计、制造、组装、分发和集成。每个阶段都存在被篡改、替换或假冒的机会,而这些通常未被最终系统的部署者所知。
恶意行为者可以在生命周期的几个点上进行利用:回收的电子废弃物可以被重新标记为新组件,分销商可以将克隆部件混入合法货物中,制造设施内部人员可以植入硬件木马,这些木马在部署后几乎不可能被检测到。验证方法如显微摄影、X 射线筛选和功能测试存在,但其成本使得大规模采购中的穷尽检查不切实际。因此,大多数组织需要基于风险的溯源控制,而不是完美的组件检查。
风险不仅限于单个设备,因为机器学习平台是异构的。CPU、GPU、内存、网络设备和专用加速器可能都来自不同的供应路径。一个组件的妥协可能破坏共享云、联邦边缘网络或多租户推理机群中的隔离,在这些环境中,跨租户分离依赖于硬件行为。
一份有争议的 2018 年报告使这一可见性差距变得具体,正如下面的案例研究所考察的那样。任何单一指控之下都隐藏着一个结构性问题:公司依赖复杂且不透明的制造和分销网络,并且对单一制造商或地区的过度依赖——包括半导体行业对台积电(TSMC)的依赖——进一步集中了风险。
保护机器学习系统需要从默认信任的采购模式转向零信任供应链实践。供应商筛选、来源验证、防篡改保护、行为监控和容错隔离共同维持同一不变性:运行模型的硬件必须是架构所假设的硬件。图 13.15 将这些漏洞映射到硬件生命周期的五个阶段,从初始芯片设计到生产部署。
图 13.15:硬件供应链攻击面:硬件生命周期的每个阶段都可能存在漏洞。与软件不同,软件漏洞通常可以通过远程修补来修复,但硬件被破坏往往需要物理替换。攻击者可以在设计阶段引入缺陷,在制造过程中植入木马电路,在组装过程中替换劣质组件,或在分发过程中篡改设备。
图 13.15 凸显了经济不对称性:软件漏洞通常可以通过远程修补来解决,但硬件在任何阶段的破坏可能需要物理替换。因此,预防的成本远低于补救。
案例研究:超微争议
供应链风险的抽象性质在一起引起行业广泛关注的高调争议中变得具体。2018 年,《彭博商业周刊》发表了一篇广受讨论的报道,指控中国国家赞助行为者在超微制造的服务器主板上秘密植入了微型监控芯片(Robertson 和 Riley 2018)。苹果、亚马逊和超微公开否认了这些说法,行业专家则质疑缺乏可验证的技术证据。尽管此案存在争议,但争议暴露了一个运营问题:组织往往缺乏足够的可见性来验证制造、组装、分发和集成过程,以证明部署的硬件与其认证的系统相匹配。
对于机器学习系统而言,这种来源差距不是边缘问题。训练集群、推理舰队和边缘设备依赖于来自多个供应商的处理器、加速器、内存、网络适配器、传感器和固件。任何一层中的隐藏妥协都可能通过观察数据、修改执行或在软件控制启动前削弱隔离来绕过模型级防御。诸如《芯片与科学法案》(美国国会 2022)之类的政策响应可以降低某些集中风险,但它们无法替代技术防护措施。组件验证、运行时监控、证明和硬件根信任将供应链问题转化为可强制执行的部署检查。
工程要点并非是任何一起争议证明了某种特定攻击;而是硬件信任必须在设计、制造、采购、部署和报废的整个生命周期中持续得到证据支持。这种证据成为从供应链风险到其后安全部署机制的桥梁。
在从硬件信任转向由机器学习启用的攻击之前,请检查每项安全机制是否确实附加在其实际保护的边界上。
虽然通过可信执行环境(TEEs)实现的硬件级隔离为防御受损基础设施上的专有模型提供了关键基础,但保护模型只是战斗的一半。模型本身也可能被武器化。用于防御的相同模式识别能力——自动异常检测、统计分类、序列预测——当对手将机器学习作为攻击工具使用时,也可能被转而用来对付我们。
机器学习系统成为攻击工具时
考虑一种传统的旁道攻击,其中人类密码分析师花费数月手动对齐嘈杂的示波器痕迹以提取密码学密钥。现在,想象用一个训练有素的卷积神经网络取代该分析师,该网络能够直接将原始功率痕迹映射到私钥,耗时仅为毫秒。深度学习的普及不仅推进了我们的防御能力;它还从根本上实现了对手工具包的自动化和加速。
迄今为止所考察的威胁,包括模型盗窃、数据投毒、对抗性攻击和硬件漏洞,都将机器学习系统定位为需要保护的资产。相反的情景完成了威胁模型:机器学习系统自身也可能成为攻击工具。在对抗性环境中,用于提高生产力、自动化感知或辅助决策的同一模型可能被重新用于执行或放大进攻行动。机器学习这种双用途特性——既能保护系统又能破坏系统——标志着在系统级威胁模型中考虑机器学习的核心转变。
机器学习的进攻性使用指的是任何场景,其中机器学习模型被用于促进对另一系统的妥协。在这种情况下,模型本身不是攻击的对象,而是对手推进其目标的机制。这些应用可能涉及侦察、推理、颠覆、冒充,或原本需要手动执行的利用策略的自动化。
这样的进攻性应用并非纯属猜测。有文档记载的进攻性用途包括垃圾邮件过滤规避、模型驱动的恶意软件生成、侦察和旁道分析。这些场景之所以有别于其他场景,在于它们故意使用基于学习的系统来以破坏目标组件的机密性、完整性或可用性的方式提取、操纵或生成信息。
这些有文档记载的案例说明了机器学习模型如何作为对手能力的放大器。语言模型能够实现更具说服力和适应性的钓鱼攻击,而聚类和分类算法则通过学习系统级行为模式促进侦察。对抗性样本生成器和推理模型能够系统地揭示决策边界或数据隐私保护中的弱点,通常只需对已部署系统有限的外部访问。在硬件环境中,基于旁道数据训练的深度神经网络可以自动从物理测量中提取密码学秘密,将专家驱动的过程转变为可学习的模式识别任务。同样的深度学习基础——用于空间模式识别的卷积网络、用于时序依赖的循环架构以及基于梯度的优化——不仅支持有益的应用,还使攻击者能够在这些技术跨硬件平台从云 GPU 到边缘加速器上加以应用。表 13.7 映射了这种进攻性机器学习用例的多样性,按所采用的模型类型、被利用的系统漏洞以及攻击者获得的优势对每个用例进行分类。
| 进攻性用例 | 机器学习模型类型 | 目标系统漏洞 | 机器学习的优势 |
| --- | --- | --- | --- |
| 钓鱼和社会工程 | 大语言模型(LLMs) | 人类感知和通信系统 | 个性化、情境感知的消息撰写 |
| 侦察和指纹识别 | 有监督分类器、聚类模型 | 系统配置、网络行为 | 可扩展的、自动化的系统行为画像 |
| 利用生成 | 代码生成模型、微调转换器 | 软件错误、不安全的代码模式 | 候选利用的自动发现 |
| 数据提取(推理攻击) | 分类模型、反演模型 | 通过模型输出泄露的隐私 | 在有限或黑盒访问下进行推理 |
| 规避检测系统 || 对抗性输入生成器 || 已部署的机器学习系统中的检测边界 || 通过制作最小扰动的输入来规避过滤器 |
| 硬件级攻击 || 深度学习模型 || 物理侧信道(例如,功耗、时序、电磁辐射、时序) || 直接从原始信号中学习泄漏模式 |
表 13.7:进攻性机器学习用例:本表格分类了机器学习如何通过实现自动化内容生成、利用系统漏洞和提升攻击复杂性来放大网络攻击;它详细说明了每种进攻性应用的典型机器学习模型、目标弱点和产生的优势。理解这些用例对于开发有效防御以抵御启用学习的威胁非常重要。
尽管这些应用在技术实现上有所不同,它们共享一个共同基础:对手用能够逼近或适应目标脆弱行为的学习模型替代静态利用。这种转变提高了灵活性,降低了人工开销,并在面对不断演变或部分被掩盖的防御时提升了鲁棒性。
使此类威胁特别显著的原因在于其有利的扩展行为。就像计算机视觉或语言建模中的准确率随着更多数据、更大的架构和更大的计算资源而提升一样,面向攻击的机器学习模型的性能也随之提升。例如,在更大规模的钓鱼尝试或功耗痕迹语料库上训练的模型可能会更有效地泛化,逃避更多的探测器,或者在更少的输入下实现成功。驱动有益人工智能创新的同一生态系统——包括公开数据集、开源工具和可扩展基础设施——也降低了开发有效进攻模型的门槛。
这种动态在攻击者和防御者之间造成了不对称。防御措施受到部署限制、延迟预算和监管要求的约束,而攻击者则可以以极低的边际成本扩展训练管道。预训练模型和公共机器学习平台的广泛可用性进一步降低了开发高影响力攻击所需的专业知识。
检视这些进攻能力服务于一个关键的防御目的。安全专业人员早已认识到,有效的防御需要理解攻击方法。这一原则渗透于渗透测试²⁷⁹、红队演习²⁸⁰以及整个网络安全行业的威胁建模之中。
在机器学习领域,这种理解变得至关重要,因为机器学习同时放大了防御和进攻能力。使机器学习在合法应用中有效的相同计算优势——模式识别、自动化和可扩展性——也增强了对抗性能力。通过研究机器学习如何被武器化,安全专业人员可以预见攻击向量、设计防御并开发检测机制。
因此,对机器学习系统安全的任何全面论述都必须同时考虑机器学习系统自身的脆弱性以及机器学习如何被用于对抗其他组件的方式:软件、数据和硬件同样如此。机器学习系统的进攻潜力直接为设计有弹性的防御提供依据。
案例研究:深度学习在侧信道攻击中的应用
为了具体说明这些进攻能力,我们研究一个特定案例,其中机器学习如何改变传统攻击方法。众所周知且易于重现的深度学习辅助侧信道攻击(SCA)示例是 SCAAML 框架(Side-Channel Attacks Assisted with Machine Learning)(Bursztein et al. 2024; Bursztein and Picod 2019)。该框架由谷歌研究者开发,提供了前文所述攻击流程的实际实现。
Figure 13.16 说明了密码学计算如何产生与数据相关的功耗消耗特征,从而揭示算法状态。这些变化虽然微弱,但可测量,并反映了算法在特定时间点的内部状态。图注中的三条轨迹对应不同处理的值(二进制标签 0000、1111 和 0101):由于每个值消耗可测量不同的功率,它们的幅度分离正是模型用于分类单个中间计算所依赖的秘密位的特征。
图 13.16:功耗痕迹:密码学计算揭示了与数据相关的微小功耗波动,这些波动在特定操作期间反映了内部状态。
在传统的侧信道攻击中,专家依赖统计技术来提取这些差异。然而,神经网络可以学会将这些信号的形状与正在处理的特定数据值关联起来,从而以模仿专家精心设计的模型但具备更高灵活性和泛化能力的方式有效地解码信号。该模型在功耗痕迹及其对应的中间值(例如,S-盒操作的输出)的带标签示例上进行训练。随着时间的推移,它学会将痕迹中的模式与依赖秘密的计算行为关联起来。这使得密钥恢复任务转变为一个分类问题,其中目标是仅根据痕迹形状来推断正确的密钥字节。
在 SCAAML 指南中,Bursztein 和 Picod (2019) 训练了一个卷积神经网络(CNN),以从运行开源 TinyAES 实现的 STM32F415 微控制器上采集的功耗痕迹中提取 AES 密钥。该模型被训练以直接从原始功耗痕迹预测 AES 算法的中间值,例如第一轮中 S-盒²⁸¹ 的输出。训练好的模型仅使用每字节少量痕迹即可恢复完整的 128 位密钥。
Figure 13.17 展示了实验硬件配置:一个 ChipWhisperer 设置,配有自定义的 STM32F 目标板,该板在执行 AES 操作的同时允许外部设备以高时间精度监控功耗。此设置演示了即使是廉价、低功耗的嵌入式设备也可能通过机器学习模型可利用的侧信道泄漏信息。

图 13.17:STM32F 目标板:在微控制器上启用 AES 操作期间的功耗监控,突显出可被机器学习模型利用的侧信道漏洞。
后续工作通过引入能够利用痕迹中更广泛时间依赖性的长程模型来扩展此方法,即使在噪声和不同步的情况下也能提升性能 (Bursztein et al. 2024)。这些发展凸显了机器学习模型作为进攻性密码分析工具的潜力,尤其是在安全硬件的分析中。
其影响不仅限于学术兴趣。随着深度学习模型持续扩展规模,它们在侧信道场景中的应用很可能降低硬件级攻击的成本、技能门槛和所需痕迹数量,从而对嵌入式机器学习系统、加密模块和受信任执行环境的安全部署构成日益增长的挑战。
对抗性机器学习显著降低了执行复杂侧信道和提取攻击所需的技能门槛,使得边界防护不再充足。在攻击呈自动化和持续性的环境中生存,需要全面的、多层次的防御机制,这些机制必须同时保护数据、模型和底层基础设施。
综合防御架构
绕过 API 速率限制、击败输入消毒并开始使用对抗样本查询模型的坚定对手,单一防御无法阻止。单一防御线是单点故障。因此,安全的机器学习系统需要深度防御:重叠的层级保证某一机制被攻破后,仍无法完全控制数据、模型行为、运行时执行以及硬件可信性。
Figure 13.18 可视化了四个层级。硬件基础(如受信任执行环境和安全启动)在操作系统之下锚定信任。系统层措施(如 OS 隔离和访问控制)保障运行时操作。模型层防御(如对抗训练²⁸²、输入校验和输出监控)保护已学习的函数。数据层保护(如差分隐私、加密和溯源追踪)限制模型及其操作者可以泄露的信息。层级顺序很重要,因为每一层都假设下层尚未失效。
层级防御(亦称深度防御)将这种依赖关系明确化。机器学习系统易受到输入操控、数据泄露、模型提取、运行时滥用以及硬件妥协的威胁,因为数据、模型行为和基础设施紧密耦合。数据层的隐私技术(如差分隐私和联邦学习)的安全性取决于支撑它们的运行时监控、模型保护和硬件信任锚;硬件信任锚只有在其上方的软件层维护预期策略时才有价值。
Figure 13.18: 层级防御堆栈:机器学习系统需要多层次的安全策略,从基础硬件防护到以数据为中心的隐私技术,在所有层面建立可信任。本架构在硬件、系统、模型和数据层面集成防护,以减轻威胁并确保在生产环境中的稳健部署。
隐私保护的数据技术
数据层首先要做出隐私决策:将原始记录集中保存、保留在客户端设备上、在加密值上计算,还是用合成替代品取代它们。此决策在架构层面先于算法层,因为它固定了本章跟踪的系统变量:信息泄露、模型效用、运行时成本以及保证强度。机器学习工作流常依赖原始高保真数据来训练有效模型,因此隐私保护技术应被视为不同的方式来移动或限制这种曝光,而不是可互换的工具。
联邦学习
差分隐私通过添加噪声来保护单条记录,但某些领域需要更结构化的解决方案:彻底将原始数据保留在设备上。在医疗、金融等受监管的领域,政策、同意或数据使用协议可能禁止集中原始记录,因而联邦架构成为自然选择。
原型 C(Federated MobileNet) (Section 1.6.1) 代表了隐私是硬约束而非优化目标的系统类别。对于一批处理心脏数据的健康监测设备,如果政策或同意禁止集中原始信号,联邦学习便成为满足隐私‑效用权衡的自然架构选择:在不集中数据的前提下实现集体智能。
差分隐私为数据处理提供数学保证,而联邦学习 (FL) 则通过重构学习流程本身来降低隐私风险。Section 11.5 探讨了 FL 协议及加权聚合机制,这些机制通过将数据本地化在客户端设备上提供结构性的隐私保护。然而,单靠 FL 并不能保证隐私。客户端传输的梯度更新仍可能泄露敏感信息,使得 FL 成为全面隐私策略中必要但不足的组成部分。
梯度泄露与隐私保护计算
梯度反演攻击(如 Deep Leakage from Gradients)表明,获取到客户端原始更新的对手可以高保真地重构原始训练数据(例如图像或文本)Zhu et al. 2019;Nasr et al. 2019。梯度向量携带了生成它的数据信息,即使原始数据从未离开设备,也会形成信息泄露通道。针对该漏洞的防御是安全聚合,这是一种加密协议,能够让服务器在不观察任何单个客户端贡献的情况下计算整体更新。安全聚合是更广泛层级防御框架(见 Figure 13.19 (Figure 13.19))的一部分,与硬件层基元、系统层监控、模型层保护以及差分隐私、联邦学习等数据治理机制并列。
Figure 13.19: 包括安全聚合的层级防御:从硬件到数据治理的四层防御,安全聚合位于数据治理层,与差分隐私、联邦学习和同态加密并列。硬件层安全(TEE、Secure Boot、HSM)在硅芯片中锚定信任;系统层安全提供运行时验证和监控;模型层安全保护权重和部署;数据隐私与治理机制保护训练数据。
该漏洞推动了安全聚合协议(Bonawitz et al. 2017)和差分隐私的需求,但信任边界决定了使用哪种 DP。中心化差分隐私假设可信的策展人或聚合服务可以在发布噪声聚合前看到原始记录或原始更新。本地差分隐私则在服务器看到任何信息之前对每个客户端的贡献进行随机化,能够抵御更强的对手,但通常会带来更大的效用损失。安全聚合位于这两者之间:服务器只看到聚合结果而非单个更新,然后可以在聚合上添加 DP 噪声,使得发布的聚合只揭示对任何参与者的有限信息。有趣的是,Section 6.6 (Section 6.6) 中讨论的梯度压缩技术在提升通信效率的同时,也可能影响隐私特性:压缩后的梯度可能泄露的信息比全精度更新少,但压缩与隐私保证之间的交互需要慎重分析。因而,联邦部署往往将 FL、安全聚合以及适当的 DP 威胁模型层叠,以实现超越结构性保护的正式隐私保证。Google Gboard 的联邦学习部署即是这种层级方法的典型案例。
对于原型 C 移动/联邦工作负载,Google 的 Gboard 键盘(如图 11.2 所示,是一个在设备上运行的键盘应用)展示了安全机制如何在 FL 协议之上进行层叠。从隐私角度来看,该模式结合了三种防御机制:FL 将原始输入数据保留在设备上;差分隐私可以在显式 ϵ 下限制梯度更新导致的信息泄漏;安全聚合使服务器只能观察到聚合更新,而无法看到单个贡献。已发表的 Gboard 及联邦学习大规模应用报告表明,这种分层设计能够在移动带宽预算内保留有用的模型质量,同时不对原始输入数据进行集中化 (Hard et al. 2018; Bonawitz et al. 2019)。
联邦学习通过保持原始数据本地化,提供结构性隐私;差分隐私通过限制单个记录对输出的揭示,提供统计隐私。第三类提供加密隐私:同态加密 (HE)²⁸³ 和 安全多方计算 (SMPC) 允许模型在加密输入上执行推理或训练 (Gentry 2009; Yao 1982)。同态操作的计算开销通常需要效率优化技术,包括模型压缩(量化可降低加密操作的精度要求)、架构优化(深度可分离卷积可最小化加密乘法)和硬件加速(专用加密加速器),以维持实际性能。
在 HE 的情况下,密文上的操作对应于明文上的操作,从而实现加密推理:Enc(f(x)) = f(Enc(x))
此特性支持在不可信环境中进行隐私保护计算,例如在敏感健康或金融记录上的云推理。HE 的计算成本仍然很高,使其更适用于固定功能模型和延迟容忍的批处理任务。SMPC²⁸⁴ 与此不同,它将计算分配到多个方之间,使得任何单方都无法学习到完整的输入或输出。这在机构间联合训练中特别有用,例如医院或银行²⁸⁵,这些机构具有严格的数据使用政策。
合成数据生成
合成数据将隐私决策从隐藏原始记录转变为用生成的替代品替换它们。除了同态加密等加密方法外,合成数据生成²⁸⁶ 提供了一种实用的替代方案。这种方法提供了一种直观的隐私保护解决方案:如果我们能够创建在统计上与真实数据相似的人工数据,那么我们就可以在不暴露敏感信息的情况下训练模型。
合成数据生成通过在原始敏感数据集上训练生成模型(如 GAN、变分自编码器 (VAE) 或扩散模型),然后使用这个训练好的生成器来生成新的人工样本。其核心思想是,生成模型在学习数据的底层模式和分布时不会记忆特定个体。当正确实施时,合成数据保留机器学习所需的统计特性,同时移除可识别的个人信息。
生成通常遵循以下三个有序阶段:
-
分布学习:生成模型 G[θ] 在真实数据 𝒮[real] = {x[1], x[2], …, x[n]} 上训练,以学习数据分布 p(x)。
-
合成采样:新样本 𝒮[synthetic] = {G**θ, G**θ, …, G**θ} 通过从随机噪声 z[i] ∼ 𝒩(0, I) 中采样来生成。
-
验证:检查合成集,以确保其在保持与 𝒮[real] 统计保真度的同时,避免对特定记录的记忆。
通过在真实数据集上训练生成模型并从所学分布中采样新实例,组织可以创建近似原始数据统计特性的数据集,而不会保留可识别的细节 (Goncalves et al. 2020)。
虽然具有吸引力,但合成数据生成面临重要限制。生成模型可能遭遇模式崩溃,无法捕捉原始数据中罕见但重要的模式。更重要的是,复杂的对手可能通过生成模型反演攻击或成员推断来潜在地提取关于原始训练数据的信息。隐私保护高度依赖于生成模型的架构、训练过程和超参数选择,因此在没有额外机制(如差分隐私)的情况下,很难提供正式的隐私保证。
考虑一个实际案例:一家医院希望在保护隐私的前提下共享患者数据用于机器学习研究。他们在包含人口统计、实验室结果和诊断的 10,000 条真实患者记录上训练了一个生成对抗网络 (GAN)。GAN 学会生成具有真实特征组合的合成患者(例如,糖尿病患者通常具有升高的葡萄糖水平)。由 50,000 名人工患者组成的合成数据集保留了训练诊断模型所需的临床相关性,同时不包含任何真实患者信息。然而,医院在 GAN 训练过程中也应用了差分隐私(ϵ = 1.0),以防止模型记忆特定患者,以 5% 的统计保真度降低为代价,换取正式的隐私保证。
这些技术共同体现了一种转变:从仅通过隔离数据来实现隐私,转向在学习过程中本身嵌入隐私保护机制。每种方法根据应用场景、威胁模型和监管约束提供不同的保证和权衡。有效的系统设计通常结合多种方法,例如在联邦学习框架内应用差分隐私,或在重要推理阶段采用同态加密,以构建既实用又尊重用户隐私的机器学习系统。
在联邦学习、差分隐私、同态加密、安全多方计算和合成数据中,隐私保护方法在所提供的保证以及系统层面的影响方面有所不同。因此,机制的选择取决于计算限制、部署架构和监管要求。后续章节将在介绍解释其系统成本所需的部署机制后,回顾这些方法。目前,关键点是:隐私保证、运行时开销、操作成熟度和使用场景适配性必须一起评估,而不能被视为独立属性。
案例研究:GPT-2 数据提取攻击
在转向安全模型设计之前,GPT-2 提取案例说明了仅通过存储访问控制无法解决模型级泄漏问题。2020 年,研究人员表明,大型语言模型可能通过精心构造的提示泄露敏感训练数据 (Carlini et al. 2021)。研究团队系统地查询 OpenAI 的 GPT-2 模型,以提取其训练数据集中的逐字内容,揭示了大规模语言模型中的隐私漏洞。
攻击证明能够从模型输出中有效提取敏感信息。研究人员通过反复用诸如“My name is”之类的提示词查询模型,随后尝试继续引用名人名言或重复短语,成功提取出电子邮件地址和电话号码等个人信息、版权图书的逐字段落,以及从训练数据中记忆的其他可识别片段。
技术方法利用了 GPT-2 对罕见或重复文本序列的记忆。研究人员结合了以下四种技术:
-
提示工程:精心设计的输入触发记忆序列。
-
延续攻击:部分引用或名称引发完整的敏感信息。
-
统计分析:输出模式表明了逐字记忆。
-
验证:通过将提取的数据与已知公开来源进行交叉引用来确认准确性。
他们生成了 600,000 个候选样本,并通过人工验证确认了 604 个唯一的记忆训练样本。
该攻击挑战了关于训练数据隐私的假设。大型语言模型可能成为无意的数据库,存储并从其训练数据中检索敏感信息。结果违背了训练数据在模型训练后会被“遗忘”的预期,揭示了规模放大了隐私风险:在 GPT-2 家族(从 1.24 亿到 15 亿参数)中,规模更大的模型记忆的训练数据多于规模较小的模型。
研究表明,简单的数据防护措施可能不足以防范风险。过滤、去重和人工审查可以降低暴露风险,但模型仍可能记住罕见或重复的敏感字符串,凸显了模型实用性与隐私保护之间的张力。诸如差分隐私和激进数据过滤等防止记忆的技术可能降低模型质量,为从业者创造具有挑战性的权衡。
这一结果推动从业者采取分层缓解措施:更强的个人身份信息(PII)过滤、去重、利用提取式探针进行记忆审计、成员推断防御、研究机器遗忘(即在训练后移除或限制记录的学习影响)、以及关于训练数据权利和透明度的政策讨论。当需要正式的隐私界限时,差分隐私是一种严格的选择,但必须根据本章所述隐私机制的效用和计算成本进行评估(Carlini et al. 2021)。
安全模型设计
GPT-2 提取攻击表明,即使具备强大的数据级访问控制,模型自身也可能通过其输出、结构或学习行为泄露信息。差分隐私仅在训练或分析过程中应用并伴有明确的隐私预算时才能降低此风险;它不是针对已记忆敏感字符串的模型的事后补丁。这一局限性推动了模型级安全:通过减少模型作为信息导管的能力来补充数据保护的架构和设计选择。
因此,安全必须从机器学习系统的设计阶段开始。虽然下游机制如访问控制和加密可以在部署后保护模型,但许多漏洞可以通过架构选择、防御性训练策略以及将韧性直接嵌入模型结构或行为中的机制在更早阶段得到缓解。通过将安全视为设计约束,系统开发者可以降低模型遭受攻击的暴露度,限制其泄露敏感信息的能力,并提供可验证的所有权保护。
一种重要的设计策略是构建内在鲁棒(robust-by-construction)的模型,以降低推理时被利用的风险。例如,具有置信度校准或弃权机制的模型可以被训练为在输入不确定性高时避免做出预测。这些技术有助于防止在面对对抗性或分布外输入时的过度自信误分类。模型也可能采用输出平滑,即通过正则化输出分布来减少特别容易受到对抗性扰动影响的尖锐决策边界。
某些应用场景也可能受益于选择更简单或压缩的架构。限制模型容量可以减少对敏感训练数据记忆的机会,并增加从输出行为逆向工程模型的难度。对于嵌入式或端侧场景,较小的模型也更易于保护,因为它们通常需要更少的内存和计算资源,降低了侧信道泄露或运行时操纵的可能性。
另一个设计阶段的考虑是使用模型水印²⁸⁷,这是一种将可验证的所有权签名直接嵌入模型参数或输出行为中的技术(Adi et al. 2018)。例如,水印可能表现为由特定输入触发的隐藏响应模式,或者作为不影响准确性但在统计上可识别的参数空间扰动。
例如,在嵌入式硬件上部署的语音激活关键词检测系统(如“Hey Alexa”或“OK Google”),安全设计可能使用具有置信度校准的轻量级卷积神经网络来避免在不确定音频上的误激活。模型还可能包含一个弃权阈值,低于该阈值时它完全不产生激活。为保护知识产权,设计者可以通过训练模型仅在呈现特定、未使用且仅对开发者已知的音频触发器时响应一个独特标签来嵌入水印。这些设计选择在提升鲁棒性和问责性的同时,也为未来在知识产权争议或现场性能故障情况下的验证提供了支持。
在高风险应用中,如医疗诊断、自动驾驶汽车或金融决策系统,设计者也可能优先选择可解释的模型架构,如决策树、基于规则的分类器或稀疏网络,以增强系统可审计性。这些模型通常更易于理解和解释,从而简化潜在漏洞或偏见的识别。使用可解释模型使开发者能够提供更清晰的见解,说明系统如何得出特定决策,这对于与用户和监管者建立信任至关重要。
模型设计选择常常反映在准确性、鲁棒性、透明度和系统复杂性之间的权衡。从系统视角审视时,早期的设计决策能为长期安全带来最高价值。它们塑造了模型能学习什么、在不确定性下如何行为,以及可以对其溯源、可解释性和韧性做出什么保证。
安全模型部署
安全设计确立了模型的预期行为,但部署决定这种行为在面对用户、操作员和攻击者时是否能够得以保持。模型的脆弱性不仅由其训练过程或架构决定,还取决于该制品如何被序列化、打包、部署以及在推理过程中如何被访问。随着模型进入边缘设备、公开 API 和多租户平台,部署安全必须保障模型行为的完整性、机密性和可用性。
设计阶段的控制塑造了模型行为;部署阶段的控制保护打包的制品和推理接口。这些控制还必须经受住诸如量化、修剪和知识蒸馏等常规优化工作的考验,在这些过程中性能提升不得损害制品完整性、所有权证据或访问控制边界。
训练完成后,模型必须安全地打包以进行部署。以明文格式存储模型,包括未加密的 ONNX 或 PyTorch 检查点文件,可能会使模型的内部结构和参数暴露给能够访问文件系统或内存的攻击者。为降低此风险,模型应进行加密、混淆或放入安全容器中。解密密钥应仅在运行时且仅在受信任的环境中提供。额外的机制,如量化感知加密或完整性检查包装器,可以防止篡改和离线模型窃取。
部署环境也必须执行强访问控制策略,以确保只有授权的用户和服务才能与推理端点进行交互。身份验证协议,包括 OAuth 令牌、相互 TLS 或 API 密钥,应与基于角色的访问控制(RBAC)结合使用,以根据用户角色和操作上下文限制访问。托管的模型 API 通常使用提供方发放的 API 密钥、服务令牌或相互认证的服务身份对请求进行身份验证。这些控制不仅仅是计费或可用性机制:强身份验证是第 13.4.1.3 节中描述的速率限制和异常检测防御的前提条件。没有它,进行模型提取的攻击者可以通过执行 Sybil 攻击——通过数千个不同的未经身份验证的会话查询端点——来完全击败基于身份的速率限制。每个 OAuth 令牌、mTLS 证书或 API 密钥都会将匿名查询流转换为可追溯的身份,从而在经济和运营上使系统性提取成为可检测的行为。
此密钥对客户端进行身份验证,并允许后端执行使用策略、监控滥用行为并记录访问模式。安全的实现会从环境变量中检索 API 密钥,而不是将其硬编码到源代码中,以防止在版本控制系统或应用程序日志中泄露凭据。这种基于密钥的访问控制机制虽然易于实现,但需要仔细的密钥管理和监控,以防止滥用、未授权访问或模型提取。生产部署中常见的其他安全措施通常包括通过 SHA-256 哈希检查进行模型完整性验证、速率限制以防止滥用、输入验证以满足大小和格式约束,以及用于安全事件追踪的全面日志记录。
这里建立的安全部署模式自然地融入了开发工作流程,确保安全成为标准工程实践的一部分,而不是事后补救。运行时监控(第 13.7.5 节)将这些防护措施扩展到运行环境。
运行时系统监控
安全的部署控制谁可以加载模型和调用端点,但运行时监控询问正在运行的系统是否仍然像批准的系统那样行为。攻击者可能构造能够通过静态检查的输入,利用学习到的行为,或在部署后针对系统级基础设施。生产机器学习系统涵盖云服务、边缘设备和嵌入式系统,因此防御策略必须将实时观察与威胁检测和事件响应在每个环境中相连接。
运行时监控必须决定输入是否应到达模型,输出是否行为正常,以及服务系统是否仍然是我们部署的那个系统。相应的机制是输入验证、输出监控和系统完整性检查。
输入验证
输入验证是运行时的第一道防线。它确保传入数据在传递给机器学习模型之前符合预期的格式、统计属性或语义约束。如果没有这些保障措施,模型将容易受到对抗性输入的攻击——这些输入是经过精心设计的示例,旨在触发错误预测——或容易受到导致预处理或推理过程中出现意外行为的格式错误输入的攻击。
机器学习模型不同于传统的基于规则的系统,它们通常不会安全地失败。输入数据中的小而精心挑选的更改可能导致模型做出高置信度但错误的预测。输入验证有助于在管道早期检测并拒绝此类输入。
验证技术从低级检查(例如,输入大小、类型和值范围)到语义过滤器(例如,验证图像是否包含可识别的对象,或语音录音是否包含语音)。例如,一个人脸识别系统可能会验证上传的图像是否在一定分辨率范围内(例如,224 × 224 到 1024 × 1024 像素),包含 RGB 通道,并通过轻量级人脸检测过滤器。这可以防止诸如空白图像、文本截屏或合成对抗性模式之类的输入到达模型。同样,语音助手可能要求传入的音频文件时长在 1 到 5 秒之间,具有有效的采样率(例如,16 kHz),并且通过语音活动检测器(SAD)检测到人类语音。这确保了空录音、音乐片段或噪声突发在模型推理之前被过滤掉。
在诸如 DALL·E、Stable Diffusion 或 Sora 之类的生成系统中,输入验证通常涉及提示过滤。这包括扫描用户的文本提示以查找禁用词、品牌名称、粗俗语言或误导性的医学声明。例如,用户提示“生成一个标有 Pfizer 徽章的药瓶图像”可能会因商标问题而被拒绝或重写。这些过滤器可能使用关键词列表、正则表达式或轻量级分类器来评估提示意图。这些过滤器可以防止生成模型在采样开始之前生成有害、非法或误导性的内容。
在某些应用中,还会使用分布检查。这些检查评估传入的数据在统计上是否与模型在训练期间看到的数据相似。例如,计算机视觉管道可能会将输入图像的颜色直方图与基线分布进行比较,并将异常值标记出来以进行人工审查或拒绝。
这些验证可以是轻量级的(启发式或阈值规则),也可以是学习到的(小型模型经过训练以检测分布偏移或对抗性伪影)。无论哪种情况,输入验证都充当推理前的防火墙:它减少了对对抗性行为的暴露,提高了系统稳定性,并增加了对下游模型决策的信任。
输出监控
即使输入通过验证,对抗性或意外行为仍可能在模型的输出中出现。输出监控是一种遏制机制,而不是预防机制:它不会阻止利用,但会在模型的预测中检测其症状,并在错误输出传播之前触发回退。这些机制会观察置信度、预测熵、类别分布或响应模式,以标记偏离预期行为的情况。
监视器所监视的信号取决策信号依赖于模型的模态。对于判别式分类器,预测置信度是关键目标:一个开始对低频类别分配高置信度的模型,或其在含糊语境中输出熵值崩塌的模型,正在发出对抗性输入或分布漂移的信号。同样的理念可推广至各种模态:内容审核模型会被监视是否存在预测的“安全”标签与辅助参考信号之间的不匹配;诸如欺诈检测器之类的时间序列模型会被监视是否在高流量期间出现突如其来的分数下降,这可能暗示着篡改或规避行为。在这些情况下,监视器会将实时预测流与期望分布进行比较,并在两者出现偏离时触发回退机制(例如,升级至人工审核,或恢复至保守基线)。
生成模型,如文本到图像系统,引入了独特的输出监控挑战。这些模型可能生成高保真度的图像,但可能无意中违反内容安全政策、平台指南或用户期望。为缓解这些风险,后生成分类器常被用来评估生成内容是否具有不良特征,如暴力、裸露或品牌滥用。这些分类器位于生成模型之后,并可根据预定义的阈值对输出进行抑制、模糊或拒绝。有些系统还会检查内部表示(例如注意力图或潜在嵌入),以在内容渲染前预判潜在的滥用行为。
然而,仅靠提示过滤是不足以确保安全的。研究表明,文本到图像系统可能通过隐式对抗性提示被操控,即表面看似无害但实际会导致违反政策输出的查询。对抗性啃噬(Adversarial Nibbler)项目引入了一种开放的红队方法论,用于识别此类提示,并展示即使没有明确触发短语的情况下,诸如 Stable Diffusion 之类的模型仍可能产生意外输出。
提供了具体的例子,说明无害的提示如何触发不安全的生成。这些例子凸显了事前生成安全检查的局限性,并强化了基于输出的监控作为第二道防线的必要性。这种由提示过滤后跟随事后内容分析组成的两级流水线,对于在开放式或面向用户的环境中安全部署生成模型至关重要。

图 13.20:对抗性提示规避:隐式对抗性提示通过触发非意图生成来绕过典型的内容过滤器,暴露了仅依赖事前生成安全检查的局限性。这些例子凸显了事后内容分析作为互补防御层的必要性,以构建健壮的生成式 AI 系统。
在语言生成领域,输出监控发挥着不同但同样重要的作用。这里,目标通常是检测毒性、幻觉性声明或偏离分布的响应。例如,一个客服聊天机器人可能会被监控关键词的出现、语调的一致性或语义连贯性。如果响应包含粗俗语言、未经证实的断言,或句法错误的文本,系统可能会触发重新表述、启动回退到脚本模板,或完全终止响应。
有效的输出监控结合了基于规则的启发式方法与基于历史输出训练的学习型检测器。这些检测器能实时标记偏差,并将警报馈送至事件响应流水线。不同于以模型为中心的防御手段(如对抗训练),其旨在提升模型鲁棒性,监控则在模型固定后构成一种运营韧性层:在安全重要或政策敏感的应用中,它是用来限制上游防御未能捕获的漏洞所造成损害的手段。
这些原则体现在输出过滤框架中。例如,Llama Guard 是一种基于大语言模型的输入输出防护机制,它依据政策类别对人机对话进行分类。同样,ShieldGemma 作为 Google 开放 Gemma 模型发布的一部分而开发,在推理过程中应用可配置的评分函数来检测和过滤不良输出。这两个系统均展示了如何将安全分类器和输出监控器集成到运行时栈中,以支持可扩展且符合政策的生成式语言模型部署。
完整性检查
虽然输入和输出监控关注模型行为,系统完整性检查则确保底层模型文件、执行环境和服务基础设施在整个部署过程中保持未被篡改。这些检测未经授权的修改,验证生产环境中运行的模型是否为真实版本,并向操作员发出可疑系统级活动的警报。
最常见的完整性机制之一是加密模型验证。在模型加载到内存之前,系统可以计算模型文件的加密哈希(例如 SHA-256),并将其与已知良好的签名进行比较。
访问控制和审计日志可作为加密检查的补充。机器学习系统应通过基于角色的权限限制对模型文件的访问,并监控文件访问模式。例如,反复尝试从非标准路径读取模型检查点,或来自未授权 IP 范围的推理请求,可能暗示篡改、特权升级或内部威胁。在云环境中,基于容器或虚拟机的隔离有助于强制执行进程和内存边界,但这些保护可能因配置错误或供应链漏洞而在长期使用中逐渐削弱。
例如,在受监管的医疗机器学习部署中,完整性检查可能包括三个关卡:
-
模型完整性:验证模型哈希与签名清单是否匹配。
-
依赖完整性:确认运行时环境仅使用经批准的 Python 包。
-
执行完整性:检查推理是否发生在已签名并经过证明的虚拟机内。
这些检查确保符合如 HIPAA 的完整性要求以及 GDPR 的问责原则,降低静默故障的风险,并在审计或安全事件发生时提供取证踪迹。
一些系统还会实施运行时内存验证,例如扫描模型参数的意外变化,或检查内存映射的模型权重在执行过程中是否保持未被修改。虽然这类检查在高可靠性系统中更为常见,但随着安全 enclaves 和可信运行时的采用,它们正变得越来越可行。
综上所述,系统完整性检查在保护机器学习系统免受低级攻击方面发挥着重要作用,这些攻击可能绕过模型接口。当与输入/输出监控相结合时,它们提供了分层保障,确保即使在对抗性条件下,模型及其执行环境仍保持可信。
完整性检查只有在能够关联每个可部署制品时,才会成为机器学习供应链的控制手段。如果训练数据集、依赖锁文件、预处理代码、注册表提升事件、容器镜像以及部署证明无法绑定到同一发布记录,则仅有签名的模型文件是不够的。该发布记录为回滚和取证分析提供了具体对象:运维人员可以查询是哪一次数据快照生成了检查点,哪些依赖构建了服务镜像,哪位注册表主体完成了提升,以及哪些生产端点加载了该模型。
响应与回滚
当在已部署的机器学习系统中检测到安全漏洞、异常或性能下降时,快速且结构化的事件响应对于将影响降至最低至关重要。目标不仅是遏制问题,还要恢复系统完整性,并确保后续部署能够受益于已获得的洞察。与传统软件系统不同,机器学习的响应可能需要处理模型状态、数据漂移或推理行为,使得恢复过程更加复杂。
第一步是定义触发升级的事件检测阈值。这些阈值可以来源于输入校验(例如无效输入率),输出监控(例如预测置信度下降),或系统完整性检查(例如模型签名验证失败)。一旦阈值被跨越,系统应启动自动或半自动的响应协议。
一种常见策略是model rollback,即系统回退到先前已验证的模型版本。例如,若新部署的欺诈检测模型开始误分类交易,系统可以切换回已知良好的检查点,以在受影响的版本被隔离期间恢复服务。回滚机制需要版本化的模型存储,通常由 MLflow、TFX 或 SageMaker 等 MLOps 平台提供支持。
在高可用环境中,模型隔离可用于遏制故障。受影响的模型实例可以从负载均衡器中移除,或在金丝雀部署中进行影子运行。这样既能保证未受影响的副本继续提供服务,又能保留对受损模型的取证访问以供分析。
Traffic throttling 是另一种立即响应手段。如果有对手在公共推理 API 上进行高频探测,系统可以对违规 IP 段进行速率限制或临时封禁,同时继续为可信客户端提供服务。这种遏制技术可在无需全面系统关闭的情况下防止滥用。
在完成即时遏制后,即可展开调查与恢复。这可能包括对输入日志的取证分析、模型版本之间的参数差异,或推理容器的内存快照。生成式和工具使用系统需额外保留以下五类证据:
-
Prompts – 用户和系统消息展示模型被指示执行的内容。
-
Retrieved documents – 检索上下文显示哪些外部内容影响了响应。
-
Tool calls – 工具名称、参数及结果揭示了尝试或完成的外部副作用。
-
Policy‑classifier decisions – 安全与合规分类器的输出表明防护栏是否检测到异常行为。
-
Secret‑access logs – 凭证和私有数据的访问记录说明是否泄露了敏感状态。
这些制品必须保留足够的上下文,以区分隐私泄露、模型完整性失效和普通模型错误。在受监管的环境中,组织还可能需要通知用户或审计员,尤其是当个人或安全关键数据受到影响时。
恢复通常涉及重新训练或修补模型。这必须通过安全的更新流程完成,使用签名制品、受信任的构建管道以及已验证的数据。为防止同类事件再次发生,需将此次事件反馈到模型评估流水线,更新测试、细化监控阈值并加强输入防御。例如,若一次提示注入攻击绕过了生成式模型的内容过滤器,则重新训练可以加入对抗性提示,且提示验证逻辑需更新以覆盖新发现的模式。
最后,组织应建立事后审查制度。包括记录根因、识别检测或响应的缺口、更新策略和操作手册。事后审查帮助将运营失误转化为设计‑部署‑监控全生命周期的可执行改进。
硬件安全基础
输入校验可以捕获对抗样本,输出监控能够发现异常预测,完整性检查验证模型真实性。然而,这些软件防御都有一个关键假设:底层执行环境是可信的。如果攻击者通过特权提升漏洞入侵操作系统,或通过物理方式访问边缘设备的调试端口,那么这些精心设计的软件防护将失效,因为攻击者可以直接禁用它们。
正是这一局限推动了硬件安全机制的出现:在软件层之下运行的防护,即使操作系统、运行时或应用代码被攻破仍能保持有效。基于硬件的安全在硅片中建立根可信锚,为上层防御提供依赖。部署在边缘设备、嵌入式系统以及不受信任的云基础设施中的机器学习系统常常依赖这一锚点,因为攻击者可能拥有物理访问、共租户访问或对堆栈部分的管理权限。
在需要满足监管要求的场景下,信任边界尤为重要。处理受《HIPAA》保护的健康信息的医疗机器学习系统必须实现访问控制、审计控制、完整性保护和传输安全等技术保障。处理欧盟公民数据的系统则必须遵守《GDPR》,提供相应的技术和组织措施,包括“隐私即设计”。硬件安全本身并不能单独满足这些要求,但它提供了启动、运行时、密钥管理和设备身份等保证,而这些往往是软件控制所依赖的前提。
每一种硬件安全原语都对应一个信任问题,如表 13.8 所示。
| 机制 | 信任边界 | 保护对象 |
|---|---|---|
| Secure Boot | 启动固件和引导链 | 在执行前对固件和操作系统镜像进行密码学验证,防止被篡改的启动路径成为机器学习工作负载的可信基座。 |
| Trusted Execution Environments (TEEs) | 运行时代码和数据隔离 | 将专有模型、敏感输入和中间状态与不受信任的宿主操作系统、虚拟机管理程序或共租户进程隔离。 |
| Hardware Security Modules (HSMs) | 密钥的生成、存储和使用 | 将密码密钥保存在防篡改硬件中,而非普通进程内存,降低模型加密、签名和鉴定工作流中的泄露风险。 |
| Physical Unclonable Functions (PUFs) | 设备身份 | 使设备能够证明其硬件绑定的唯一身份,无法被克隆或提取。 |
物理不可克隆函数(PUFs)
/path/to/xxx目录下的设备身份根植于设备本身,利用制造过程中的变化生成硬件绑定身份,使得设备冒充和密钥克隆比复制软件凭据更困难。
表 13.8: 硬件安全机制
每个原语回答一个不同的信任问题:启动完整性、运行时隔离、密钥保管或设备身份。
这些机制在跨越硬件、固件和软件边界进行组合时效果最佳,而不是作为独立产品选择。
硬件-软件协同设计
现代机器学习系统需要跨整个硬件-软件栈分析安全权衡,就像性能优化分析计算、内存和能量一样。硬件安全特性与软件防御之间的相互依赖创造了既是机遇又是限制的情况,必须进行量化理解。
硬件安全机制引入了必须纳入系统设计的可测量开销。ARM TrustZone 世界切换根据处理器代和缓存状态增加大约 300–1000 个周期的延迟(在 500 MHz 时为 0.6–2 μs),每次在安全世界和非安全世界之间切换时产生。安全模式下的加密操作通常会消耗比正常执行多 15–30%的功率,影响移动机器学习应用的电池寿命。Intel SGX 上下文切换每次推断会施加 15–30 μs 的开销,代表典型边缘机器学习工作负载的 2%能量开销。
安全特性的扩展方式不同于计算资源。可信执行环境(TEE)内存限制会限制模型大小,无论系统内存是否充足。ResNet-18 模型在 FP32 权重下约为 46.8 MB,在 INT8 权重下约为 11.7 MB;而 ResNet-50 在 FP32 权重下约为 102.4 MB,在 INT8 权重下约为 25.6 MB(不包括激活值和运行时缓冲区)。这些限制在系统设计早期就会产生必须做出的架构决策。
Enclave memory caps which models can run securely.
不同的威胁模型和保护级别需要进行量化权衡分析。对于需要加密验证的机器学习工作负载,AES-256 操作会根据模型大小和硬件加速可用性每次推断增加 0.1–0.5 ms。
问题:一个团队在部署健康监测模型时比较了三种安全级别:
-
Plaintext:标准推断。
-
Encrypted transport (AES): 模型和数据在静止状态和传输过程中均经过加密。
-
Encrypted compute (FHE): 在加密数据上执行推断。
比较的是每种安全级别是否保持实时响应能力。
数学:推断延迟随着安全协议复杂度的增加而增加。
-
Plaintext: 20 ms。
-
AES-256: 20 ms + 0.5 ms = 20.5 ms(可忽略不计的税)。
-
FHE: 20 ms × 10,000× = 200 秒。
系统洞察:安全是一种延迟-效用权衡。标准加密(AES)在具有加密硬件的设备上几乎是“免费”的,但它仅在计算之间保护数据。隐私保护计算(FHE)在计算过程中保护数据,但代价是性能降低 10,000 倍。对于实时监控器来说,这个例子使得 FHE 在架构上变得不切实际。诸如 Intel SGX 和 NVIDIA H100 机密计算之类的机密计算产品展示了另一种设计点:与 FHE 相比,其硬件隔离延迟要低得多,但信任假设不同。
Privacy-preserving computation costs orders more latency than encryption.
同态加密操作可能造成数量级的计算开销,其中完全同态加密(FHE)通常处于较高端,而有些同态加密(SHE)处于较低端。这使得它们主要适用于小模型或离线场景,在这些场景中强隐私保证可以证明性能成本的合理性,也解释了为什么许多生产系统接下来会考虑硬件强制隔离。
可信执行环境
可信执行环境(TEE)首先是一个信任边界决策:即使周围主机被入侵,模型的哪些部分、密钥材料、输入数据或证明路径必须保持受保护。Trusted Execution Environment (TEE)³⁰² 是实现该边界的硬件隔离处理器区域。TEE 强制执行机密性、完整性和运行时隔离,确保即使主机操作系统或应用层被攻击,TEE 内部的敏感操作仍然安全。
在机器学习的背景下,TEE 对于保密模型参数、在推断过程中保护敏感用户数据以及确保模型输出可信至关重要。例如,TEE 可以防止模型参数被运行在同一设备上的恶意软件提取,或确保涉及生物特征输入(如面部数据或指纹数据)的计算安全执行。此功能在模型完整性、用户隐私或法规遵从性不可妥协的应用中至关重要。
一个有据可查的例子是苹果的安全封 enclave(Secure Enclave),它为苹果设备提供隔离执行和安全密钥存储。通过将加密操作和生物特征数据从主处理器中分离出来,安全封 enclave 被设计为即使应用处理器内核被破坏,也能保护用户凭证和 Face ID 特性 (Apple 2024b)。这种隔离保证在安全关键行业中反复出现,从 5G 控制平面和移动支付到可穿戴诊断和汽车 ADAS,只要模型完整性、用户隐私或法规遵从性不可妥协。
远程证明关闭了分布式信任循环:在两个组件交换敏感数据或模型更新之前,一个组件可以通过密码学方式验证另一个组件是否在预期的硬件保护边界内运行经过批准的代码。对于机器学习部署来说,TEE 改变了信任边界:推理和训练在 enclave 内部执行,因此中间激活值、敏感输入、模型权重和更新真实性免受系统级观察和篡改,分布式组件可以通过已证明的通道交换数据。其代价是内存。每个受保护的字节都必须适应 TEE 的有限安全区域,这就迫使在压缩模型和划分推理之间做出选择,以便只有敏感层在边界内运行。
TEE 的核心安全特性通过以下四种机制实现:
-
孤立执行:代码在普通世界操作系统无法访问的独立处理器模式下运行。
-
安全存储:诸如加密密钥或认证令牌等敏感资产存储在仅 TEE 可访问的内存中。
-
完整性保护:在执行前使用硬件锚定的哈希或签名验证代码和数据。
-
TEE 内数据加密:在 TEE 内处理的数据被加密,因此中间结果在没有由 TEE 内部管理的适当密钥的情况下无法访问。
这些机制共同使得即使在周围操作系统或主机环境不完全可信的情况下,敏感的机器学习计算仍能安全运行。
多个商业平台提供针对不同部署场景定制的 TEE 功能。ARM TrustZone³⁰³ 在基于 ARM 的系统上提供安全世界和普通世界的执行,广泛用于移动端和物联网应用。Intel SGX³⁰⁴ 为云端和桌面系统实现基于 enclave 的安全,能够在不可信基础设施上进行安全计算。Qualcomm 的 Secure Execution Environment 支持安全的移动交易和用户认证。Apple 的 Secure Enclave 仍是面向消费设备的硬件隔离安全协处理器的典型案例(Apple 2024b)。
Figure 13.21 展示了集成在片上系统(SoC)设计中的实用安全 enclave 架构。该 enclave 包含专用处理器、AES 引擎、真随机数生成器(TRNG)、公钥加速器(PKA)以及连接非易失性存储的安全 I2C 接口。这些组件与主应用处理器和内存子系统相互隔离。内存保护引擎强制访问控制,诸如 NAND flash 加密等密码操作由 enclave 内部使用 enclave 管理的密钥完成。通过在硬件上将安全执行和密钥管理与主系统分离,此架构限制了系统级妥协的影响,并建立了硬件强制的信任(Apple 2024b)。
Figure 13.21: Secure Enclave Architecture:硬件隔离的 enclave 通过将敏感数据和密码操作封装在专用处理器和内存中提升系统安全性。该设计最小化攻击面,即使主应用处理器被攻破,也能保护关键密钥,为安全关键任务提供可信执行环境。来源:Apple。
该架构支撑了机器学习应用在消费设备上的安全部署。例如,Apple 的 Face ID 系统使用 Secure Enclave 保护的生物特征流水线:TrueDepth 相机数据经受 Neural Engine 中受保护的部分转换为数学表示,然后与由 Secure Enclave 保护的已登记人脸数据进行比对。正常运行期间捕获的人脸图像在生成表示后即被删除,Face ID 数据保持加密并存储在设备本地,而不会发送至 Apple 或包含在备份中(Apple 2024a)。机器学习系统的经验是,生物特征模型、模板以及比对逻辑必须绑定到硬件隔离和安全更新路径,而不能视作普通应用数据。
尽管优势明显,可信执行环境也伴随显著权衡。实现 TEE 会增加直接硬件成本以及开发和维护安全软件的间接成本。将 TEE 融入已有系统可能需要架构重设计,尤其是对传统基础设施而言。开发者必须遵循严格的隔离、证明(attestation)和安全更新管理协议,这会延长开发周期并使测试工作流更加复杂。TEE 还可能引入性能开销,尤其在密码操作频繁或在可信与非可信模式之间频繁切换时。
能效也是关注点,特别是在电池受限的设备上。TEE 通常因安全内存访问、密码计算以及硬件保护逻辑而消耗额外功率。在资源受限的嵌入式系统中,这些成本可能限制其使用。就可扩展性和灵活性而言,TEE 强制的安全边界可能使分布式训练或联邦推理工作负载更加困难,因为这些场景需要在 enclave 之间进行安全协同。
市场需求亦不尽相同。在某些消费应用中,感知的威胁水平可能过低,难以证明引入 TEE 的合理性。拥有 TEE 的系统可能需要通过正式的安全认证,例如通用准则(Common Criteria)或欧盟网络与信息安全局(ENISA)的评估,这会带来额外的时间和费用。因此,TEE 最适合的部署场景是:威胁模型(包括对手用户、云租户和恶意内部人员)的预期风险足以支撑这笔投入。
尽管如此,TEE 仍是机器学习安全格局中的关键硬件基元。与软件及系统层面的防御相结合,它们为安全、私密、可验证地执行 ML 模型提供可信基础,尤其在主机环境可能受到对手侵害的场景中。
TEE 能在系统运行时提供隔离,但无法防御在 TEE 初始化之前发生的攻击。攻击者若在引导过程被妥协,可修改固件、注入恶意代码或在 TEE 开始执行前关闭安全功能。这一时间窗口促使 Secure Boot 的出现,它从处理器执行的第一条指令起就建立信任,形成从上电到安全 enclave 初始化的验证链。
Secure boot
Secure Boot 是一种机制,确保设备仅启动经制造商加密验证并明确授权的软件组件。启动时,启动加载程序、内核以及基础操作系统等每个阶段都会与已知的良好数字签名进行比对。若任一签名验证失败,启动序列会被中止,阻止未授权或恶意代码执行。此信任链模型从第一条指令起就确保系统完整性。
在机器学习系统,尤其是部署在嵌入式或边缘硬件上的系统中,Secure Boot 起着重要作用。受损的引导过程可能导致恶意软件在 ML 运行时之前加载,使攻击者能够拦截模型权重、篡改训练数据或重定向推理结果。这类漏洞会导致错误或被操纵的预测、未经授权的数据访问,甚至将设备转作僵尸网络或加密挖矿使用。
对机器学习系统而言,Secure Boot 提供了若干保证。首先,它保护处理模型相关数据的代码路径在启动阶段的完整性,防止运行时前的篡改。其次,它确保仅加载经过认证的模型二进制文件及其配套软件,帮助防御部署时的模型替换。第三,Secure Boot 可参与安全更新流程,通过在执行前验证固件或模型加载组件的签名,确保只运行已签名的更改。
Secure Boot 常常与基于硬件的可信执行环境(TEE)协同工作,构建更可信的执行栈。Figure 13.22 描绘了分层验证序列:平台固件和引导组件在允许执行密码操作或机器学习工作负载之前被验证(Regenscheid 2018)。在嵌入式系统中,此架构提升了对运行前妥协的抵御能力。
Figure 13.22: Secure Boot Sequence:嵌入式系统采用分层引导流程来验证固件和软件的完整性,在执行机器学习工作负载前建立根信任,从而防御运行前攻击。该架构确保仅运行经过认证的代码,保护模型数据并防止在部署期间出现未授权的模型替换或修改。
一个相关的现实世界信任链出现在支持 Face ID 的苹果设备中,Face ID 使用机器学习用于面部识别。为确保 Face ID 安全运行,从开机到生物识别管道的设备堆栈必须是可验证信任的。
设备启动时,已签名的启动链会在敏感服务可用前验证应用处理器软件和安全隔离区固件。加载到安全隔离区的固件经过苹果数字签名,未经授权的修改会导致验证失败。验证通过后,安全隔离区将参与更广泛的受信任启动链,以保护生物识别数据和设备使用的加密密钥(Apple 2021a,2024b)。
设备完成安全启动序列后,Face ID 管道可以对用户进行身份验证。TrueDepth 摄像头投射并读取数千个红外点以绘制用户的面部特征,而受保护的生物识别管道计算一个数学表示并与受安全隔离区保护的注册面部数据进行比较。Face ID 数据已加密、仅存储在设备上且不包含在备份中(Apple 2024a)。因此,安全启动链不仅保护操作系统,还保护生物识别机器学习组件执行所依赖的信任假设。
为支持持续完整性,安全启动还管理软件更新。苹果设备使用基于硬件的授权仅安装苹果签名的系统软件和固件版本,且这些版本仍由苹果进行签名,有助于防止被篡改或降级的组件进入受信任堆栈(Apple 2021b)。此过程随时间维持着一个稳健的信任链,使平台能够在保障用户隐私和设备安全的前提下安全演进。
虽然安全启动提供了强有力的保护,但其采用也带来技术和运营上的挑战。管理用于签名和验证系统组件的加密密钥具有复杂性,尤其是在大规模部署时。企业必须安全地配置、轮换和吊销密钥,确保没有受信任的根被破坏。任何此类泄露都会破坏整个安全链。
性能也是一个需要考虑的因素。在启动过程中验证签名会引入延迟,通常每个组件在几十到几百毫秒之间。虽然在许多应用中这是可以接受的,但这些延迟可能对实时或功率受限系统造成问题。开发者还必须确保所有组件(包括引导加载程序、固件、内核、驱动程序乃至机器学习模型)都正确签名。将第三方软件集成到安全启动管道中会增加额外的复杂性。
一些系统倾向于限制用户控制,以换取供应商锁定的安全模型,限制可升级性或自定义性。作为回应,诸如 U-Boot 和 coreboot 之类的开源引导加载程序应运而生,它们在提供安全启动功能的同时支持可扩展性和透明性³⁰⁵。为进一步扩大受信任设备的部署,设备身份标准如设备标识组合引擎(DICE)(Trusted Computing Group 2018)和 IEEE 802.1AR IDevID(IEEE 802.1 Working Group 2018)提供了用于安全设备身份、密钥配置和跨供应商信任保证的机制。
当安全启动得到仔细实施,并受益于可信硬件和安全的软件更新流程时,它构成了嵌入式和分布式机器学习系统完整性的骨干。它提供了这样的保证:在生产环境中运行的机器学习模型不仅是正确的版本,而且还在一个已知良好的环境中执行,并锚定在硬件级信任之上。
硬件安全模块
虽然可信执行环境和安全启动提供了运行时隔离和完整性验证,硬件安全模块(HSMs) 专注于支撑这些保护的加密操作。HSM³⁰⁶ 是一种防篡改的物理设备,旨在执行加密操作并安全管理数字密钥。HSM 在金融、国防和云基础设施等安全重要行业广泛使用,并且对于保护机器学习管道也具有相关性——特别是在需要密钥保密性、模型完整性和法规合规性的部署中。
HSM 为执行敏感操作提供了一个隔离且加固的环境,如密钥生成、数字签名、加密和解密。与通用处理器不同,它们被设计用于抵御物理篡改和侧通道攻击,并且通常包括受保护的存储、加密加速器和内部审计日志。HSM 可以是独立的设备、插件模块,或嵌入在更广泛系统中的芯片。
在机器学习系统中,HSM 在多个维度上增强安全性。它们通常用于保护与在训练或推理过程中可能被处理的敏感数据相关的加密密钥。这些密钥保护模型检查点中的静态数据,并保护跨网络环境的推理请求的安全传输。通过确保密钥仅在 HSM 内生成、存储和使用,系统可将密钥泄露、未授权重复使用或被篡改的风险降至最低。在分布式机器学习部署中,HSM 充当两个额外工作流的信任根。首先,它们为安全聚合协议(如联邦学习)中的边缘节点提供所需的唯一设备身份以进行身份验证:每个参与设备通过一个证书证明其成员身份,该证书的签名密钥是在 HSM 中生成并存储的,从而防止被破坏或伪造的节点将毒化梯度注入聚合过程中。其次,它们管理密钥包装操作,以将加密的模型权重直接交付到受信任执行环境——HSM 在 TEE 的证明绑定公钥下包装模型解密密钥,确保模型权重仅在 enclave 内解密,且永不会出现在明文的主机内存中。
HSM 还在维护机器学习模型的完整性方面发挥作用。在许多生产管道中,模型必须在部署前进行签名,以确保只有经过验证的版本被接受进入运行时环境。用于对模型进行身份验证的签名密钥可以存储和管理在 HSM 中,提供加密保证,确保部署的制品是真实且未被篡改的。同样,无论是否涉及模型、超参数或支持基础设施,安全的固件更新和配置更改都可以通过 HSM 生成的签名进行验证。
除了保护推理工作负载外,HSM 还可以用于保护模型训练。在训练过程中,数据可能来自分布式且可能不受信任的来源。基于 HSM 的协议可以帮助确保训练管道在执行加密、完整性检查和访问控制执行时保持安全,并符合组织或法律要求。在医疗和金融等受监管行业,此类保护往往是满足所需保障措施的必要条件。例如,HIPAA 安全规则要求技术防护措施,如访问控制、审计控制、完整性保护和传输安全,同时将加密和某些完整性控制视为可寻址的实施规范。GDPR 将假名化和加密列为适当的技术和组织措施的示例,前提是它们符合风险情况。
这些好处是通过抗篡改税获得的。专用的硬化硅片每个单元价格为 20,000–100,000+美元,其加密吞吐量大约仅为通用 GPU 的 1/10,而这种单一权衡会在资源受限的机器学习部署所关注的每个约束上产生连锁反应:它为密钥交换和即时解密添加的延迟可能会打破实时推理预算;其持续的安全操作会消耗功率,从而缩短边缘设备的电池寿命;其尺寸和专用 API 强制要求电路板和软件重新设计;在边缘节点舰队中配置唯一密钥会将身份管理转变为一个分布式系统问题。受监管的部署还会增加最终成本:认证和合规流程³⁰⁷,如 FIPS 140-2³⁰⁸或通用标准,可能需要的时间甚至超过 HSM 所保护模型的训练时间。
尽管存在这些运营复杂性,HSMs 仍然是需要高度保障加密完整性和访问控制的机器学习系统的一个有价值的选择。当与 TEEs、安全启动和基于软件的防御配合使用时,HSMs 有助于构建一个跨硬件、系统软件和 ML 运行时的多层次安全模型。
HSMs 提供强健的加密处理,但需要专用的硬件模块和大量的基础设施投资。对于成本、尺寸或功率限制使得添加外部 HSM 硬件变得不切实际的资源受限嵌入式系统,另一种方法是直接从芯片的固有物理属性中派生加密密钥。此功能由物理不可克隆函数提供,我们将在下一节进行考察。
物理不可克隆函数
物理不可克隆函数(PUFs)³⁰⁹通过利用半导体制造过程中的物理随机性,提供了一种硬件固有的机制用于加密密钥生成和设备认证(Gassend et al. 2002)。与传统存储在内存中的密钥不同,PUF 基于芯片物理属性的微观变化生成密钥值。这些变化是制造过程固有的,即使是制造商也难以克隆或预测。
这些变化源于不可控的物理因素,如掺杂浓度、线边粗糙度和介电层厚度。因此,即使使用相同设计掩模制造的芯片也会表现出可测量的微小差异,在时序、功耗或电压行为方面。PUF 电路放大这些变化以产生设备独有的数字输出。当将特定输入挑战应用于 PUF 时,它会根据芯片的物理指纹生成相应的响应。由于这些特性实际上无法复制,相同的挑战在不同设备上会产生不同的响应。
这种挑战-响应机制使 PUF 能够服务于多种加密用途。它们可用于派生设备特定的密钥,这些密钥永不需要外部存储,从而降低密钥外泄的攻击面。相同的机制还支持安全认证和证明,在这些过程中,设备必须向可信服务器或硬件网关证明其身份。这些特性使 PUFs 成为在嵌入式和分布式环境中部署的机器学习系统的自然选择。
在机器学习应用中,PUFs 为保护资源受限系统提供了独特优势。例如,考虑一架使用机载计算机视觉追踪物体的智能相机无人机。嵌入无人机处理器中的 PUF 可以在启动时生成一个私钥来加密模型。即使模型被提取,它也无法在没有相同 PUF 响应的另一台设备上使用。相同的 PUF 派生密钥也可用于对模型参数进行水印,从而在已部署模型及其来源硬件之间建立一个可加密验证的链接。如果模型被泄露或盗版,嵌入的水印可帮助证明泄露的来源。
PUFs 还支持在分布式机器学习管道中的认证。如果无人机将计算卸载到云服务器,PUF 可以帮助验证无人机未被克隆或篡改。云后端可以发出挑战,验证设备的正确响应,并且仅在 PUF 证明设备真实性时才允许访问。这些保护不仅增强了对模型和数据的信任,还增强了对执行环境本身的信任。
Figure 13.23 演示了 PUF 操作如何依赖于固有的物理变化。在高层次上,PUF 接受一个挑战输入,并根据芯片的物理微观结构产生一个唯一响应(Gao et al. 2020)。变体包括光学 PUFs,其中挑战由光模式组成,响应为斑点图像;电子 PUFs 如仲裁者 PUFs(APUFs),其中电路路径之间的时间差产生二进制输出。另一种常见实现是 SRAM PUF,它利用未初始化 SRAM 单元的上电状态:由于阈值电压不匹配,每个单元在首次上电时倾向于稳定到一个首选值。这些响应模式形成了一个稳定、可重现的硬件指纹。

图 13.23:物理不可克隆函数:PUFs 从固有的制造变化中生成唯一的硬件指纹。图中展示了几种类型:芯片级指纹概念,使用激光斑点模式的光学 PUFs,依赖于挑战响应时序差的电子仲裁者 PUFs,以及利用内存单元制造变化的 SRAM PUFs。
尽管前景广阔,PUFs 在系统设计中仍面临若干挑战。其输出可能对环境变化敏感,如温度或电压的变化,这可能在响应中引入不稳定性或位错误。为确保可靠性,PUF 系统通常必须纳入纠错码或辅助数据方案。管理大量的挑战-响应对也会引发关于存储、一致性和撤销的问题。此外,PUF 输出独特的统计结构如果未得到充分防护以免受外部观察,可能使其容易受到基于机器学习的建模攻击。
从制造角度看,引入 PUF 技术可能会增加设备成本或要求额外的布局复杂性。虽然 PUFs 消除了对外部密钥存储的需求,从而降低了长期安全风险和配置成本,但它们可能需要在制造过程中进行校准和测试,以确保在环境条件和器件老化下的一致性能。
尽管如此,物理不可克隆函数仍然是保护嵌入式机器学习系统的一个引人注目的构建模块。通过将硬件身份直接嵌入芯片,PUFs 支持轻量级加密操作,减少密钥管理负担,并在分布式或资源受限环境中帮助建立信任根锚。当经过深思熟虑地集成时,它们可以补充其他硬件辅助安全机制,如安全启动、TEEs 和 HSMs,以在 ML 系统生命周期中提供纵深防御。
机制比较
设计选择不在于硬件防护是否优于软件防护,而在于哪种原语拥有哪个信任边界。虽然基于软件的防御具有灵活性,但它们最终依赖于硬件平台的安全性。随着机器学习工作负载在边缘设备、嵌入式平台和不可信基础设施上运行,硬件支持的防护对于维护系统完整性、机密性和信任变得重要。
Trusted Execution Environments (TEEs) 为模型推理和敏感数据处理提供运行时隔离。Secure Boot 在开机时强制完整性检查,确保仅执行经过验证的软件。Hardware Security Modules (HSMs) 提供防篡改存储和密码处理,用于安全密钥管理、模型签名和固件验证。Physical Unclonable Functions (PUFs) 将机密和认证绑定到特定设备的物理特性,实现轻量且不可克隆的身份。
这些机制针对系统栈的不同层面,从初始化和认证到运行时保护与身份绑定,各有所长,组合使用时能够互补。Table 13.9 对它们在机器学习系统设计中的角色、使用场景和权衡进行对比。
| Mechanism | Primary Function | Common Use in ML | Trade-offs |
| --- | --- | --- | --- |
| Trusted Execution Environment (TEE) | 为安全计算提供隔离的运行时环境 | 对敏感输入输出进行安全推理和设备端隐私保护 | 增加复杂度,受内存限制,性能有开销;需开发可信代码 |
| Secure Boot | 验证启动序列和固件完整性 | 确保只有签名的 ML 模型和固件在嵌入式设备上运行 | 密钥管理复杂,供应商锁定;启动性能受影响 |
| Hardware Security Module (HSM) | 安全的密钥生成、存储和密码处理 | 对 ML 模型签名、保护训练流水线、验证固件 | 成本高,集成工作量大,I/O 受限;需在基础设施层面配置 |
| Physical Unclonable Function (PUF) | 基于硬件的身份与密钥派生 | 模型绑定、设备认证、在嵌入式部署中保护 IP | 对环境敏感,可能受建模攻击;需要纠错和校准 |
Table 13.9: Hardware Security Primitives Compared:机器学习系统使用多种硬件防御(可信执行环境、Secure Boot、硬件安全模块和 PUF)在系统栈各层建立信任并保护敏感数据。此表比较了每种机制如何解决特定安全挑战——从运行时隔离、完整性验证到密钥管理和设备身份——以及它们在性能和复杂度上的权衡。
这些硬件基元共同构成了防御深度策略的基石,用于在对抗环境中保护 ML 系统。它们的集成在需要可验证可信度的领域尤为重要,如自动驾驶车辆、医疗设备、联邦学习系统以及关键基础设施。
结合安全多方计算与隐私层的梯度压缩选择,上述硬件机制形成的是一个“菜单”而非固定配方。具体部署的最佳防御取决于三大交互因素:威胁模型(攻击者是谁、具备何种能力)、部署环境(计算与时延预算)以及监管要求(法律约束)。医疗系统训练联邦诊断模型面临的威胁与面向公众的 LLM 聊天机器人迥然不同,二者分别需要本章节调研的机制的不同组合。Table 13.10 提供了一个防御选择框架,将七种常见部署场景映射到主要威胁、推荐的防御组合以及每种组合的量化权衡。表中涉及差分隐私的行给出了具体的隐私预算值(ϵ);Section 13.8 定义了 ϵ 的含义以及为何更小的值会牺牲准确性,因此这些建议可视为部署目标,待相应机制落地后再进行调整。
| Deployment Context | Primary Threats | Recommended Defenses | Key Trade-offs |
| --- | --- | --- | --- |
| Healthcare ML
(Federated diagnostic models) | 数据泄露(HIPAA 违规)
成员推断
未授权访问 | • 差分隐私(ϵ ≤ 4)用于训练
• 跨医院联邦学习
• TEE 用于敏感数据推理
• 审计日志与访问控制(RBAC) | 可接受 2–5% 的准确率下降以满足合规;
TEE 开销导致推理时延增加 50–100 ms |
| Financial ML
(Fraud detection API) | 模型盗窃(IP 丢失)
对抗性规避
数据投毒 | • 静态模型加密(AES‑256)
• HSM 管理加密密钥
• 基于投影梯度的对抗训练
• 输入校验 + 限流(100 请求/分钟)
• 输出置信度监控 | HSM 带来 $10–50 K 的资本成本;
限流可能影响合法的高频用户 |
| Edge ML
(Mobile/IoT devices) | 物理获取
侧信道攻击
模型提取 | • Secure Boot(验证固件)
• ARM TrustZone 或类似 TEE
• 模型量化 + 混淆
• 加密模型存储
• 防篡改硬件(PUF) | TEE 内存限制模型尺寸 < 50 MB;
大模型需量化;
加密导致功耗额外提升 15–30% |
| Cloud ML Training
(Multi-tenant platform) | 数据投毒
后门注入
梯度泄露 | • 安全数据管道(溯源追踪)
• 差分隐私(DP‑SGD,ϵ ≈ 1–10)
• 梯度校验与异常检测
• 安全聚合(联邦时)
• 模型水印用于 IP 保护 | 使用 DP 会使训练时间增长 30–120%;
梯度校验额外增加 10–15% 计算开销;
联邦聚合需安全通信协议 |
| Public-Facing LLM
(Chatbot/API) | Prompt 注入
数据泄露(训练泄漏)
滥用/过度使用 | • 输入清洗(prompt 过滤)
• 输出监控(PII 检测)
• 限流(按用户配额)
• 响应水印
• 置信度阈值(拒答) | 严格过滤可能阻拦 5–10% 合法请求;
内容过滤额外增加 50–100 ms 响应时间;
水印可能被高级用户检测到 |
| Multi-Party ML
(Cross-organizational training) | 数据共享限制
诚实但好奇的参与方
隐私合规(GDPR) | • 联邦学习(不共享原始数据)
• SMPC 实现安全聚合
• 差分隐私(ϵ ≤ 1)
• 同态加密(用于敏感操作) | 通信开销:比中心化训练多 10–100 倍轮次;
SMPC 增加 1 000 倍以上计算成本;
准确率可能下降 5–15%;
需签订法律协议以界定责任 |
| Critical Infrastructure
(Autonomous vehicles, power grids) | 供应链攻击
实时对抗攻击
安全关键故障 | • 硬件认证(TPM 或 TPM + PUF)
• Secure Boot + 运行时完整性检查
• 冗余模型验证
• 故障注入检测
• 故障安全回退机制 | 开发周期额外增加 6–18 个月工程时间;
硬件成本提升 20–40%;
时延限制加密防御的使用;
需采用认证硬件 |
| Critical Infrastructure
(Autonomous vehicles, power grids) | Supply chain compromise
Real-time adversarial attacks
Safety-critical failures | • Hardware attestation (Trusted Platform Module, or TPM, and PUF)
• Secure Boot + runtime integrity checks
• Redundant model validation
• Fault injection detection
• Fail-safe fallback mechanisms | Development cost: 6–18 months additional engineering;
20–40% higher hardware costs;
latency constraints limit cryptographic defenses;
requires certified hardware |
Table 13.10: Defense Selection Framework:将部署场景映射到针对威胁的防御策略,并给出量化的权衡。该框架为安全架构设计提供了起点,突出主要威胁、推荐的防御组合以及七种常见 ML 系统部署情境下的关键实现权衡。
本章节介绍了七类硬件层面的攻击类别、四种硬件安全原语,以及一个将部署情境映射到防御措施的框架(表 13.10)。请测试您是否能够应用该映射。
跨表 13.10反复出现的主题是隐私成本:差分隐私出现在七种部署情境中的三种,而每一行都暴露出需要在监管要求和风险容忍度之间权衡的准确性或系统成本。因此,该表应被视为部署分流工具,而非通用配方:序列化、制品完整性、访问控制、运行时隔离和隐私预算各自防御不同的边界。即使训练过程完全安全、协同架构没有泄漏,最终发布的模型仍可能无意间记忆并复述其训练时所见的敏感信息。为了限制模型输出可能泄露的单条记录信息,必须执行一种被称为差分隐私的严格数学标准。
差分隐私
差分隐私是下一步的工程手段,因为加密和访问控制只能保护静止或传输中的数据,而记忆化和推断攻击则利用已训练的模型本身。设想攻击者使用已知患者的完整属性查询医疗诊断模型。如果模型的预测因该患者是否被包含在训练数据集中而显著变化,则患者的隐私已在数学上被侵犯。
差分隐私通过在训练或分析阶段注入精心校准的噪声来解决此问题,提供一种形式化保证:无论单个个体是否加入或退出数据集,模型的行为均受到限制。该机制将隐私转化为预算:隐私损失越低,需要的噪声越多,训练成本越高,通常效用也越低。正是由于这种预算,差分隐私应位于部署架构中,而不仅是法律清单上的一项。
差分隐私是一种数学保证,指随机算法的输出分布在任意单个个体的记录被加入或移除时,变化幅度不超过一个有界因子,形式化为(ϵ, δ)界限
Pr[𝒜(D) ∈ S] ≤ e^ϵ Pr[𝒜(D′) ∈ S] + δ
其中 D 与 D′ 为相邻数据集,S 为任意可测输出集(Dwork et al. 2006;Dwork and Roth 2014)。
-
意义:隐私预算
ϵ将算法属性转化为可分配、可组合、可消耗的工程货币。生产报告和基准研究表明,隐私预算是部署特定的:Apple 在本地‑DP 遥测部署中会根据用例选择每个事件的ϵ值,而 DP‑SGD 研究则展示了在基准任务上准确率与计算成本的权衡(Apple Differential Privacy Team 2017;Abadi et al. 2016;Bu et al. 2020;De et al. 2022)。更小的ϵ会提升噪声基线,通常导致模型准确率下降(图 13.25);DP‑SGD 也可能降低训练吞吐量,因为对每个样本的梯度裁剪会抵消批量级并行加速的优势。 -
区别:不同于去标识化——仅去除记录中的标识符,却在辅助数据的帮助下仍可被重新识别;也不同于统计披露控制——依赖于攻击者的模型,差分隐私是一种算法属性,而非数据属性:DP 保证针对任何对手成立,即使对手拥有关于数据集中其他记录的任意侧信息。
-
常见误区:常见的误解是把
ϵ当作单次查询的参数,而实际上它是整个交互生命周期的预算。k次查询每次使用ϵ[0],在基本组合下总隐私损失为k·ϵ[0],在高级与 Renyi 组合下则更紧(第 13.8.2 节);因此,运行大量 DP‑SGD 训练步骤或回答众多 DP 查询的系统必须跟踪累计损失,并在预算耗尽时停止、拒绝进一步查询或刷新密钥。
差分隐私的核心技术问题在于量化从数据学习时的隐私损失。传统的隐私方法侧重于移除可识别信息(姓名、地址、社保号)或施加统计披露控制。然而,这些方法面对能够通过辅助数据、统计相关攻击或模型输出进行重新识别的高级对手时往往失效。
差分隐私则采取不同思路,关注算法行为而非数据内容。关键洞察在于:隐私保护应是可度量的,并应限制对任何个体的学习,无论对手拥有何种外部信息。
在第 13.1.2 节中引入的工资平均示例已经计算了该机制加入的噪声;形式化定义为该计算提供了保证。重新构建直觉:分析师计算一组人的平均工资,而每个人都不想泄露真实工资。采用差分隐私时,每个人先在纸上写下自己的工资,然后在交上去之前加上或减去一个来自已知分布的随机数。对大量纸张求平均会在期望上削弱随机噪声,从而得到真实平均值的准确估计。但抽取任意一张纸时,由于随机偏移未知,无法得知具体工资。这就是核心思路:学习整体模式的同时,使得对单个个体的信息难以确定。
差分隐私通过比较相似数据集上的算法行为来形式化上述直觉,如图 13.24所示。设想两个相邻数据集,仅在是否包含某单个个体的记录上有所不同。差分隐私确保算法输出的概率分布在这两种情形下保持统计相似。通过精心校准的噪声掩盖单个贡献,同时保留机器学习所需的整体统计模式,从而实现此保护。
图 13.24:差分隐私不可辨识性:差分隐私确保算法在数据集 D 上的输出概率分布与在相邻数据集 D′ 上的输出几乎相同。这种统计不可辨识性(由隐私预算 ϵ 控制)阻止观察者推断出任意单个个体的数据是否被包含在训练集中。
为了将这种直觉严格量化,差分隐私引入了隐私损失的定量度量。数学框架使用概率比率来界定当单个个体的数据被加入或移除时,算法行为能够改变的幅度。这种方法在证明而非假设的层面上提供了隐私保证。
随机算法 𝒜 称为 ϵ-差分隐私,当且仅当对于所有相邻的数据集 D 和 D′(仅相差一条记录),以及所有输出集合 S ⊆ Range(𝒜),以下不等式成立(Dwork et al. 2006; Dwork and Roth 2014):
Pr [𝒜(D) ∈ S] ≤ e^{ϵ} Pr [𝒜(D′) ∈ S]
参数 ϵ 量化隐私预算,表示可容忍的最大隐私损失。较小的 ϵ 值通过增加噪声注入提供更强的隐私保证,但可能降低模型效用。典型值包括:ϵ = 0.1(强隐私保护),ϵ = 1.0(中等保护),以及 ϵ = 10(较弱但保留效用的保证)。乘法因子 e^{ϵ} 限制了在相邻数据集上算法输出的似然比率,从而约束个体参与对特定结果的影响程度。
Figure 13.25 基于两个基准数据集的公开经验结果量化了这一代价。实际的最佳点位于 ϵ≈1 和 ϵ≈10 之间,在此区间内,有意义的隐私保证与可接受的精度损失可共存。MNIST 在单位数隐私预算下仍保持较高精度;而 CIFAR-10 从零开始训练且不使用额外数据时则要困难得多:De et al. 在 (ϵ, δ) = (8, 10^(−5)) 时报告了 81.4% 的精度,尽管预训练和额外公开数据可显著提升私有图像分类的准确率(De et al. 2022)。

Figure 13.25: The Privacy-Utility Frontier:来自 (Abadi et al. 2016; Bu et al. 2020; De et al. 2022) 在不同隐私预算下的已公开准确率。MNIST 在单位数 epsilon 预算下仍保持较高准确率;而 CIFAR-10 从零开始训练且不使用额外数据时则要困难得多,De et al. 报告在 epsilon = 8 时准确率为 81.4%。此处所示的“膝部区域”(epsilon 在 1 和 3 之间)标志着在该示例曲线中从实用隐私向严重效用损失的过渡。
该界限确保了无论某个个体的数据是否存在,算法的行为在统计上不可区分,从而限制了可推断出关于该个体的信息。在实践中,差分隐私通过向模型更新或查询响应添加校准噪声来实现,常用机制包括拉普拉斯机制或高斯机制。训练技术如差分私有随机梯度下降³¹⁰ 将校准噪声集成到训练计算中,确保单个数据点无法从模型的学习行为中被区分出来。
数学基础与隐私参数
在生产部署中,若将隐私预算视为一次性标签而非会计系统,则会导致失败。数学基础明确所声称的保证类型、噪声的校准方式,以及隐私损失在重复训练步骤或查询中的累积机制。处理敏感数据的系统在声称某个 ϵ 值在部署后仍然有效之前,必须具备此套机制。
(ϵ, δ)‑差分隐私公式化
纯 ϵ‑DP 定义提供了强保证,但对实际机器学习应用可能过于严格。一种放宽的表述 — — (ϵ, δ)‑差分隐私 — — 允许隐私损失以小概率 δ 超过 ϵ。这种放松对深度学习至关重要,因为在这类场景中,高斯噪声(具有无界支持)通常优于拉普拉斯噪声用于梯度扰动。
形式上,若随机算法 𝒜 对所有相邻数据集 D、D′ 和所有可测输出集合 S 满足以下条件,则称 𝒜 满足 (ϵ, δ)‑差分隐私:
Pr [𝒜(D) ∈ S] ≤ e^{ϵ} Pr [𝒜(D′) ∈ S] + δ
参数 δ 表示隐私保证以灾难性方式失败的概率。在实践中,δ 常被设为小于数据集规模的倒数,即 δ < 1/n[records],或根据策略和威胁模型取更小值;较小的 δ 会在额外效用代价下加强失败概率的界限。例如,对于包含 100 万条记录的数据集,δ = 10^(−12) 能确保超过 ϵ 阈值的概率保持可忽略不计。
实现差分隐私的噪声机制
机器学习系统通过精心校准的噪声注入来实现差分隐私。目前 ML 系统中使用的两种主要机制在噪声分布及适用性上有所不同。第一种是拉普拉斯机制。在纯 ϵ‑DP 下,它添加服从 Lap(Δf/ϵ) 的噪声,其中 Δf 为函数的全局敏感度(即当一条记录变化时,输出的最大变化量)。对于查询 f,其私有化输出为:
拉普拉斯分布的概率密度函数为 \(p(x) = \frac{\epsilon}{2\Delta f}\exp\left(-\frac{\epsilon|x|}{\Delta f}\right)\),尺度参数 b = Δf/ϵ。噪声幅度与 ϵ 成反比:更强的隐私(ϵ = 0.1)所需噪声是中等隐私(ϵ = 1.0)的 10 倍。
拉普拉斯机制的推导说明了为何噪声尺度必须与敏感度匹配。为了证明拉普拉斯机制满足 ϵ‑DP,考虑在相邻数据集 D 和 D′ 上输出概率的比率。设 f(D) = v,f(D′) = v′,且由敏感度界可知 |v − v′| ≤ Δf。对于任意输出 y,概率比为:
根据三角不等式,|y − v′| − |y − v| ≤ |v − v′| ≤ Δf,于是:
由此可知,拉普拉斯机制满足 ϵ‑差分隐私。该推导揭示了敏感度校准的必要性:噪声尺度必须与查询输出的最大可能变化相匹配,以掩盖个体贡献。
高斯机制适用于可以接受放宽的 (ϵ, δ) 保证的机器学习场景。它添加均值为 0、协方差为 σ² I 的高斯噪声,σ 的校准基于 ϵ、δ 和 ℓ₂ 敏感度 Δ₂f:f̃(D) = f(D) + 𝒩(0, σ²I)。
与始终能实现纯 ϵ‑DP 的拉普拉斯机制不同,高斯机制一般需要依赖放宽的 (ϵ, δ)‑DP 表述,因为高斯密度的尾部可能具有任意大的似然比;δ 项用于界定这些尾部事件的概率。推导过程通过分析隐私损失随机变量来进行。
对于具有 ℓ₂ 敏感度 Δ₂f 的相邻数据集,在输出 y 处的隐私损失为:
当 y = f(D) + z,其中噪声 z ∼ 𝒩(0, σ²I) 时,隐私损失成为一个偏移高斯分布,其均值为 \(\frac{\Delta_2 f²}{2\sigma²}\),方差为 \(\frac{\Delta_2 f²}{\sigma²}\)。利用该分布的尾部界限,当满足以下条件时,L_{priv}(y) > ϵ 的概率可被 δ 界定:
权衡概述
此公式揭示了三方权衡:实现更小的 ϵ(更强的隐私)或更小的 δ(更高的置信度)需要相应更大的噪声 σ,这会降低模型效用。因子 \sqrt{2\ln(1.25/\delta)} 随 1/δ 的增长很慢,因此密码学上极小的 δ(例如 10^(−8))仅会中等程度地增加所需噪声,相较于 δ = 10^(−5)。由此产生的噪声尺度使得精度成本具体化。
权衡:更强的隐私要求在训练过程中向梯度添加更多噪声。这种噪声就像是模型准确率的一种“税”。
公式:对于带有梯度裁剪 C 的 (ϵ, δ)-DP,所需的噪声标准差 σ 为:
场景
-
梯度范数限制 (
C):1 -
失效概率 (
δ):10^(−5)
结果 (σ)
-
强隐私 (
ϵ = 1):σ ≈ 1 × \sqrt{2 × 11.7} / 1 ≈ 4.8 -
弱隐私 (
ϵ = 10):σ ≈ 1 × \sqrt{2 × 11.7} / 10 ≈ 0.48
系统洞察:实现 ϵ = 1 需要添加的噪声几乎是信号(梯度范数为 1)的 4.8×。除非模型训练时间显著延长或使用显著更大的批量大小来平均噪声,否则这会导致准确率下降 5–10 %。
噪声尺度必须满足
才能实现 (ϵ, δ)-DP。对于典型的机器学习超参数 (ϵ = 1, δ = 10^(−7)),这需要 σ≈ 5.72·Δ[2]f。
高斯噪声在深度学习中更受青睐,因为梯度范数在 ℓ[2] 空间中天然有界,使得敏感性分析变得易于处理。高斯机制在 Rényi 差分隐私核算下也能更紧致地组合。
接下来的小节解释了隐私会计梯度。简单组合会在数据访问中悲观地累加隐私损失。隐私损失随机变量和矩账户跟踪损失分布得更紧致。Rényi 差分隐私随后提供了一种方便的方式来组合多个噪声 SGD 步骤,并将结果转换回 (ϵ, δ) 预算。
隐私损失随机变量和矩账户
一种更精细的隐私分析方法跟踪隐私损失随机变量(PLRV),它量化了从单个观察中泄露关于个体的信息程度。对于相邻数据集 D、D' 和算法输出 o,隐私损失为:
PLRV 描述了相邻数据集输出之间的对数似然比。对于 (ϵ, δ)-DP,尾部概率必须满足 Pr[ L[priv] > ϵ ] ≤ δ。此公式使得通过母函数进行组合分析成为可能。
矩账户技术由 Abadi 等人在 DP‑SGD 中提出 (2016),用于跟踪隐私损失分布的更高阶矩。它不是计算最坏情况组合,而是分析训练迭代过程中隐私损失的实际分布。对于机制 ℳ 及其隐私损失 L[priv],矩账户计算:
对于矩阶 λ[mom]。经过 k 次组合后,累积矩为 k·αℳ。应用马尔可夫不等式后可得到 (ϵ, δ) 界:
对于在 CIFAR‑10 上使用批量大小 256、裁剪范数 C = 1 进行 100 轮训练的 ResNet‑20 进行 DP‑SGD 训练,矩账户得到 ϵ≈ 2.3(当 δ = 10^(−5) 时),而朴素组合得到 ϵ≈ 23。这种更紧致的核算使得实际的私密深度学习成为可能。
Rényi 差分隐私和组合
Rényi 差分隐私(RDP),由 Mironov 提出 (2017),通过跟踪 Rényi 散度而非 KL 散度,提供了更紧致的组合界。如果机制 ℳ 对所有相邻的 D、D' 满足:
其中 α > 1 是 Rényi 阶。RDP 的组合 remarkably simple:如果机制 ℳ[i] 满足 (α, ε[i])-RDP,则它们的组合满足 (α, ∑ ε[i])-RDP。这种线性与 (ϵ, δ)-DP 的高级组合的次最优 √k 缩放形成对比。
对于噪声尺度为 σ 的高斯噪声,RDP 保证为:
在 DP‑SGD 中,经过 k 次带噪声 σ 和采样率 q 的迭代后,RDP 保证大约为:
此 RDP 保证可通过以下公式转换为 (ϵ, δ)-DP:
并在 α 上取最优值。对于典型的机器学习工作负载,RDP 提供了比矩账户 2–3 倍更紧致的界,使得在固定隐私预算下能够进行更长时间的训练。
实际隐私预算示例:用于图像分类的 DP‑SGD
考虑在 50,000 张 CIFAR‑10 图像上训练一个 CNN,目标隐私为 (ϵ, δ) = (3, 10^(−5))。使用 DP‑SGD,参数如下:
-
批量大小
B = 4,000(采样率q = B/n[records] = 0.08) -
梯度裁剪范数
C = 1(敏感度Δ[2] = 2*C/B = 0.0005) -
噪声乘数
σ = 1.3(相对于裁剪的噪声尺度) -
训练
N[epochs] = 60个时代(k = N[epochs]·n[records]/B = 750步)
RDP 分析分为三步进行:
-
每步 RDP:
ε_step(α) ≈ (q² α) / (2σ²) = (0.08² α) / (2·1.3²) ≈ 0.00189α -
750 步后的总 RDP:
ε_total(α) = 750 × 0.00189α = 1.42α -
转换为 (
ϵ,δ)-DP(在α上优化):-
α = 10:ϵ = 1.42·10 + ln(10⁵)/9 = 14.2 + 1.28 = 15.48(过高) -
α = 4:ϵ = 1.42·4 + ln(10⁵)/3 = 5.68 + 3.84 = 9.52 -
α = 3:ϵ = 1.42·3 + ln(10⁵)/2 = 4.26 + 5.76 = 10.02
最优值为
α ≈ 3.8,得到ϵ ≈ 9.5。 -
单旋钮更改在此会计下仅是部分补救,而非完整解决方案。将训练轮数降至 N[epochs] = 25 可将估计值降至 ϵ ≈ 5.8;将采样率降至 B = 2,000 (q = 0.04) 可将其降至 ϵ ≈ 6.4。达到目标 ϵ = 3 因此需要更强的组合,通常是显著增加 σ,同时接受较低的准确率、更少的训练轮数或更小的批量大小。这些调整说明了生产机器学习系统中固有的隐私-效用-计算资源权衡[³¹¹]:差分隐私提供了强有力的理论保证,但收紧隐私界限会以可测量的方式消耗准确率和计算预算。
实际的 DP 部署需要仔细考虑计算权衡、隐私预算管理和实施挑战。表 13.11 比较了五种方法的隐私保护技术权衡,包括联邦学习。成熟度标签是在此处讨论的场景下的部署快照,而非底层技术的永久排名。
技术比较:隐私保护方法
| 技术 | 隐私保护技术 | 隐私保证 | 计算开销 | 部署快照 | 典型使用场景 | 权衡 |
|:---|:---|:---|:---|:---|:---|:---|
| 差分隐私 | 正式(ϵ-DP) | 中等到高 | 生产 | 使用敏感或受监管数据进行训练 | 需要精细调节ϵ/噪声以在效用和保护之间平衡,精度会下降 |
| 联邦学习 | 结构化 | 中等 | 生产 | 跨设备或跨组织协同学习 | 梯度泄漏风险;需安全聚合和编排基础设施 |
| 同态加密 | 强(加密) | 高 | 实验 | 在不可信云环境中进行推理 | 高延迟和内存消耗;适用于固定功能模型的有限范围推理 |
| 安全多方计算 | 强(分布式) | 非常高 | 实验 | 跨不信任方的联合训练 | 通信开销大;难以扩展到大量参与者或深度模型 |
| 合成数据 | 弱(若单独使用) | 低到中等 | 新兴 | 数据共享、在不直接访问原始数据的情况下进行基准测试 | 若训练过程未采用差分隐私或未审计真实性,可能泄露敏感模式 |
表 13.11:隐私保护技术比较。数据隐私技术的计算成本各异,提供的正式隐私保证程度也不同,实践中需要在隐私强度、模型效用和部署约束之间进行平衡。该表概述了关键属性(隐私保证、计算开销、成熟度、典型使用场景及权衡),帮助在设计隐私感知机器学习系统时作出明智决策。
增加噪声以降低ϵ可能会削弱模型精度,尤其在数据稀少或细粒度分类任务中更为明显。因此,DP 通常有选择地应用(在敏感数据训练阶段或在返回聚合统计的推理阶段),以在隐私与性能目标之间取得平衡(Dwork and Roth 2014)。
隐私预算组成
差分隐私的一个关键点是隐私损失会累计。每次机制访问敏感数据时,都会消耗一部分隐私预算ϵ。如果一个组织在同一数据集上训练 10 个模型,每个模型的ϵ = 1,则总隐私损失并非ϵ = 1,而在简单组合下接近ϵ = 10。
每次查询都会消耗有限的ϵ隐私预算。
隐私账本依赖三种组合工具:
-
简单组合:运行 k 个机制,其ϵ[i] 的和 ∑ϵ[i] 即为隐私保证。这是一个松散的界限。
-
高级组合:提供更紧的界限,表明隐私损失大约随 \(\sqrt{k}\) 增长。
-
Rényi 差分隐私(RDP):在深度学习(如 DP‑SGD)中使用的框架,提供更紧的组合跟踪,对于在成千上万次迭代中训练神经网络尤为重要。
实践含义是组织必须为每个数据集管理一个全局隐私预算,在预算耗尽时停止进一步访问。
量化隐私‑效用权衡
差分隐私的理论框架在实践中会转化为可测量的精度下降。实证研究表明,权衡强烈依赖任务复杂度、模型结构、隐私会计器、预训练以及是否允许使用额外的公共数据。表 13.12 列出了基于来源的比较点,而非将单一基准行视为通用。
| 来源/设置 | 数据集 | 训练方案 | 隐私预算 | 报告的私有精度 |
|:---|:---|:---|:---|:---|
| Abadi 2016 | MNIST | DP‑SGD 神经网络实验 | (8, 10^(−5))-DP | 97% |
| Abadi 2016 | CIFAR-10 | DP‑SGD CIFAR-10 实验 | (8, 10^(−5))-DP | 73% |
| De 2022 | CIFAR-10 | Wide‑ResNet,无额外数据 | (8, 10^(−5))-DP | 81.4% |
| De 2022 | ImageNet | NFNet‑F3,使用 JFT‑4B 预训练 | (8, 8 · 10^(−7))-DP | 86.7% |
表 13.12:隐私‑精度权衡。已发布的 DP‑SGD 精度点具有特定设置。早期实验在 MNIST 与 CIFAR‑10 上显示出显著的隐私‑效用成本(Abadi et al. 2016),而后期的图像分类工作表明通过精细调参、使用更大模型以及预训练或额外公共数据,可以显著提升私有精度(De et al. 2022)。
从这些实证结果可以看到几种模式。首先,较简单的任务对 DP 更具容忍性:在最初的 DP‑SGD 实验中,MNIST 的难度远低于 CIFAR‑10。其次,数据集规模和训练方案至关重要:更大的数据集和公共预训练可以提升信噪比,改变隐私‑效用前沿。再次,隐私‑精度曲线是非线性的:ϵ 越小,效用损失越大,因此每次部署都需要针对具体任务进行独立的实验扫描,而不能仅依赖通用表格。
差分隐私部署权衡决策框架
量化的权衡将差分隐私从数学保证转化为部署决策。以下标准将监管要求、威胁模型和运营约束综合为一个核心问题:正式的隐私预算是否值得其消耗的精度、延迟和计算资源。
-
从监管和法律需求出发。当政策、合同、审计或风险评估要求可证明的隐私界限时,DP 显得尤为有价值。虽然法规很少直接规定使用 DP,但 GDPR 的 “by‑design” 数据保护原则(European Parliament and Council of the European Union 2016)以及隐私‑by‑design 框架(Cavoukian 2012)鼓励采用隐私保护系统设计;HIPAA 的技术保障则要求访问控制、审计、完整性、身份验证和传输安全(U.S. Department of Health and Human Services 2005)。DP 可以通过记录数学隐私损失界限来补充这些控制,但并不能取代 HIPAA 的安全措施。处理欧盟健康数据、美国医疗记录或受加州 CCPA/CPRA 约束的个人数据的组织,应评估 DP 作为可能的合规支持机制。
-
匹配威胁模型与机制。DP 能防御成员推断(判断某条记录是否用于训练)和训练数据提取攻击,通过对单条记录的隐私损失设上界。当威胁模型涉及竞争者、国家级攻击者或恶意内部人员时,DP 提供了其他技术所缺乏的可量化保证。而如果主要威胁是存储数据的泄露而非对已部署模型的推断攻击,则加密和访问控制可能更为合适。
-
依据数据特性评估可行性。有效的 DP 训练依赖数据集能够在加入梯度噪声后仍保留任务信号:
- 规模阈值:样本数少于 50 000 的数据集往往难以在ϵ < 10 的有意义隐私下保持可接受的效用。对小数据集,可考虑采用安全聚合的联邦学习作为替代方案。
-
任务复杂度:简单分类任务(二分类或少数几类)比细粒度识别或生成任务更能容忍噪声。
-
数据敏感度分布:如果敏感属性集中在罕见子群中,差分隐私可能会在该子群上造成不成比例的性能下降,从而引发公平性问题。
这些约束决定了差分隐私是一种可部署的保证,还是仅仅是一种会破坏任务效用的形式属性。
小规模敏感数据集通常无法在不损失效用的情况下吸收差分隐私噪声。
效用预算也必须明确。必须在部署前量化可接受的最大准确度下降。对于安全关键型应用(医疗诊断、自动驾驶汽车),即使 5%的准确度损失也可能不可接受。对于推荐系统或内容个性化,考虑到隐私带来的好处,10-15%的准确度下降可能是可以容忍的。表 13.12 提供了起点,随后是针对特定任务的实验。
最后,计算预算决定了设计是否可以交付。差分隐私训练通常需要比非私有训练多 2-5 倍的计算量,这是由于每个样本的梯度计算以及为克服噪声而需要的更大批次大小。如果计算资源受限,这种开销可能是禁止性的。云部署可以扩展计算能力,但边缘训练场景可能会发现差分隐私不切实际。
决策矩阵摘要
在以下情况下使用差分隐私:(1) 由政策、合同、审计或风险评估要求形式化隐私界限;(2) 成员推断是可信的威胁;(3) 数据集超过 50,000 个样本;(4) 任务可以容忍 5-15%的准确度损失;(5) 计算预算支持增加的训练成本。相反,在以下情况下考虑替代方案:(1) 主要威胁是数据泄露(使用加密);(2) 数据集较小(使用联邦学习);(3) 任务要求最大准确度(使用访问控制和审计日志);(4) 部署受资源限制(仅对聚合查询在推理阶段使用差分隐私)。
一个可穿戴心脏监测器从 5,000 名注册患者在设备上收集的原始心电图信号中对心律失常进行分类。该产品在美国销售,受 HIPAA 监管;训练管道在一个由 8 个 GPU 组成的云集群上运行,而竞争供应商有动机提取该模型。将五个决策标准应用于确定 DP-SGD 是否应包含在训练管道中。
此框架将差分隐私视为隐私保护工具箱中的一种工具,而不是万能解决方案。最有效的部署通常结合差分隐私与互补技术:联邦学习用于数据最小化,安全聚合用于梯度保护,以及访问控制用于部署安全。一个具体的 DP-SGD 计算展示了决策标准如何转化为操作隐私预算。
情景:在 100,000 条客户评论上训练情感分类器,目标隐私为ϵ≤ 8,δ= 10^(−6)。
步骤 1:配置 DP-SGD 参数。
-
数据集大小:n[records]= 100,000
-
批次大小:B= 2,000(抽样率q = B/n[records]= 0.02)
-
梯度裁剪范数:C= 1
-
训练轮次:N[epochs]= 10(总步数k = N[epochs] × n[records]/B= 500)
-
目标:ϵ= 8,δ= 10^(−6)
步骤 2:计算所需的噪声乘数。利用高斯机制公式和 RDP 核算,我们需要噪声乘数σ,使得在k= 500 次迭代,抽样率q= 0.02 的情况下,总隐私损失为ϵ≤ 8。
高斯机制带子采样的每步 RDP 保证近似为:$$\varepsilon_{\text{step}}(\alpha) \approx \frac{q² \alpha}{2\sigma²}$$
对于σ= 0.8(一个典型的起点):
\(\\varepsilon\_{\\text{step}}(\\alpha) = \\frac{(0.02)² \\alpha}{2(0.8)²} = \\frac{0.0004\\alpha}{1.28} \\approx 0.000312\\alpha\)
经过 500 步:εtotal = 500 × 0.000312α = 0.156α
步骤 3:将 RDP 转换为 DP。通过在α上进行优化将 RDP 转换为(ϵ, δ)-DP:
\(\\epsilon = \\varepsilon\_{\\text{total}}(\\alpha) + \\frac{\\ln(1/\\delta)}{\\alpha - 1} = 0.156\\alpha + \\frac{\\ln(10⁶)}{\\alpha - 1}\)
在α上扫描边界(表 13.13)显示斜率项和尾部项的权衡,最小值出现在α≈ 10.4 附近。对显示的近似进行优化可得到ϵ≈ 3.1,这满足ϵ≤ 8 的目标并有余量。
步骤 4:预期准确度影响。在此简化核算下,σ= 0.8 和ϵ≈ 3.1 时,相比非私有训练,预期会有非微小的准确度下降。对于在不使用差分隐私情况下达到 92%准确度的情感分类器,其私有版本可能会因模型容量、裁剪范数、优化器和数据分布而低几个百分点。
系统洞察:只有当机制和核算器达成一致时,实现才是可问责的:裁剪设定敏感性上限,噪声设定隐私-效用权衡,累积的 epsilon 成为训练工件发布的门槛。
步骤 3 背后的α-扫描使优化具体化:每个 Rényi 阶产生不同的斜率加尾部界限,而预算是所有阶中的最小值。
| α || 斜率项 || 尾部项 || ϵ |
| --- | --- | --- | --- |
| 8 || 1.25 || 1.97 || 3.22 |
| --- | --- | --- | --- |
| 10 || 1.56 || 1.54 || 3.10 |
| 12 || 1.87 || 1.26 || 3.13 |
表 13.13:跨 Rényi 阶的 RDP 到 DP 转换:隐私界限ϵ是随α增长的斜率项与随α减小的尾部项之和;发布的预算是所有阶中的最小值,接近α≈ 10.4。
该保证本身来源于裁剪、校准噪声和隐私核算器;清单 13.1 中的库调用仅是这些机制选择的实现路径。
clip each per-example gradient to norm C
add Gaussian noise with multiplier sigma to the averaged clipped gradient
take one optimizer step with the privatized gradient
accumulate privacy loss in the accountant after every step
stop, retune, or reject the run if accumulated epsilon exceeds the target budget
清单 13.1:DP-SGD 训练步骤:逐步裁剪、噪声添加和核算器更新,共同强制执行隐私预算。
安全与隐私成熟度模型
从孤立的数学证明迈向完全加固的生产环境,不仅仅是设置一个 epsilon 值;它需要一种结构化的、多阶段的组织策略来部署安全控制。在保护新机器学习平台时,一个常见的错误是试图一次性部署所有防御:差分隐私、可信执行环境、对抗训练、模型水印和红队自动化。由此产生的摩擦可能会使工程团队陷入瘫痪,而基本控制仍然薄弱。一个更好的成熟度模型会询问:目前哪些系统属性未得到保护:访问边界、数据隐私、模型完整性、对抗鲁棒性或治理证据。表 13.14 中的依赖结构将这一选择与正在捍卫的系统边界联系起来。
| 成熟层 || 主要问题 || 控制系列 |
| --- | --- | --- |
| 访问和配置边界 || 谁可以访问数据、权重、部署和日志? || 最小特权、服务身份、加密传输、审计日志 |
| --- | --- | --- |
| 数据和隐私边界 || 通过训练、微调或输出可以学到什么? || 隐私核算、输出限制、安全聚合、敏感数据隔离 |
| 模型完整性边界 || 我们如何知道这是经过验证的模型和数据路径? || 已签名的工件、注册表控制、哈希检查、发布门禁、回滚路径 |
| 对抗性和滥用边界 || 自适应攻击者能提取、推断或诱导什么? || 查询监控、速率限制、鲁棒性评估、红队演练 |
| 治理与证据边界 || 部署后必须证明哪些义务? || 合规映射、事件记录、保留策略、可重现控制检查 |
表 13.14:ML 安全和隐私成熟度模型:安全控制应根据威胁模型和部署环境添加。顺序不是日历,而是从基本访问边界到更强的隐私、完整性、对抗性和治理控制的依赖结构。
成熟层是累积的。访问控制和加密通道是前提条件,因为如果注册表是开放的或服务节点可以加载未验证的权重,模型提取防御就毫无意义。当用户数据进入微调、个性化或遥测反馈循环时,隐私控制才变得必要;隐私预算随后成为一类系统资源,在重新训练、超参数搜索以及触及同一敏感数据集的 A/B 测试中进行追踪。模型完整性控制保护工件路径本身:签名清单、密钥管理、哈希检查和发布门禁确保所服务的模型就是经过验证的那个模型。
当攻击者是自适应而非偶然时,对抗性防御才发挥作用。查询监控和输出限制减少了可用于提取攻击的信息,而鲁棒性评估和红队演练则测试模型是否可能被诱导进入不安全行为。诸如可信执行环境或提供指定扰动边界下形式鲁棒性保证的认证防御等更强机制,只有在威胁模型证明其延迟、硬件和运营成本合理时才应选择。随后,治理闭环:审计日志、合规映射、事件记录和可重现控制检查提供证据,表明即使在模型、数据和流量发生变化后,部署的系统仍满足其隐私和安全义务。
不同领域以不同方式遍历模型。医疗部署在广泛面向患者的使用之前优先考虑隐私核算和治理证据。金融欺诈系统强调访问控制、模型完整性和滥用监控,因为提取和规避直接改变损失暴露。自主系统强调对抗鲁棒性和事件证据,因为安全取决于在分布偏移和物理世界扰动下的行为。重点不在于遵循通用的实施日历,而在于让威胁模型决定下一个必须成熟的控制边界。
成熟度模型将安全从反应性补丁转向主动的威胁控制。即使设计良好的系统,当团队将局部机制误认为完整保证时,仍可能失败。
误区和陷阱
机器学习安全的一个常见失败是将局部机制视为系统保证。 obscurity、差分隐私库、联邦学习或加密存储各自解决了威胁模型的一部分,但 nenhuma(注:原文“none”应为“无 jednom”,但为保持准确,此处直译)不能替代关于数据、模型、接口、硬件和分布式规模的全生命周期推理。
误区:通过 obscurity(注:原文“obscurity”为“不透明性”,此处译为“安全通过不透明”)提供足够的机器学习模型保护。
隐藏架构或参数在黑箱攻击无需内部知识即可成功时,没有提供有意义的安全。正如 第 13.4.1.3 节 所述详细引用的提取示例所示,使用 10,000–100,000 次查询即可以 90% 的准确率重建功能;100,000 次查询的每日限制是一个场景假设,用于说明为什么简单的速率限制可能不够。在评估的设置中,对抗样本在不同架构间的迁移成功率为 60–80%,利用的是共享的几何特性而非架构细节。依赖保密性的组织在通过患者查询重建“专有”模型时会发现这一弱点。有效的机器学习安全要求在 Kerckhoffs 原理下发挥作用:假设攻击者具有完全知识,并通过查询限制、输出扰动、水印和异常检测来构建防护,而不是依赖架构保密。
陷阱:假设差分隐私自动确保隐私,而无需考虑实现细节。
许多从业者将差分隐私视为万能解,而不理解参数选择或预算追踪。正如 第 13.8.1 节 所建立的,隐私强度呈非线性变化:ϵ = 0.1 提供强隐私但会使准确率下降 10–15%,ϵ = 1.0 提供中等保护且准确率下降 5–10%,而 ϵ = 10 则提供弱保证且几乎没有实用性损失。隐私预算在操作之间会累积:在 ϵ = 1.0 下训练 10 个模型会消耗总 ϵ = 10,而不是 ϵ = 1.0。如果每次运行针对 ϵ = 1.0,那么一个生产系统在两年内每月重新训练一次会累积达到 ϵ = 24。组织如果未能在重新训练、超参数调整和 A/B 测试中追踪累积隐私损失,就会超过保证幅度的数量级,尽管在使用 DP 库,但仍会违反法规。
误区:联邦学习本身就能提供隐私保护,无需额外防护。
这一误解认为去中心化自动确保隐私,但训练期间传输的梯度更新会泄露重要信息。成员推断攻击在生产联邦模型上可达到 70–90% 的准确率,通过利用行为差异来判断特定数据点是否用于训练。梯度反转攻击能够以高保真度从梯度向量重建原始训练数据(图像、文本)。正如 第 13.7.1.1 节 所考察的,有效的联邦隐私需要分层防御:安全聚合协议防止服务器看到单个贡献,带有 ϵ ≈ 6 的差分隐私向更新添加校准噪声,而密码学保护防止梯度反转。组织在部署联邦学习时若未采用这些防护措施,就会在研究人员演示梯度反转或合规审计揭示违规行为时发现脆弱性——尽管数据从未离开设备。
陷阱:仅对大规模训练数据泄露规划投毒防御。
这一误解导致组织专注于大规模泄露预防,而低估了外科手术式投毒。数据投毒具有极高的杠杆作用:仅污染 0.1% 的训练数据(即 100 万条中的 1,000 条)就能使模型准确率降低 10–50%。后门攻击甚至更高效——将触发模式插入 0.01% 的数据即可生成在干净输入上准确率达 95%+ 但在触发输入上攻击成功率达 90%+ 的模型。这些后门会在重新训练和迁移学习中持续存在。攻击经济学倾向于对手:制造 1,000 个投毒示例的成本远低于收集数百万个合法示例的成本。对于融入用户生成内容的系统,攻击者通过正常渠道(虚假账户、精心设计的评分)注入投毒数据,尽管这些数据仅占输入的 0.1%,但能显著偏移推荐结果。假设“足够干净”的数据能产生“足够安全”模型的组织,往往在对手通过最小程度的腐败实现不成比例的影响时才发现否则。
谬误:Security can be isolated from the rest of the ML system.
组织经常为个别组件添加防御措施(加密存储、API 认证、模型水印),却不考虑跨越多个边界的系统级攻击向量。一个实施了强大 API 防御(速率限制(每日 1,000 次查询)、输出扰动、top-k 过滤)的生产系统在隔离状态下看似健壮,但攻击者通过替代的批处理端点绕过这些防御,从未受保护的监控日志中提取查询-响应对,或直接从公共注册表下载模型权重而无需访问控制。正如第 13.3.1 节所阐述的,有效的 ML 安全需要在整个生命周期中进行全面的威胁建模:数据收集、训练基础设施、模型存储、部署和监控。一个薄弱环节(未加密的快照、未认证的端点、宽松的 CORS 策略)就会导致原本安全的系统被攻破。组织通过代价高昂的事件认识到这一点:API 防御被绕过、模型通过 CI/CD 流水线泄露,或隐私保护训练因冗长日志受到破坏。
陷阱:Underestimating the attack surface expansion in distributed ML systems.
组织能有效保护单节点 ML 系统,但未能意识到分布式架构会使攻击面呈几何级增长,而非线性增长。从一台机器转移到 n[nodes] 台机器会使漏洞增加大约 n[nodes]²,因为节点间通信通道在全连接拓扑中产生 𝒪(n[nodes]²) 的攻击向量,在环形拓扑中则为 𝒪(n[nodes]log n[nodes])。
攻击面的增长速度快于节点数量的增长。
在 16 台机器上的 128 块 GPU 上进行分布式训练意味着, compromising one node(即妥协一个节点)会注入毒化梯度,这些梯度会传播到全局模型。中心化中毒攻击在需要 0.1% 损毁的情况下达到相同效果,而针对特定分布式节点时仅需 0.01%。边缘部署进一步加剧了这一问题:具有 10,000 个客户端的联邦学习创造了 10,000 个被攻击点——如果其中 1% 被攻破(100 台设备),协调性投毒会使准确率下降 10–50%,同时仍保持在单个设备的异常阈值之下。有效的分布式 ML 安全需要承认超线性增长的威胁建模:保护节点间通道、在安全域之间管理身份,并在异构基础设施之间协调策略。
认识到从单节点转向分布式集群会使攻击面几何级增加,这就排除了仅靠边界防护的思维。机器学习舰队的安全必须是分层的、可测量的,并且与整个生命周期紧密相关。
摘要
隐私与安全是机器学习舰队的防御层。它们保护模型、数据、硬件和服务边界免受试图窃取情报、投毒记忆或劫持决策逻辑的对手的威胁。
多层防御架构从硅可信锚点(TEE、HSM)延伸到生成式 AI 所需的语言防护。从传统网络安全到 ML 安全的根本转变使得“学习到的”决策边界成为主要攻击面。严格的数学框架,特别是差分隐私,使工程师能够在不损害个人保密性的前提下,从敏感数据中提取实用价值。违规案例研究使这种架构具体化:Stuxnet 将供应链信任转化为模型溯源问题,吉普切诺基黑客事件将隔离边界转化为安全控制,而 Mirai 将薄弱端点转化为舰队级风险。
机器学习系统呈现出传统网络安全从未设计过来应对的威胁面。一个传统应用服务器可以通过修补已知漏洞、在静态和传输过程中加密数据以及执行访问控制来加固。而 ML 系统虽然具备所有这些要求,但还增加了利用学习到的决策边界本身的全新攻击类别。一个通过投毒训练数据的攻击者不需要突破防火墙;模型会内化这种腐败,并在每次后续部署中携带它。提示注入不会利用缓冲区溢出;它利用的是模型无法区分指令和内容的弱点。这些威胁使得安全和隐私成为一流的工程问题,而非事后委托给独立团队处理的后续考虑。
内化本章分层防御架构的从业者将获得决定性优势:能够推断在 ML 系统生命周期的每个阶段,其最脆弱的位置在哪里。从硬件可信根通过差分隐私预算到生成式 AI 护栏,每一层都解决下层无法单独捕获的威胁。单一机制远远不够,但它们的组合构建了一种能够优雅降级而非灾难性失败的防御姿态。将这种纪律融入到工程工作流中,从最早的设计阶段开始,而非在部署后才补上,这才是区分生产级系统和仅能在首次遭遇决心对手之前存活的原型的关键。
-
模型即攻击面:ML 系统继承了普通服务器的威胁,但增加了针对学习到的边界本身的攻击。被投毒的数据、模型提取、对抗性输入和提示注入都可能在不利用传统软件漏洞的情况下破坏行为。 -
隐私是已用预算:由于模型可以编码敏感数据的影子,隐私不能仅被视为边界处的匿名化。差分隐私提供有界(ϵ, δ)声明,但前提是必须在训练、发布和重复查询访问过程中追踪预算。 -
生成式系统需要语义防御:LLM 的失利利用了语言和上下文:提示注入、工具滥用和 PII 泄露都能通过普通文本渠道传递。输出监控、内容隔离、策略执行和护栏必须位于服务路径中,而不仅仅是在网络控制层。 -
溯源使恢复成为可能:已签名的数据集、锁定的依赖、注册表权限和部署证明使运营者能够回答哪些数据、代码、主体和检查点生成了一个可疑模型。没有这一链条,回滚和取证在舰队速度下将变成猜测。 -
信任始于软件之下:TEE、安全启动、HSM 和硬件可信根保护多租户和机密工作负载,使其免受单靠软件无法隔离的层级威胁。防御姿态必须是分层的,因为每一层都能发现其他层无法看到的失效。
本章最深层的威胁并非一次入侵。而是模型自身的能力。使模型变得有用的对训练数据的拟合,正是攻击者能够从中读取这些数据回来的原因,也正是少数被投毒的样本能够从内部弯曲其行为的原因——因为学习到的决策边界无法像修补一个易受攻击的函数那样被修补。这就是信息泄露不变量(原则):一个在数据上训练的模型始终携带着该数据的影子,因此隐私不再是一次性建起的墙,而在每次回答查询时都会被消耗的预算。在此领域,安全不能简单地 bolted on(事后加装)在边界上;它必须从第一次训练运行开始就融入模型之中,因为资产和攻击面是同一个对象。
ML 防御舰队的防御外围可防范对抗性操纵和未经授权的推理。然而,安全仅解决故意威胁。即使模型完美防护攻击者,在现实世界发生变化时仍可能发生灾难性故障。第 14 章将重点从恶意威胁转移到运营压力:构建在分布漂移、硬件故障以及定义生产环境的复合故障面前仍能保持可靠性的系统。
此处用于确保测验在章节开始前正确插入。
-
当模型自身既是资产又是攻击面时,ML 团队应如何构建分层威胁模型?
-
差分隐私在何时能提供足够的保护,以证明其准确性、计算和预算组成成本是合理的?
-
公共推理 API 如何在不破坏合法效用的情况下,使模型提取在经济上变得不合理?
-
在何种威胁模型下,TEE、安全启动、HSM 或 PUF 的延迟和运营开销是值得的?
鲁棒人工智能

目的
为什么机器学习系统会以传统软件无法实现的方式悄然失效?
传统软件会明显失效:异常导致进程崩溃,类型错误停止编译,断言失败终止执行。这些故障虽令人烦恼,但可被发现,因为系统会发出信号表明出了问题。机器学习系统则会悄然失效。面对分布外输入的模型会继续以全信心输出结果,从不表明这些输出不可靠。经历对抗性攻击的系统会提供与合法预测无法区分的被操纵预测。在分布漂移下性能下降的模型会保持稳定的延迟和正常运行时间,而其准确率却在悄然下降。这种沉默使得机器学习故障尤为危险。当性能下降在业务指标中变得可见时,损害可能已累积数周。当对抗性攻击被检测到时,它可能已影响数千次决策。鲁棒性工程的存在正是为了使看不见的东西变得可见:构建能够检测其超出能力边界运行、抵抗操纵、并优雅降级(而非产生自信的错误输出)的系统。在 C³ 框架下,这种可见性是通过刻意的计算开销获得的:持续验证是协调工作,能够捕捉到悄无声息的统计衰减。
-
将鲁棒性挑战分类为环境漂移、输入层面攻击和系统层面故障
-
解释软件故障如何通过量化可靠性指标放大或伪装为模型故障
-
评估对抗性攻击技术并选择防御措施,如对抗训练、认证和输入清理
-
使用异常检测、统计验证和鲁棒训练构建数据中毒防御
-
应用统计漂移指标来选择监测、调查或重新训练的响应措施
-
在模型和系统维度上整合鲁棒性,同时平衡准确性、计算、能源和韧性之间的权衡
沉默失效问题
鲁棒人工智能位于舰队堆栈的治理层。安全和隐私定义了对抗性边界:谁可以操纵、提取或通过模型进行推理,以及哪些控制措施限制了这种访问。鲁棒性提出了下一个系统层面的问题:当输入、数据分布、硬件或软件不再与训练和验证期间假设的条件相匹配时,舰队是否仍能产生有界、可恢复的行为?安全所视为滥用的对抗性例子在此成为用于测量、防御和认证的模型层面扰动;非对抗性漂移和故障则获得相同的工程处理。一个安全但脆弱的系统在运营上是无用的,因此鲁棒性工程确保舰队在扰动和降级条件下仍能正常运行。
自动驾驶汽车的视觉系统可以在加利福尼亚的晴天完美运行,但在科罗拉多州的暴风雪中改变视觉分布时,会悄然失效。它不会抛出未处理的异常或打印堆栈跟踪;它可能会以全信心将被雪覆盖的停车标志误分类为限速标志。鲁棒性是一门工程学科,它在运营压力(如分布漂移、传感器噪声、对抗性构造输入以及硬件或软件故障)下界定此类行为,而这些故障会使服务表面看来健康,但模型的输出变得不可靠。
正是这种沉默使该学科与众不同。自动驾驶汽车的感知系统在错误地将卡车分类为天空时不会崩溃;需求预测模型在产生 wildly 不准确的预测时不会报错;医疗诊断系统在悄悄提供可能危及患者生命的错误分类时不会关闭。这种沉默失效模式使得鲁棒性成为人工智能系统中独特且关键的挑战:工程师必须防御一个拒绝 conform 到训练数据的世界,而不仅仅是防御代码中的错误。
随着机器学习系统在多样化部署环境中的扩展,沉默失效挑战日益严重。在基于云的服务、边缘设备和嵌入式系统中,硬件和软件故障直接影响性能和可靠性。这些系统日益复杂且部署在安全关键应用³¹²中,使得鲁棒且容错的设计成为维持系统完整性的必要条件。
检查点和恢复机制让训练作业保持存活,访问控制在系统边界强制执行身份验证。然而,它们都无法解决以下情况:已部署模型收到与合法输入无法区分的对抗性输入;数据分布漂移如此之远,以至于预测变得毫无意义;或者预处理流水线中的软件故障悄然损害每一次推理。这些失效模式贯穿机器学习生命周期的全部过程,需要超越任何单一防御的故障检测、隔离和恢复技术。忽视它们的后果范围从经济中断到安全关键领域中的生命威胁。
这些失效模式促使对鲁棒人工智能给出精确定义:
鲁棒人工智能 是一种可测量的系统属性:模型的预测在分布漂移、对抗性扰动以及硬件或软件故障下仍然有效(在指定误差范围内),相较于在理想独立同分布(i.i.d.)条件下实现的平均情况准确率。
-
意义:鲁棒性通过最坏情况保证来量化:一个经过认证的鲁棒分类器证明,在指定扰动集内的任何输入都不会改变其预测,例如围绕测试点、半径为 ϵ 的 ℓ[∞] 球。对于图像分类,ϵ = 8/255(对人眼不可见的扰动)通常会在强攻击如投影梯度下降下,使非鲁棒模型的准确率降至近零。分布漂移会进一步加剧这一问题:一个在 2019 年记录上训练的临床 NLP 模型,若在 2021 年未重新训练即投入使用,由于医疗编码实践和术语的演变,其准确率可能下降 15–25%。
-
区别:与标准泛化(衡量在独立同分布(i.i.d.)保留测试数据上的平均情况准确率,这些数据来自与训练相同的分布)不同,鲁棒性衡量的是在对抗性或分布外输入上的最坏情况表现。这一点至关重要,因为一个模型可能在独立同分布测试集上达到 95% 的准确率,但在与训练数据相差仅肉眼不可察觉的程度上却完全失效。
常见陷阱
一个常见的误解是,鲁棒性可以作为事后监控层添加到任何现有模型中。模型的鲁棒性特性主要是在训练过程中决定的——在训练时未使用对抗样本或鲁棒性目标的模型,不能仅通过推理时的过滤实现认证鲁棒性,因为漏洞在于学习到的决策边界,而不在于哪些输入到达了模型。
三类威胁会导致这些无声故障,且每类都需要不同的工程响应。
环境变化
分布漂移、概念漂移和不断变化的运行环境挑战了模型训练的核心假设。基于去年交易模式训练的模型,在客户行为演变时会悄然变得不可靠,这需要超出标准运营实践的持续监控和适应策略。
恶意操控
对抗攻击、数据中毒尝试和提示注入漏洞会导致模型错误分类输入或产生不可靠的输出——这些故障无法通过身份验证和访问控制(Chapter 13)来防范,因为攻击者在模型自身的输入空间内运作。
系统级故障
硬件故障、软件错误、依赖失败和运行时错误会损坏模型周围的机制。这些故障还可能放大、掩盖或模拟其他鲁棒性故障。算法、库和框架中的错误、设计缺陷和实现错误会通过系统传播,造成超越单个组件故障的系统性漏洞[³¹³]。一个预处理错误可能制造人为的分布漂移;一个数值错误可能以与对抗攻击 indistinguishable 的方式损坏模型行为;一个竞争条件可能损坏学习到的表示。由于这些故障源于系统层,其详细分类和缓解策略在 Chapter 7 中有所介绍;这里,我们重点讨论系统级故障如何与环境变化和输入层攻击相互作用。
适当的防御取决于系统运行的位置。大规模云环境可以承担冗余和复杂的错误检测机制,这些机制会使边缘设备的功耗和内存预算不堪重负。边缘设备(Chapter 11)则必须依赖有针对性的强化策略[³¹⁴],在接受其他地区较弱保证的同时,保护最关键的推理路径。
尽管存在这些情境差异,一个鲁棒的机器学习系统需要在所有部署环境中具备容错性、错误韧性和持续性能,而这些保障并非免费。错误纠正会增加内存带宽开销,冗余处理会增加能耗,持续监控会占用一定的计算资源,而且这些都会产生额外的热量,加剧限制部署密度的热管理挑战。鲁棒性问题在于这种额外的资源成本是否能提供足够的可靠性价值以证明其合理性。
因此,鲁棒性不是可以事后 bolt 到已完成系统上的事后思考。它是一个架构约束,塑造了机器学习管道的每一层,从输入验证和对抗训练,到漂移检测和软件故障隔离,而忽视它的工程成本会悄然累积,直至系统在生产环境中失败。无声故障已经在云、边缘和嵌入式部署的生产系统中造成了重大损害。
真实世界鲁棒性故障
在云、边缘和嵌入式环境中,当栈中隐藏的假设成为系统未监控的依赖时,机器学习系统就会发生故障。下面的事件在规模和领域上有所不同,但每个事件都展示了同样的模式:系统继续运行,而一个未被观察到的条件损坏了结果。
背景:2015 年 6 月,Google Photos 推出自动图像标注功能,以消费者规模组织用户照片(Kasperkevic 2015)。
故障模式:布鲁克林程序员 Jacky Alciné 在 Twitter 上发布了截图,显示系统将他和一位黑人朋友的照片标注在相册标签为“大猩猩”的相册下。这种误分类反映了视觉模型和评估流程在发布前未能发现有害的切片级故障。
后果:当时谷歌的社交业务首席架构师 Yonatan Zunger 在几小时内在 Twitter 上公开回应,称该结果不可接受并道歉。谷歌的临时修复方案完全从 Photos 中删除了“大猩猩”、“黑猩猩”和“猴子”标签——这是一种类别级删除,而非模型修正。多年后对该事件的报道描述这些标签仍被阻止而未恢复:在事件压力下采取的权宜之计成为长期存在的措施,因为团队无法确信底层分类器不会在同一人群中以同样的方式再次失败。
系统教训:鲁棒性不仅仅是总的准确性。生产环境中的视觉系统需要切片级评估、有害标签测试,以及对错误可能带来高社会成本的标签实施安全的回退行为——而且“临时”缓解措施往往比它所要弥补的修复更持久。
该测试间隙故障是更广泛可靠性问题的模型面向版本。在云基础设施中,隐藏的假设通常是共享依赖项保持可用和正确。
云基础设施故障
鲁棒的机器学习系统继承了一种在机器学习出现之前就存在的可靠性传统。响亮的非机器学习基础设施故障,例如 2017 年 AWS S3 中断[³¹⁵],其中一个输入错误的维护命令移除了过多容量,并通过每个将区域对象存储视为可用性不变量的服务产生级联(Amazon Web Services 2017),正是这类依赖和故障故障,其检测和恢复机制由本章在第Chapter 7节中递交处理。它们是响亮的而非无声的,并激发了本章所假设的纪律,而不是本章聚焦的无声模型级故障。大规模训练的经济性会放大这些后果:S3 中断会同时剥夺数千个加速器的数据碎片,且在中断窗口期间失败的任何检查点写入意味着,当预 emption 最终使集群返回调度器时,数小时或数天的梯度更新将无法恢复。真正新颖且独属机器学习的问题在于:当故障是无声时——系统继续提供服务,而未被观察到的损坏悄悄传播。
在另一个案例中(Dixit et al. 2021),Facebook 在其分布式查询基础设施(Figure 14.1)中遇到了静态数据损坏(SDC)[³¹⁶] 问题。SDC 指的是在计算或数据传输过程中未被检测到的错误,这些错误会悄悄地通过系统各层传播。Facebook 的系统处理跨数据集的类似 SQL 的查询,并支持一个旨在减少数据存储占用的压缩应用。文件在不使用时被压缩,在读取请求时被解压缩。会在解压缩前执行大小检查以确保文件有效。然而,偶尔会出现一个意外故障,导致有效文件被返回为零大小,从而引发解压缩失败和输出数据库中条目的缺失。该问题时断时续出现,有些计算返回正确的文件大小,使得诊断尤为困难。
[³¹³]: 参见源文本的脚注 313。
[³¹⁴]: 参见源文本的脚注 314。
[³¹⁵]: 参见源文本的脚注 315。
[³¹⁶]: 参见源文本的脚注 316。
图 14.1:无声数据损坏:意外故障可能返回错误的文件大小,导致解压过程中数据丢失,并在分布式查询系统中传播错误,尽管表面上操作成功。此 Facebook 的例子强调了未检测到的错误、无声数据损坏的挑战,以及在大规模数据处理管道中健壮错误检测机制的重要性。来源:Facebook (Dixit et al. 2021)。
在分布式机器学习训练中,无声数据损坏相较于传统数据处理系统具有更具破坏性的定性影响:损坏的梯度或激活可能扰乱优化器状态并影响后续步骤,而不仅限于单个查询结果的范围。数据库查询中的丢失行是局限于该查询输出的局部数据丢失——一个点修复。而数据库的修复是点修复,机器学习的补救通常需要回滚到最近的干净检查点并重启受影响的训练运行。SDC 因此可能在未触发任何警报的情况下损害模型准确性,且其影响范围随同步和检查点设计的增长而扩大,而非保持局部化。Meta 的生产报告显示,SDC 在 CPU 和软件层面构成系统性舰队问题 (Dixit et al. 2021);最近的 LLM 训练研究表明,真实世界中的 SDC 可以改变子模块输出、优化器步骤、损失激增以及最终模型权重 (Ma et al. 2025)。Dean 在 MLSys 2024 的受邀演讲被收录在此,作为 AI 系统中相同可靠性问题的行业级视觉示例 (Dean 2024) (图 14.2)。

图 14.2:无声数据损坏:Jeff Dean 在 MLSys 2024 上就无声数据损坏(SDC)发表演讲,指出在大规模机器学习训练作业中,硬件错误是常态,而来自一颗故障芯片的错误计算可能传播并感染整个训练运行。来源:Jeff Dean 在 MLSys 2024 的主旨演讲(Google)。
边缘设备漏洞
分布式边缘部署^317 暴露了 ML 系统的脆弱性,在这些系统中,计算、电源和连接受到严重限制。自动驾驶汽车是这一脆弱性的典型例子,因为它们在开放世界环境中运行,具有硬实时延迟要求且对故障零容忍。
2016 年 5 月,一起涉及特斯拉 Model S 在 Autopilot 模式下的致命事故^318 凸显了感知失效的灾难性潜力 (National Transportation Safety Board 2017)。车辆在限速 65 英里/小时的路段以 74 英里/小时的速度行驶时,其 Mobileye EyeQ3 摄像头系统未能将拖车侧面与明亮的天空区分开来。雷达设计用于忽略道路上方的标志以防止误刹事件,因此将高位的拖车挂车视为静止物体而被忽略。这种多模态失效导致高速下穿碰撞,且没有自主刹车干预:光学和雷达系统均收到了有效的原始数据,但融合逻辑将其丢弃 (图 14.3)。

图 14.3:Autopilot 感知失效:此事故揭示了在自主系统中依赖机器学习进行感知所带来的关键安全风险,其中对象分类错误可能导致灾难性后果。该事件凸显了在自动驾驶汽车设计中需要进行健壮验证、冗余和故障安全机制,以减轻不完美 AI 模型的影响。来源:BBC 新闻。
2018 年 3 月,在亚利桑那州坦佩市发生了一起同样悲剧性的事故,当时一辆 Uber 自动驾驶测试车辆撞倒并致死一名行人 (National Transportation Safety Board 2019)。感知系统在撞击前六秒就检测到了行人,但对象分类稳定性根本失败。随着行人横穿马路,系统将其分类从“未知对象”切换为“车辆”,再切换为“自行车”,并在每次切换时重置其轨迹预测历史。由于系统缺乏持续的对象追踪,它在撞击前 1.3 秒才预测到碰撞路径——对安全驾驶员来说已太晚,无法进行干预。
除了汽车领域,工业边缘部署也面临类似风险。例如,检查高压电力线的无人机可能依赖视觉里程计进行稳定;突如其来的光照变化或重复纹理可能导致定位算法发散,进而引发碰撞或飞走事件。边缘设备缺乏后备冗余:当主要推理引擎变得不确定时,没有次级集群可用于流量路由。系统必须在毫秒级内优雅降级或安全故障。资源弹性的缺失使边缘 AI 对环境变化异常脆弱,而数据中心则可通过大规模过度配置来应对此类问题。
嵌入式系统约束
嵌入式系统^319 在比边缘设备更严苛的约束下运行,常见于故障无法恢复的安全关键环境。这些也是机器学习继承了前 ML 可靠性传统中最苛刻部分的领域:以下传统嵌入式软件故障属于响亮的、非 ML 故障,其机制归属于第 7 章,但它们设定了验证标准,任何在决策循环中的 ML 组件也必须满足这一标准。
1999 年 NASA 火星极地着陆器的损失,经审查委员会认定归因于 premature touchdown detection(提前触地检测),这可能导致发动机在着陆前被关闭 (NASA Mars Program Independent Assessment Team 2000),是典型例子:在无法恢复的情况下,严格的软件验证是先决条件而非奢侈,且同样的严谨也适用于决策循环中的任何 ML 组件 (图 14.4)。

图 14.4:火星机器人着陆器:NASA 洞察号着陆器在火星表面的艺术渲染图。远程机器人任务体现了这样一类系统:其中的软件或传感器故障无法通过人类干预恢复,这促使对决策循环中的 ML 组件也必须进行严格的验证和故障模式分析。来源:Slashgear。
商业航空展示了相同的继承风险:2015 年 FAA 适航指令跟进了波音的发现——如果一架 787 飞机持续供电 248 天后,其四个发动机-mounted 发电机控制单元同时进入安全模式,则会导致所有交流电力完全丢失,从而使持续运行时间本身成为风险因素320。安全关键系统321 正因这种潜在危险而要求严格的可靠性要求。
“如果四个主发电机控制单元(与发动机-mounted 发电机相关联)同时通电,在连续供电 248 天后,四个 GCU 将同时进入安全模式,无论飞行阶段如何,都将导致所有交流电力完全丢失。”——联邦航空管理局指令 (Federal Aviation Administration 2015)
当 AI 应用于航空领域,包括自主飞行控制和预测性维护等任务时,嵌入式系统的鲁棒性直接影响乘客安全。这些机器学习之前的故障设定了验证基准,任何在相同环境中共享资源的机器学习组件也必须达到此标准。在行星探测漫游器上运行视觉里程计的神经网络必须能够处理其权重张量中的宇宙射线位翻转,因为在这些辐射水平下硬件 ECC 不可用,而损坏的层激活可能导致定位算法发散,使漫游器驶入原本会避开的地形。边缘机器学习飞行控制器必须实现一种由模型自身认识论不确定性触发的确定性失效保护:当网络的置信度低于指定阈值时,控制权应在神经组件可能犯下安全关键错误之前,转移至传统的基于规则的系统。这些要求并不是对机器学习之前验证传统的简单附加,而是对传统嵌入式软件从未遇到过的一类故障模式应用了相同的严谨性。
当我们考虑可植入医疗设备时,风险变得更高。一个由于软件或硬件故障而出现故障或意外行为的智能起搏器可能会危及患者生命(BBC Future 2022)。随着 AI 系统在这些应用中承担感知、决策和控制角色,新的脆弱性来源随之出现,包括数据相关错误、模型不确定性³²²,以及罕见边缘情况下的不可预测行为。一些 AI 模型的不透明性使得故障诊断和恢复变得复杂。
每一次故障都揭示了需要系统性方法进行鲁棒性评估和缓解的共同模式:AWS 中断导致依赖 S3 的云服务受阻,自动驾驶汽车感知错误引发致命事故,航天器软件错误导致任务失败。这些结构模式跨越了不同的部署环境,一个统一的鲁棒性框架必须捕捉不同故障模式在系统规模上如何相互作用和叠加。
统一的 AI 鲁棒性框架
GPU 内存模块中的一次位翻转可能导致语言模型生成有毒文本。用户人口结构的逐渐变化可能触发推荐延迟的突然激增。生产机器学习系统不能将这些视为孤立的错误。一个统一框架必须映射低级硬件故障、软件错误、数据漂移和对抗性输入如何向上级联,以破坏模型输出的完整性。
与先前概念的关联
第 7 章中的容错机制最初设计用于从硬件崩溃中恢复训练任务,在鲁棒性方面发挥第二作用:推理时的可用性。训练恢复侧重于检查点恢复,而鲁棒性则将其延伸至优雅降级,确保即使在输入具有对抗性或组件退化时,服务系统仍能保持运行。第 5 章中的分布式训练架构引入了独特的漏洞:在 AllReduce 操作过程中,单个节点传输损坏的梯度可能毒害全局模型权重,这 necessitates 使用拜占庭容错协议,在聚合之前验证对等更新。
第 13 章中的安全框架提供了威胁建模原则,为对抗性防御策略提供信息。第 12 章中的运营监控系统为在生产环境中检测鲁棒性威胁提供了基础设施。第 10 章中的服务基础设施创造了新的攻击面:批处理、模型路由和流水线并行性使调度逻辑和单个流水线阶段暴露于对抗性查询之下。
在分片推理中,一个失效的阶段会导致整个请求失败。
大规模密集模型会放大这些风险。一个 GPT-3 级别的 175B 参数模型在典型的 FP16/BF16 服务精度下,对于单个加速器来说太大了,因此部署需要将权重和激活分片到多个设备上。每增加一个流水线或张量并行阶段,相较于单体部署,故障表面就会增加:单个位翻转、网络分区或针对某一阶段的对抗性输入都可能导致整个推理请求失败。诸如 INT8 量化和激进剪枝等效率技术通过减少模型的鲁棒性余量来加剧这一问题——即模型在其预测发生变化之前能够吸收的输入扰动、数值误差或表示变化的程度。因此,鲁棒性工程成为在之前章节中确立的效率和可扩展性约束条件下的持续谈判。
从机器学习性能到系统可靠性
一旦静默故障成为系统属性,准确性、延迟和吞吐量就不再能够完整描述可靠性范围。所部署的模型还依赖于执行它的计算底层,而该底层可能在未产生可见服务故障的情况下损坏一个正确的模型。
考虑硬件可靠性如何直接影响机器学习性能。正如图 14.5 所示,神经网络关键权重中的一次位翻转可能使 ResNet-50 在 ImageNet 上的顶-1 分类准确率从 76%降至 11%,而训练期间内存子系统的故障会损坏梯度更新并阻止模型收敛。具有 175B 参数的现代 Transformer 模型(如 GPT-3)在前向传播过程中会执行巨量的浮点运算,从而创造许多硬件故障发生的机会。运行在高达 900 GB/s 带宽(如 V100 HBM2)的 GPU 内存系统每秒处理大约 7.2×10¹² 位。在每处理一位的基础错误率为 1.0×10^(−17)的情况下,持续峰值带宽每设备每小时将产生大约 0.26 次错误;在规模化部署中,这些低每设备错误率会累积为可运营可见的故障率。
图 14.5:通过位翻转导致的权重损坏:神经网络前向传播示意图(左侧)显示,某一权重上的位翻转将正常路径转变为损坏路径,其错误会传播到输出。权重值直方图(右侧)显示,单个损坏的权重落在 10^(k)的极端尾部,远远偏离正态分布。在 IEEE 754 中翻转具有 2^(k)位值的指数位,会使该值因 2(±2(k))而改变,导致下游神经元饱和并引发静默误分类。
硬件可靠性与机器学习性能之间的联系需要借鉴可靠性工程³²³的概念:描述故障发生方式的故障模式、在问题影响结果之前识别问题的错误检测机制,以及恢复系统运行的恢复策略。这些可靠性概念补充了诸如量化、修剪和知识蒸馏等性能优化技术,确保优化后的系统在真实世界条件下仍能正确运行。
Chapter 7 建立了这样一个模型:每个设备的静默腐败率在 N 台设备的舰队中会累计为 Pr ( ≥ 1) = 1 − (1 − p)^(N),这正是使单个位翻转在训练规模下几乎必然发生的同一算式。其鲁棒性后果正是 Figure 14.6 所延伸的内容:扫描每台设备的错误率可以看出,一旦模型被切分到数千台设备上,集群级别的概率会急剧上升。该曲线使用了一个示例性的压力测试率——每台设备每小时 0.01% 的错误率。以此速率来看,拥有 10,000 台设备的集群出现每小时一次静默错误的概率超过 50%(63.2%),而概率在约 29,956 台设备时突破 95%。Meta 的 SDC 报告确认了可观测舰队规模的腐败情况(Dixit et al. 2021)。

Figure 14.6: 规模下的静默错误概率:以每台设备的错误率为变量,展示了在不同集群规模下每小时至少出现一次静默数据腐败事件的概率。曲线显示,随着每台设备错误率的提升,集群级概率会快速复合。
在集群尺度上的复合效应推动了一个跨越所有 ML 系统维度的统一鲁棒性框架。来自硬件、对抗输入以及软件缺陷的故障具有共同特征,并可通过系统化的方法加以解决。
鲁棒 AI 的三大支柱
统一框架帮助工程师在选择防御措施之前先明确看到的是哪类故障信号。环境漂移、输入层攻击和系统层故障会产生不同的证据,需要不同的响应;软件缺陷横跨三者,因为它们可以放大或伪装成任意一种。三支柱框架(见 Figure 14.7)将这些威胁组织为相互关联的脆弱点,需配套的防御策略互补。
Figure 14.7: 三支柱框架:AI 系统在真实部署中保证可靠运行必须应对的三类核心鲁棒性挑战。一个鲁棒的 AI 系统建立在对这三类挑战的有效处理之上。
该图在先前提出的三类中进一步加入了每根支柱产生的证据以及所需的防御家族。环境漂移产生统计信号:输入或标签分布相对于参考持续移动,证据为分布距离,响应家族为监控、再校准和重新训练。
输入层攻击产生对抗信号:精心构造的输入或中毒样本被设计为最大化错误,证据为梯度对齐的扰动或异常训练样本,响应家族为对抗训练、认证与输入净化。由于攻击者操作的是模型自身的输入空间,认证与访问控制(Chapter 13)并不能防止此类故障。
系统层故障则涵盖了硬件、代码、框架以及部署基础设施层面的失效:梯度计算的数值不稳定、预处理 bug 导致的数据管道腐败、分布式训练中的竞争条件、长期服务中的内存泄漏、版本不匹配导致的依赖失效,以及比特翻转或断电等硬件故障。这些故障机制本身以及它们的检测与恢复属于 Chapter 7。之所以把第三支柱归为鲁棒性问题而非纯可靠性问题,是因为这些故障很少以“故障”形式出现:它们会伪装成前两支柱的表现,工程师若误读其伪装会把防御预算花在错误的方向上。
诊断伪装
设想有运维人员看到三根支柱的相同表面症状:模型精度下降,而延迟和正常运行时间保持不变。一个在特征上静默重新缩放的预处理 bug 看起来就像漂移监控检测到的协变量漂移,因为特征统计真的发生了移动。一次导致层激活被破坏的数值溢出会产生自信的错误分类,恰似对抗样本,因为决策在没有可见输入原因的情况下翻转。伪装正是全部难点所在:廉价的支柱专用检测器只对症状触发,而非根本原因。
三类信号帮助区分这些情况:
-
变化边界:真实的环境漂移是连续的、影响整个人群的输入;管道故障则表现为与部署、依赖升级或 schema 变更同步的阶跃不连续,并且可能导致在真实世界中不会一起变化的特征同步移动。
-
固定输入可复现性:漂移和对抗扰动是输入分布属性,使用相同的保存输入再次通过当前管道会得到相同的历史输出;而硬件或数值故障是计算属性,同一保存输入此时会产生不同答案。对黄金输入集合的重放是最具区分性的测试,这也是管道等价性检查和预处理版本检查应与漂移监控并列于鲁棒性工具箱的原因。
-
跨层相关性:真实的对抗攻击会伴随输入空间异常,如异常查询模式或梯度对齐扰动;伪装的软件故障则会与系统层信号相关,如代码发布、ECC 计数器、SDC 检查或内存压力报警,这些已在 Chapter 7 中受到监控。
因此,诊断的原则是先阅读系统层面的证据,再决定是否接受漂移或攻击的假设,因为每根支柱对应的响应不同,且只能有一个是正确的。
共通的鲁棒性原则
在所有三类中,共享的工程问题是决定哪类信号触发哪种响应。鲁棒系统需要设定检测阈值、退化路径以及适应机制,并为每一项分配明确的成本预算。
检测与监控是该策略的基石。每根支柱要求的信号各不相同。系统层监控采样硬件与运行时指标,以捕获温度异常、电压波动、内存错误或静默数据腐败,在它们破坏模型状态之前进行拦截。输入层攻击监控使用统计或激活空间测试,在对抗输入或中毒样本到达决策边界或训练循环之前标记它们。环境漂移监控则将生产流量与参考分布对比,常用工具包括最大均值差异 (MMD)、人口稳定指数 (PSI) 或 Kolmogorov‑Smirnov (K‑S) 检验。同样的量化纪律也适用于防御成本:鲁棒机制必须进行预算,而非仅仅开启,因为每个检测器都在灵敏度、误报率、延迟和计算开销之间进行权衡。
Problem: 一个团队正在为自动驾驶车辆训练鲁棒分类器,使用带有七步投影梯度下降攻击(PGD‑7)的对抗训练,对每个训练批次搜索最坏情况扰动。此额外的攻击生成工作会使训练运行慢多少?
Math: 生成对抗样本需要对每个训练样本额外进行 K 次梯度步骤。
-
前向/后向传播:1(标准) + 7(攻击生成) = 8 次总传播。
-
训练慢速化:慢 8 倍。
-
Utility Cost: 在最坏情况下的攻击下的准确率为 70 percent,而标准模型在干净数据上的准确率为 95 percent。
系统洞察:鲁棒性是一种效率与实用性的权衡。在这个 PGD-7 示例中,团队需要支付 8× 的训练成本,并且在标准干净数据准确率与在指定最坏情况数字扰动威胁模型下的鲁棒准确率之间存在 25 个百分点的准确率差距。此笔记本测量了一种训练成本情景;第 14.6.1 节中的 ResNet-50 鲁棒性税示例(Section 14.6.1)衡量了将对抗鲁棒性构建到模型权重中所带来的独立干净准确率税。在机器学习舰队中,“鲁棒性”不是可以简单开启的设置;它是团队需要预算支出的成本。这种预算压力通常使得检测对于低风险组件更具吸引力,而认证和鲁棒训练则更容易被证明为安全关键路径的合理选择。
优雅降级将检测转化为有界的运行模式,而不是导致崩溃。鲁棒系统表现出可预测的性能下降,同时保留关键功能。ECC 内存系统在单比特错误恢复时的成功率达到 99.9 percent,同时增加了 12.5 percent 的带宽开销。从 FP32 到 INT8 的模型量化将内存需求降低了 75 percent,推理时间降低了 2–4×,以牺牲 1–3 percent 的准确率为代价,以在资源受限条件下继续运行。集合回退系统通过牺牲峰值准确率来换取连续性,当主模型失效时,能够保持大部分峰值性能,并能够快速切换以实时服务预算范围内运行。
自适应响应通过在信号持续存在时改变系统行为来完成闭环。适应可能涉及激活错误校正机制、应用输入预处理技术,或动态调整模型参数。关键原则是鲁棒性不是静态的,而是需要持续调整以保持有效性。
检测、降级和适应不仅限于故障恢复,而是形成了一种贯穿机器学习系统设计全过程的系统性性能适应策略。Figure 14.8 将 Figure 14.7 中的同三个支柱展开为具体的失效子类型,然后将共享的响应模式附加到每个子类型上:检测策略构成监控系统的基础,优雅降级指导组件失效时的回退机制,而自适应响应使系统能够随条件变化而演进。
图 14.8: 鲁棒性分类法:环境变化、输入层面攻击和系统级故障被分解为具体的失效子类型。软件故障可能出现在或放大这三个类别中的任何一个。
Figure 14.8 中的分类法表明,没有单一的防御机制能够覆盖所有三个支柱:环境变化、输入层面攻击和系统级故障各自需要不同的检测、降级和适应机制,使得纵深防御成为生产系统的核心策略。
在机器学习流水线中的集成
鲁棒性不能简单地“ bolt-on ”到已经训练好的模型上;它是一种在机器学习生命周期每个阶段都被强制执行的质量属性,这一原则通常被称为纵深防御。在数据摄入阶段,清洗过滤器必须在数据进入训练集之前拒绝格式错误或统计异常的记录,从源头上防止数据中毒攻击。在训练过程中,对抗训练直接将模型暴露在最坏情况扰动之下,而随机平滑随后将嘈杂的重复预测转化为可验证的鲁棒性界。两者都试图限制输出随输入变化的速度,这正是模型的 Lipschitz constant³²⁵ 所直觉捕捉到的直觉。验证不仅限于简单的准确率指标,还应包括在分布外 (OOD) 数据集上的压力测试,以确保模型的决策边界在开放世界中表现良好。
一旦部署,重点转向运行时防御。鲁棒推理服务器通过结合 Section 14.6.1.2 中的检测技术来增强其服务架构,包括在输入过滤中拦截对抗性查询,使其在到达加速器之前被阻断。对于一个生产级欺诈检测管道,这种分层方法能够带来复合效益:廉价的统计验证在数据摄入阶段只能捕捉到最粗糙的中毒尝试,而在服务时间的语义输入过滤则能够阻断更大比例的复杂规避攻击。监控层充当安全网,能够在几天到几周内检测到分布漂移——例如交易金额或用户地理位置的突然变化——并在性能降低到服务水平目标(SLO)以下之前触发重新训练工作流。
这种整体观点与硬件现实相结合。硬件故障(瞬态、永久和间歇性)在第 7.2 节中有详细说明(Section 7.2),在那里它们与分布式系统的更广泛故障检测和恢复机制相结合。一个鲁棒的软件流水线将 ALU 中的静默数据损坏或 HBM 中的位翻转视为另一种需要过滤或重试的噪声形式,而不是作为例外的崩溃。在建立了生命周期和硬件框架之后,本章现在转向模型退化的最常见来源:真实世界不断演变,而训练数据集却冻结在时间中。
统一框架要求您在选择防御措施之前,先命名导致静默失效的三个支柱中的哪一个,并认识到软件故障可以伪装成它们中的任何一个。
威胁分类
选择响应
环境变化
训练数据定格了过去的世界,而生产流量却在不断变化。环境变化是由于这种不匹配而导致的鲁棒性失效:数据分布、用户行为和操作环境在模型学习其边界之后发生变化。这些变化还会与其他脆弱性类型相互作用:经历分布偏移的模型会更容易受到对抗性攻击的影响,而在改变的环境条件下,软件错误可能以不同的方式表现出来。
分布偏移和概念漂移
一辆在资源充裕医院的 X 光图像上训练的医疗诊断模型,当部署到设备较旧的农村诊所时,其准确率会骤降。潜在的医疗状况并未改变;图像特征有所不同。模型遇到的世界与其学习的世界不同,因此出现了分布偏移。
问题:一个模型监控一个已知标准差为 0.3 的关键输入特征。基线均值为 0.5。在最近的 1,000 个请求中,均值已经偏移到 0.55。工程问题在于:这是随机波动还是真正的分布偏移?
数学:检测需要证明观测到的变化在基线分布下具有统计显著性。
-
均值差异:0.05。
-
标准误差:\(0.3/\\sqrt{1,000} \\approx 0.009\)。
-
统计显著性:该偏移大约偏离均值 5.3 个标准误。
-
P 值:< 0.001。
系统洞察:统计显著性是监控系统的信噪比。0.05 的偏移可能看起来“微小”,但在 1,000 个样本中,它为随机噪声的概率小于 0.1%。在机器学习舰队中,这是一条已确认的漂移警报,但尚未被确认为模型回归。系统应触发调查、加强监控,并与精确率、召回率、延迟及业务指标进行关联;仅在特征偏移为高重要性、漂移跨越严重阈值,或服务级别指标下降时,才应考虑模型回退或重新训练。
Figure 14.9 中的分类法区分了漂移检测器可以呈现的三种故障模式:输入可能移动、标签先验可能移动,或输入-标签关系本身可能改变。
图 14.9:分布偏移类型:协变量偏移(p(x) 变化)、标签偏移(p(y) 变化)和概念漂移(p(y|x) 变化)的比较。理解偏移的具体类型对于选择正确的适应策略至关重要(例如,重要性重新加权 vs. 模型重新训练)。
这些偏移随着环境演变而自然发生。用户偏好随季节变化,语言随新俚语演变,经济模式随市场条件变化。与需要恶意意图的对抗性攻击不同,这些偏移是由真实世界系统的动态性自然产生的。
技术类别
当输入分布发生变化而输入与输出之间的关系保持不变时,就会发生协变量偏移(Quiñonero-Candela et al. 2009)。在白天图像上训练的自动驾驶汽车感知模型,在夜间条件下部署时可能经历准确度下降,幅度达 15–30%,尽管底层物体识别任务保持不变,且其幅度取决于亮度变化和传感器特性。天气条件会引入额外的协变量偏移:雨、雪和雾在自动驾驶评估中广泛被报道会导致物体检测 mAP 相较于晴朗天气基准下降约 10–25%。这些数字应被视为自动驾驶汽车感知基准的代表性幅度,而非单一引用结果。这些环境变化实际上相对于学习到的决策边界偏移了数据点(Figure 14.10),在模型本身未发生任何变化的情况下导致误分类。
图 14.10:分布偏移下的决策边界:环境变化(例如,从白天到夜晚,从晴朗到多雾)会导致输入空间中的数据点发生偏移。当偏移使数据点跨越学习到的决策边界时,模型会对在训练条件下本应正确处理的输入进行误分类。与对抗性扰动不同,这些偏移是自然产生的,并且会影响整个输入群体,而非单个示例。
Figure 14.10 说明了输入分布移动而真实映射 p(y|x) 保持不变的情况。一种更隐蔽的变体发生在映射本身发生变化时:今天对于给定输入的正确标签与训练期间的标签不同。
概念漂移 是分布偏移的部署模型子类型(参见 Section 14.4.1),在此情况下,统计关系 p(y|x) 随时间变化,意味着决策边界本身变得不正确,而不仅仅是输入分布发生变化。其兄弟是数据漂移(参见 Section 12.6),在此情况下 p(x) 变化而 p(y|x) 保持稳定。
-
重要性:它导致模型悄然退化,因为模型学到的历史映射不再代表当前现实。在铁律之下,它压缩了重新训练前的有效部署窗口:欺诈检测模型、推荐系统及其他依赖行为的模型可能需要随着对手、用户和政策的变化进行定期重新训练或重新校准。每次被迫的重新训练周期会产生与原始训练运行相同的完整
O/(R[peak] ⋅η[hw]) 成本,使得每次预测的摊销成本成为漂移速度的直接函数。 -
区别:与数据漂移(其中带有未变标签的新
p(x)数据能完全恢复性能)不同,概念漂移需要在新的p(y|x)下重新标注,因为治愈数据漂移的相同基准真值标注程序在同一输入的正确答案发生变化时是不够的。这使得概念漂移在修复上结构上更昂贵:它需要对近期示例进行人工标注,而不仅仅是重新采样现有的带标签分布。 -
常见陷阱:一个常见的误解是概念漂移可以通过监控输入特征统计量来检测。因为
p(x)可能完全未变,输入水平的监控(PSI,特征上的 KL 散度)将不会显示任何信号。概念漂移只能通过将预测与基准真值结果进行比较来确认,这使得它在实时检测中明显更难,并且在开始修复之前需要一个基准真值反馈循环。
概念漂移代表输入与输出之间底层关系随时间的变化(Widmer and Kubat 1996)。在生产中,这通常出现在欺诈检测或推荐等领域,其中对手、季节模式和用户偏好改变了标签关系,并迫使定期重新校准或重新训练。
标签偏移影响输出类别的分布,而不改变输入-输出关系(Lipton et al. 2018)。例如,在 COVID-19 期间,医院病例组合和疾病流行率迅速变化,因此即使图像特征具有相同的临床含义,诊断模型也可能需要阈值重新校准。类似的类别流行率变化可能随着季节、政策或用户群体的变化而发生,此时需要重新校准或重新加权,而不是假设特征-标签关系本身已经改变。
模型也可能因从训练数据中学到了错误的教训而失败,而非因为世界发生了变化。一个经典例子是模型通过检测“草”背景来识别“牛”。当面对沙滩上的牛时,模型会失败。根本原因是虚假相关:一个在训练集中具有预测力但与标签无因果关系的特征。
经验风险最小化(ERM)的标准训练会鼓励这些捷径,因为它们通常比鲁棒特征(形状、纹理)更容易从统计角度学习。诸如组分布式鲁棒优化(Group DRO) 的技术通过显式最小化最坏情况组损失(例如,沙滩上的牛),而非平均损失来明确缓解此问题。该方法要求组织在 advance 已知或可推断,但当这些组织可用时,它会迫使模型学习在所有情境下都有效的特征。
监控与适应策略
只有当漂移监控能够将分布信号转化为运营决策时,它才值得存在:调查、适应、重新训练,或继续监控。
统计距离指标通过衡量训练数据与部署数据分布之间的差异来量化分布偏移的程度。在此示例性的 H100 级监控场景中,使用 RBF 核(γ = 1.0)的最大均值 discrepancy(MMD)在 150 毫秒内处理 10,000 个样本;其敏感度取决于偏移模型和核函数的选择。Kolmogorov-Smirnov 检验可以在 1,000+ 个样本的情况下检测单变量偏移,但在高维数据上缩放效果较差,且可能忽略掉保持边缘分布不变的联合变化。人口稳定指数(PSI)³²⁶ 的阈值在 0.1 到 0.25 之间表示显著偏移,需要进行模型调查。
一旦监控器触发警报,适应将成为一种预算化的响应,而不是自动重新训练的命令。在线学习使模型能够在保持先前学习模式性能的同时持续适应新数据(Shalev-Shwartz 2012)。适应预算取决于模型大小、漂移率和反馈延迟:更新过于激进可能追逐噪声,而更新过于缓慢则会导致性能漂移。在生产环境中,在线学习系统通常会明确限制更新频率、状态大小和服务延迟,而不是假设适应是免费的。弹性权重巩固(Elastic Weight Consolidation)等技术通过惩罚对先前任务重要的参数的变化来减少灾难性遗忘(Kirkpatrick et al. 2017)。
自适应集成方法维护多个模型或假设,并基于最近的性能对其进行加权或选择,使其在渐进式概念漂移下非常有用(Gama et al. 2014)。这种方法通过额外的服务和监控复杂性来换取在单个静态模型不再匹配部署分布时进行响应的能力。
联邦学习在由于隐私、法规或带宽原因导致数据无法集中时实现分布式适应。此时,适应过程需要将计算迁移到数据所在的位置,使得通信预算而非计算成为束缚性约束:每一轮都会在众多参与者之间传输模型参数,因此设计问题变为:部署能够承担多少轮次以及每轮传输多少数据。联邦机制属于第 11 章;与鲁棒性相关的要点是,为保护参与者而添加的任何隐私噪声(例如通过差分隐私)都会带来必须为特定应用进行测量的效用成本,而不能简单地被忽略。
定量漂移检测
定量漂移检测必须回答一个运营问题:模型是否应继续服务、被更密切地监控,或被重新训练。PSI 提供了廉价的全 fleet 警报,启动了该决策过程,而下面的数学基础和运营阈值将漂移检测从主观判断转变为一门工程学科。
人口稳定指数(PSI)
第 12.6.4.3 节 引入了人口稳定指数作为廉价的全 fleet 警报信号,并说明了其信用评分起源和标准阈值带。本节详细阐述了该信号背后的完整统计机制:PSI 是如何计算的,哪些分箱和平滑选择决定了其敏感性,以及它如何与 KL 分离和显著性检验结合以形成重新训练决策。PSI 通过在离散化的箱上计算对数比率差值的对称形式来衡量期望(基线)分布 p[base] 与实际(当前)分布 p[curr] 之间的偏离。
对于被离散为 k 个箱的特征,PSI 定义为:
PSI = ∑(p_i - q_i) × ln(p_i / q_i)
其中 p[i] 表示基线分布中第 i 个箱的观察值比例,q[i] 表示当前分布中对应箱的观察值比例。对数项惩罚大的相对变化,而(p[i] − q[i])项则按绝对大小进行加权。已建立的阈值带将这些 PSI 值转化为可操作的决策。
表 14.1 汇总了常见的 PSI 范围及其对应的监控建议。这些阈值带是监控惯例,尤其常见于信用评分实践中,而非普遍的统计保证;PSI 应与特征重要性和下游模型性能指标结合解读(Yurdakul and Naranjo 2020)。
| PSI 值 | 解释 | 推荐操作 |
|--------|------|----------|
| PSI < 0.1 | 可忽略的偏移 | 继续监控 |
| 0.1 ≤ PSI < 0.2 | 轻微偏移 | 调查根本原因 |
| 0.2 ≤ PSI < 0.25 | 中等偏移 | 考虑重新训练 |
| PSI ≥ 0.25 | 重大偏移 | 需要重新训练 |
表 14.1:PSI 解释阈值:常见的人口稳定指数范围及每层级的推荐监控操作。
若干实现选择决定了 PSI 是否足够敏感以发挥作用。分箱选择显著影响 PSI 的敏感度。对于类别特征,每个类别自然形成一个箱。对于连续特征,等宽箱(通常 10–20 个)或基于分位数的箱提供不同的权衡:等宽箱保持特征空间的绝对尺度,而分位数箱确保每个箱中有足够的样本量,但可能掩盖尾部的偏移。生产系统通常使用十个箱,并要求每个箱中至少有 5% 的观察值,以确保统计稳定性。
当某个箱在任一分布中观察值为零时,添加一个小的平滑常数(通常 ϵ[smooth] = 10^(−8))可以防止对数未定义,同时对 PSI 值的影响可以忽略不计。下标用于将此数值保护机制与本章后面引入的对抗扰动半径 ϵ 区分开来。正如图 14.11 所示,随时间监控 PSI 可以揭示模型何时从稳定状态(绿色区域)漂移至警告状态(橙色区域)和临界状态(红色区域),从而触发可能最终导致重新训练的升级路径,前提是与性能相关联。

图 14.11:分布偏移检测器:一年来人口稳定指数(PSI)的监控情况。模型在第 24 周之前保持稳定,在第 25 周由于用户行为变化进入橙色警告区,在第 32 周突破红色临界阈值。在第 41 周通过自动重新训练恢复模型稳定性。
Kullback-Leibler 发散
对于连续特征,若分箱可能导致信息丢失,Kullback-Leibler(KL)发散提供了一种更直接的分布差异度量。从基线分布 p[base] 到当前分布 p[curr] 的 KL 发散定义为:
D_KL(p_base || p_curr) = ∫_{-∞}^{∞} p_base(x) ln(p_base(x) / p_curr(x)) dx
其中 pbase 和 pcurr 分别为基线分布和当前分布的概率密度函数。与 PSI 不同,KL 发散是非对称的:D_KL(p[base] || p[curr]) ≠ D_KL(p[curr] || p[base])。在漂移检测中,我们通常计算 D_KL(baseline || current),以衡量使用当前分布来逼近基线分布时丢失的信息量。
为应对这种非对称性,从业者通常使用 Jensen-Shannon 发散:
D_JS(p_base || p_curr) = ½ D_KL(p_base || p_mix) + ½ D_KL(p_curr || p_mix)
其中 \(p_{\text{mix}} = \frac{1}{2}(p_{\text{base}} + p_{\text{curr}})\) 是混合分布。Jensen-Shannon 散度的取值范围在 0 到 \(\ln(2)\)(约 0.693)之间,这使得阈值选择比无界的 KL 散度更直观。
针对生产环境中的漂移监控,表 14.2 给出了用于解读 KL 散度值的实用阈值。
| 𝒟[KL] 值 || 解读 |
| --- | --- |
| 𝒟[KL] < 0.05 || 微小散度 |
| 0.05 ≤ 𝒟[KL] < 0.1 || 中等散度 |
| 𝒟[KL] ≥ 0.1 || 显著散度 |
表 14.2:KL 散度阈值参考:在漂移监控期间用于解读 KL 散度值的实用阈值。低于 0.05 的值表示微小散度;0.05 到 0.1 表示需要调查的中等散度;大于或等于 0.1 的值表示显著散度,通常会触发重新训练工作流。
对于实际计算,带有高斯核的核密度估计(KDE)提供了适合积分的平滑密度近似,尽管计算成本随 n 个样本按 \(\mathcal{O}(n²)\) 缩放,这使得大型数据集需要进行采样。
统计显著性检验
PSI 和 KL 数值量化了分布变化表观上的大小;统计假设检验则回答了一个互补问题:观察到的差异是否大于采样噪声。双样本 Kolmogorov-Smirnov(KS)检验(Berger and Zhou 2014)在不假设任何特定参数形式的情况下,比较两个样本的经验累积分布函数(CDF)。检验统计量为:
\(D_{n,m} = \sup_x |F_n(x) - G_m(x)|\)
其中 \(F_n\) 和 \(G_m\) 分别是大小为 \(n\) 和 \(m\) 的样本的经验 CDF。当以下条件满足时,拒绝原假设(无分布差异):
其中 \(c(\alpha)\) 取决于显著性水平(例如,\(c(0.05) \approx 1.36\))。KS 检验对于检测位置(均值)和分散度(方差)的偏移特别有效,但对分布形状的变化不那么敏感。
对于分类特征,卡方拟合优度检验将观测频数与基线分布下的期望频数进行比较:
其中 \(n_i^{\text{obs}}\) 是类别 \(i\) 中的观测计数,\(n_i^{\text{exp}}\) 是基于基线分布的期望计数。具有 \(k - 1\) 个自由度时,当 \(\chi²\) 超过显著性水平 \(\alpha\) 的临界值时,拒绝原假设。
当同时监控许多特征时,显著性检验还必须考虑重复比较的问题。应用 Bonferroni 校正(将 \(\alpha\) 除以检验次数)或控制假发现率(FDR)可防止过多的误报。对于显著性水平 \(\alpha = 0.05\) 的 \(m\) 个特征,Bonferroni 校正要求每个检验达到 \(p < 0.05/m\) 才显著。
实战示例:生产环境欺诈检测模型
假设一个服务于电商平台的欺诈检测模型,有两个关键输入特征:用户国家(分类)和交易金额(连续)。上线六个月后,运营团队怀疑存在分布漂移,必须决定是否重新训练。
步骤 1:分类特征分析
表 14.3 对比了四个命名国家加“其他”分桶的基线(训练)分布与当前(生产)分布。
| 国家 || 基线 (p[i]) || 当前 (q[i]) || p[i] − q[i]** || ln (p[i]/q[i]) || 贡献 |
| --- | --- | --- | --- | --- | --- | --- |
| 美国 || 0.45 || 0.38 || 0.07 || 0.169 || 0.0118 |
| 英国 || 0.20 || 0.18 || 0.02 || 0.105 || 0.0021 |
| 德国 || 0.15 || 0.14 || 0.01 || 0.069 || 0.0007 |
| 法国 || 0.10 || 0.12 || -0.02 || -0.182 || 0.0036 |
| 其他 || 0.10 || 0.18 || -0.08 || -0.588 || 0.0470 |
表 14.3:国家特征 PSI 分解:生产环境欺诈检测模型中用户国家特征各国别对总 PSI 的贡献。“其他”分桶驱动了大部分散度(总计 0.065 中的 0.0470),反映了生产环境运行六个月中非美国/英国/德国/法国流量的增长。
将各国家的贡献相加得到 PSI[country] = 0.0118 + 0.0021 + 0.0007 + 0.0036 + 0.0470 = 0.065。
0.065 的 PSI 表明用户国家分布的漂移可忽略不计,远低于 0.1 的阈值。该特征无需采取行动。
步骤 2:连续特征分析
对于交易金额特征(为正态性进行了对数变换),使用核密度估计计算 KL 散度:
-
基线分布:\(\mu = 4.2, \sigma = 1.1\)(对数美元)
-
当前分布:\(\mu = 4.5, \sigma = 1.3\)(对数美元)
对于近似高斯分布,KL 散度有闭式解:
闭式解计算结果为 \(\mathcal{D}_{\text{KL}} = \ln\frac{1.3}{1.1} + \frac{1.30}{3.38} - 0.5 = 0.167 + 0.385 - 0.5 = 0.052\)。0.052 的 KL 散度表明存在中等程度漂移,值得进一步调查,但不需要立即重新训练。
步骤 3:通过 KS 检验进行统计显著性检验
对交易金额的 10,000 个基线样本和 10,000 个当前样本使用 KS 检验:
\(D_{10000, 10000} = 0.089\)
\(\alpha = 0.05\) 时的临界值:\(c(0.05) \sqrt{\frac{20000}{10⁸}} \approx 0.019\)
由于观测统计量 0.089 超过临界值 0.019,差异具有统计显著性(\(p < 0.001\))。然而,统计显著性本身并不强制要求重新训练;实际显著性(PSI、KL 值)建议进行监控而非立即采取行动。
步骤 4:决策框架应用
表 14.4 综合了定量证据。
| 指标 || 数值 || 阈值 || 行动级别 |
| --- | --- | --- | --- |
| PSI (国家) || 0.065 || < 0.1 || 监控 |
| 𝒟[KL] (金额) || 0.052 || < 0.1 || 监控 |
| KS 检验 || \(p < 0.001\) || \(\alpha = 0.05\) || 显著 |
表 14.4:重新训练决策矩阵:将综合定量证据(PSI、KL 散度、KS 检验)与阈值比较及对应的行动级别。低于实际阈值但具有统计显著性的漂移信号,要求提高监控频率而非立即重新训练。
决策:继续监控并提高频率(从每月改为每周)。如果在下一个监控周期中 PSI 或 KL 散度超过 0.1,或者模型性能指标(精确率、召回率)下降超过 5%,则启动重新训练。该示例止步于监控决策;通用框架将同一逻辑转化为可重复的重新训练门控机制。
重新训练决策框架
系统化的决策框架将漂移指标与性能监控相结合,以确定最佳重新训练时机。以下三个层级刻意将检测、关联和行动分离,以免指标警报变成自动重新训练指令。
层级 1:自动化监控
为三个漂移阈值配置自动化警报:
-
任何高重要性特征的 PSI > 0.1
-
连续特征的 𝒟[KL] > 0.05
-
经过 Bonferroni 校正的 KS 检验 p-值 < 0.01
层级 2:性能关联
当漂移警报触发时,三个性能相关性决定响应:
-
如果性能下降超过 3%且同时发生漂移:启动重新训练
-
如果检测到漂移但性能稳定:继续监控,调查漂移源
-
如果性能下降但未检测到漂移:调查概念漂移或标签偏移
漂移在索引跨越阈值之前保持无害;过了膝部,可靠性快速下降。
3 级:重新训练 vs. 调查
并非所有漂移都需要重新训练。表 14.5 将即时补救与调查和持续监控分开。
| 操作 || 触发条件 || 响应逻辑 |
| --- | --- | --- | --- |
| 立即重新训练 || • 关键特征上PSI > 0.25且性能下降超过 5% \n• 概念漂移得到确认(p(y|x)发生变化) \n• 法规或合规要求强制使用新模型 || 学习到的映射、合规基准或生产人群不再足够有效,仅靠监控无法胜任 |
| --- | --- | --- | --- |
| 先调查 || • 0.1 ≤ PSI ≤ 0.25且性能稳定 \n• 漂移局限于非预测特征 \n• 漂移可能是暂时的,例如季节性影响或一次性事件 || 信号是真实的,但补救措施可能比当前性能下降更昂贵或风险更高 |
| --- | --- | --- | --- |
| 继续监控 || • 所有特征上的PSI < 0.1 \n• 性能在可接受范围内 \n• 无外部信号表明环境变化 || 证据尚不足以证明更改模型的必要性,但基准应继续接受观察 |
| --- | --- | --- | --- |
表 14.5:重新训练决策规则:漂移响应取决于统计信号的强度、观察到的性能变化以及关于环境是否真的发生变化的外部证据。
定量框架将漂移检测从被故障排除转化为主动模型维护,使 ML 系统能够在生产环境演变过程中保持可靠性(Gama et al. 2014)。
生成式 AI 的鲁棒性
大型语言模型(LLMs)将失效面从错误分类转移到语义可靠性:一个流畅的答案可能事实上毫无根据,而系统仍然看起来健康。之前的鲁棒性问题是在扰动下标签是否会改变;生成式版本则是在提示变化下,开放式输出是否保持事实性、策略约束和任务意图。在法律或医疗建议等专业领域的评估表明,幻觉率与模型、检索上下文、提示设计和采样温度强烈相关。解决这一问题需要严格的不确定性量化(UQ):一个鲁棒系统必须具备足够的自我意识,以在猜测时发出警报。一种方法是监控输出分布的熵;词汇表上“平坦”的概率分布表示高不确定性,这可能触发回退到人工操作员或拒绝回答。Token 级别的对数概率揭示了模型从自信生成转向 speculative completion(推测性完成)的段落。
更高级的 UQ 技术涉及自洽性,即模型被提示为同一查询生成多个不同的推理路径。如果五次采样运行对一个事实性问题产生五个相互矛盾的答案,则系统将输出视为不稳定并予以抑制。这种统计方法将“真实性”的模糊概念转化为可测量的方差指标,该指标能够自然地与 MLOps 监控流水线集成(第 12 章)。预测熵——在完整输出序列上聚合香农熵——提供了一个可阈值化的标量得分,用于将高风险生成路由至人工审查。
在检索增强生成(RAG)架构中(第 10 章),鲁棒性在很大程度上取决于检索上下文的质量。检索噪声——将无关或冲突的文档注入提示——可能会分散模型的注意力,导致它忽略其内部参数知识并从上下文传播错误。鲁棒的 RAG 部署可以使用重排模型和上下文验证器在到达生成步骤之前过滤掉噪声。
生成模型还面临提示注入的独特威胁:攻击者在输入数据中嵌入指令以覆盖模型的系统提示。虽然通常被讨论为第 13 章中的安全问题,但提示注入同样是鲁棒性失败:一个易于被操纵以忽略其行为约束的模型,在对抗性输入下未能保持其输出不变性。一种常见的部署模式是添加输出防护栏——轻量级分类模型,在将响应返回用户之前,扫描生成文本中的策略违规、毒性或逻辑错误。此最终验证步骤有助于即使核心模型进入失效模式时,整个系统仍保持可靠。
虽然提示注入利用了生成模型的语言灵活性,但它代表了自然环境变化与 deliberate 对抗性操纵之间的桥梁。这种交互是双向的:分布监控系统自身可能被对手利用,通过构造能够逃避漂移检测阈值的输入,将防御工具转化为盲点。当对手停止依赖自然漂移并开始反向工程模型的决策边界以强制特定错误时,我们就从环境鲁棒性领域进入了输入级攻击的数学严格战场。
环境变化分为不同类型,而本章的漂移框架刻意将触发的度量与重新训练命令分离。
区分变化类型
关于阈值和成本的推理
输入级攻击与模型鲁棒性
向一个良性皮肤病变的图像添加一个微观的、经过数学计算的噪声层——如此微小以至于人类皮肤科医生无法察觉——会导致生产诊断模型以 99.9%的置信度将其诊断为恶性。深度神经网络学习到的高维决策边界具有反直觉的盲点,恶意行为者可以 deliberately 利用这些盲点。实际问题是攻击者能够看到或控制什么:梯度、查询、物理传感器或训练数据。对抗性攻击暴露了这些盲点。
对抗性攻击
对抗性攻击是指对模型输入进行 deliberate、精心设计的数学扰动,以导致误分类,同时对人类而言保持不可察觉。
-
意义:它揭示了高维决策边界具有反直觉的脆弱性。导致误分类所需的每特征扰动幅度与输入维度成反比,这意味着在高维输入(例如高分辨率图像)上运行的模型易受攻击,在这种攻击中,没有任何单个特征会发生可察觉的变化。
-
区别:与随机噪声不同(模型可以学会忽略随机噪声),对抗性扰动是梯度导向的:它们被专门优化以最大化模型的预测误差。
3. 常见陷阱:一个常见的误解是对抗性脆弱性是一个需要修补的“错误”。实际上,它是许多通过经验风险最小化训练的标准神经网络的结构性脆弱性;鲁棒防御通常需要对目标函函数进行根本性更改(例如,对抗性训练)。
对抗攻击类别编码了访问和成本。白盒攻击者可以直接使用梯度,黑盒攻击者依赖于传输,而物理攻击者必须在摄像头、照明和距离下生存。图 14.12 演示了共享机制:对输入数据的小而精心设计的扰动可能导致高置信度错误分类,扰动对人眼不可见,但对模型准确性具有毁灭性影响。

图 14.12:对抗性扰动:微妙的、有意设计的噪声可能导致神经网络以高置信度误分类图像,并暴露模型鲁棒性的脆弱性。这些扰动对人类不可感知,以某种方式改变输入以最大化预测错误,并凸显了针对对抗性攻击进行防御的必要性。来源:Sutanto(2019)。
这些攻击的有效性源于人类和机器感知之间的根本不匹配^327。神经网络通过高维特征空间中的非线性决策边界进行学习,而对抗性扰动利用了这些边界的几何特性:许多输入维度为攻击者提供了同时推动的许多方向,因此在任意一个维度上太小以至于看不见的变化仍可能越过边界。
攻击类别和机制
有用的轴不是攻击名称本身,而是攻击者的访问权限。每种机制揭示了防御必须提升的不同成本:梯度访问、优化时间、替代模型构建或对传感器环境的物理控制。
最直接的情况是白盒梯度访问。神经网络计算梯度以了解参数变化如何减少损失;拥有梯度访问权限的攻击者可以将该逻辑应用于输入。对于一个能正确识别猫的图像分类器,输入图像相对于的梯度揭示了哪些像素级变化会最增加预测误差。快速梯度符号方法328 通过将每个输入特征沿增加损失最快的方向移动,将这一思想转化为单步攻击。
底层的数学公式捕捉了这一直观过程:
*x*[adv] = *x* + *ϵ* ⋅ sign(∇[*x*]ℒ(*θ*, *x*, *y*))
其中:
-
x 是原始输入
-
x[adv] 是对抗性示例
-
ℒ(θ, x, y) 是预测损失
-
∇[x]ℒ 识别使该损失增加最多的输入变化
-
sign(⋅) 仅保持最陡上升的方向
-
ϵ 控制攻击者允许添加的扰动幅度
图 14.13 可视化了这种方法如何通过在增加损失最快的方向上迈出单一步骤来生成对抗性示例,以最小的扰动将输入移动跨越决策边界。
图 14.13:对抗性扰动:基于梯度的攻击生成幅度由ϵ控制的微妙、有意设计的输入噪声,以最大化损失函数ℒ(θ, x, y),并导致模型误分类。这些扰动对人类不可感知,通过将输入x移动跨越决策边界来利用模型脆弱性。来源:改编自 defence.AI 的基于梯度的攻击教程。
FGSM 之所以便宜,是因为它只需一步。投影梯度下降(PGD)攻击(Madry et al. 2018) 使用雅可比矩阵识别最具影响力的输入特征,并将较小的一组维度向目标类进行扰动。这些方法在白盒设置中最有效 329,此时攻击者知道模型架构和梯度。
当攻击者更关心隐蔽性而非速度时,攻击将成为一个优化问题。Carlini 和 Wagner(C&W)攻击 330 (Carlini and Wagner 2017) 寻找导致误分类的最小扰动,同时保持与原始输入的感知相似性。C&W 攻击不只是遵循梯度的符号,而是优化一个自定义目标,在扰动大小与错误答案的置信度之间进行权衡。
C&W 攻击难以检测,因为扰动通常对人类不可感知,并且可以在不同的范数约束下进行优化,如ℓ[2]或ℓ[∞]。弹性网攻击针对 DNN(EAD) 添加了弹性网正则化,结合ℓ[1]和ℓ[2]惩罚,以生成稀疏、局部化的扰动。这些基于优化的方法比梯度符号攻击计算量更大,但它们为攻击者提供了对对抗性示例几何形状的更精细控制。
黑盒攻击者失去直接梯度访问,但他们仍可以利用可转移性 331。可转移性 是指针对一个模型设计的对抗性示例也能欺骗其他模型的现象,即使架构或训练数据集不同。攻击者可以训练或获得一个替代模型,离线构建攻击,然后将生成的示例提交给目标 API,而无需见到其权重或梯度。
转移成功取决于模型相似性、训练数据重叠和正则化。攻击者可以通过使用输入多样性(如随机调整大小或裁剪)以及优化过程中的动量来提高转移率。这种威胁模型对商业 API 尤为相关,因为攻击者可以观察输入和输出,但无法看到内部计算。
一个替代模型制作的对抗性示例可以在许多模型之间传递。
物理世界攻击者面临最严苛的约束:扰动必须能够穿过传感器、距离、照明、观察角度和日常部署变化。对抗性补丁是放置在物体上的印刷图案,使得摄像头和探测器误读场景。修改后的道路标志、服装补丁和 3D 打印物体将攻击从数字输入张量移动到物理环境。这使得鲁棒性问题变为操作层面的问题,而不仅仅是数学问题:在保存的图像上有效的防御可能在攻击通过摄像头镜头、压缩、运动模糊和不断变化的照明后失效。这些威胁最相关于在物理空间中部署的 AI 系统,如自动驾驶汽车、无人机和监控系统,其中模型错误会成为世界上的安全、安全和问责问题。
背景:第 13 章中作为安全威胁进行分析的交通标志攻击,从鲁棒性角度来看,是一个物理对抗性示例:黑白贴纸欺骗了一个物体检测器,使其将停车标志读取为限速标志,且误分类能够在距离(最多 30 英尺)、观察角度和照明变化下存续 (Eykholt et al. 2018)。
系统教训:该案例引发的鲁棒性要求是机制层面的,而非分类层面的。人类显而易见但对模型特征提取器却是灾难性的、物理上可实现的变化,可以操纵高置信度预测,因此鲁棒性必须针对已部署的传感器闭环进行评估,而不仅仅是针对数字测试图像。
表 14.6 的要点在于防御选择,而非词汇表。一个在白盒 PGD 测试中失败的模型,无法提出可信的最坏情况鲁棒性声明;面向 API 的模型必须为代理模型迁移攻击和探测攻击预留预算;安全关键型视觉系统必须测试完整的传感器闭环,而不仅仅是保存的图像。因此,表格行标识了攻击者用于跨越决策边界的手段:梯度、优化、代理迁移或物理传感器操纵。
| 类别 || 方法 || 机制 |
| --- | --- | --- | --- |
| 梯度 || FGSM || 沿损失梯度方向扰动输入 |
| || PGD || 迭代多步 FGSM 细化 |
| || JSMA || 以最具影响力的特征为目标 |
| 优化 || C&W || 在误分类约束下最小化扰动大小 |
| || DeepFool || 寻找跨越决策边界的最小扰动 |
| || EAD || 用于稀疏扰动的弹性网正则化 |
| 迁移 || 迁移性 || 对抗样本跨模型迁移(黑盒) |
| 物理 || 贴纸 || 打印贴纸在现实世界中欺骗检测器 |
| || 3D 物体 || 雕塑物体在部署中欺骗传感器 |
[在部署环境中 |
[表 14.6]:对抗攻击类别:攻击机制决定防御选择:梯度和优化攻击要求针对显式决策边界跨越的鲁棒性,迁移攻击测试黑盒暴露面,物理攻击要求通过已部署的传感器闭环进行评估。
防御不能一概而论地选择。对抗训练提高了基于梯度攻击的成本,输入变换在推理前破坏部分小扰动,集成模型降低迁移攻击的可靠性,物理评估暴露数字测试遗漏的失效。这个防御预算之所以重要,是因为对抗攻击远不止 图 14.14 所展示的基本误分类,即难以察觉的扰动导致 GoogLeNet 在图像其余部分保持不变的情况下将熊猫重新标记为长臂猿。这种单图像失效只是入口点;同一原理可扩展为物理、可迁移和系统性攻击,在部署领域制造风险。
[图 14.14]:对抗扰动:向图像添加微妙、精心设计的噪声,可导致训练好的深度神经网络(GoogLeNet)误分类,尽管扰动后的图像对人类在视觉上仍不可区分。这种脆弱性凸显了许多机器学习模型缺乏鲁棒性,并激励了对抗训练和防御机制的研究。来源:(Goodfellow 等人 2014)。
针对停车标志的物理贴纸攻击(经典案例见 第 13 章 案例研究)使停车标志被误分类为限速标志的比例超过 85%,该扰动人类可读,却对分类器起决定性作用。对自动驾驶汽车的启示是直接的:真实道路上部署的贴纸可能导致自动驾驶汽车将停车标志误读为限速标志,从而导致未完全停车或意外加速冲入路口 (图 14.15)。
[图 14.15]:对抗扰动(显著变体):物理上可实现的修改可导致机器学习模型做出错误预测。图中展示的是高可见度变体(公开破坏而非难以察觉的扰动),以使扰动在印刷品中清晰可辨;文献中更令人担忧的攻击类别使用小型、不起眼的贴纸,它们看起来像正常磨损,却触发相同的误分类 —— 参见 (Eykholt 等人 2017)。
除了性能下降,对抗漏洞还会产生级联系统性风险。在医疗领域,针对医学影像的攻击可能导致误诊 (Tsai 等人 2023)。当情感、欺诈或交易模型依赖脆弱的输入模式时,金融系统面临类似的操纵风险。对抗漏洞通过暴露模型依赖的特征仅在训练分布上具有预测性,但在精心设计的扰动下不稳定,从而削弱了模型的可信度 (Goodfellow 等人 2014; Madry 等人 2018)。反过来,针对它们的每一种防御都有自己的代价:对抗训练增加了训练成本 (Bai 等人 2021),而诸如特征挤压 (Xu 等人 2018) 等运行时检测增加了推理时的评估开销,因此防御本身成为一个需要预算的项目,而非免费的保障。因此,对抗漏洞凸显了对 第 14.6 节 中探讨的防御策略的迫切需求。
数据投毒
迄今为止的攻击是在推理时扰动固定模型。投毒则通过回溯到模型学习的数据中来破坏模型本身,微软的 Tay 聊天机器人是典型例证。Tay 是一个在线学习闭环,对抗性用户塑造了系统的未来行为,而非施加范数有界的图像扰动。发布 24 小时内,协同用户操纵其学习机制生成不当和冒犯性内容。该系统缺乏内容过滤、用户输入验证和行为监控,其中任何一项本可检测并防止该漏洞利用。从用户交互中学习的系统,需要输入验证、内容过滤和持续行为监控作为基线防护。
[media/file325.svg]:投毒生命周期:注入、学习、触发。
数据投毒 是通过注入恶意样本或修改现有标签来破坏训练数据,从而在推理时损害模型行为。
-
重要性:它动摇了数据完整性的基础假设。即使极小比例的投毒样本(例如 <1%)也能制造后门或系统性偏差,这些在服务期间由特定输入触发前一直保持潜伏。
-
区别:与对抗攻击(发生在推理时)不同,数据投毒发生在数据收集或训练期间,从源头上污染了模型学到的映射关系。
-
常见误区:一个常见误解是投毒可以通过“更多数据”来“修复”。现实中,投毒往往利用训练的聚合特性:增加更多干净数据可能无法“冲刷”掉利用唯一触发器的精心设计的后门。
数据投毒直接针对训练数据本身,在部署开始前就污染了模型学到的映射关系。其与对抗攻击的区别根本在于:对抗扰动在推理时欺骗已训练模型,而投毒从一开始就教会模型错误的模式。随着机器学习系统越来越多地从自动化流水线、网页抓取和众包标注中获取数据,投毒既是流水线完整性问题,也是模型鲁棒性问题:系统必须在学习器内化腐败数据之前检测出腐败。
ML 安全中的经典早期表述是 Biggio 等人对支持向量机的攻击³³²(Biggio et al. 2012)。投毒攻击会修改现有训练样本,引入恶意样本,或干扰数据收集管道(图 14.16)。其后果在医疗等高风险领域尤为严重,因为即使训练数据出现微小扰动,也可能导致危险的误诊断(Marulli et al. 2022)。

图 14.16:数据投毒示例:不匹配的图像-文本对代表一种常见的数据投毒攻击,即被操纵的训练数据导致模型对输入进行错误分类。这些对抗性样本可能损害模型完整性,并在现实世界应用中引入漏洞。
数据投毒通常分为三个阶段进行。在注入阶段,攻击者将投毒样本引入训练数据集——这些样本是现有数据的修改版本,或是专门设计用于与干净样本混合的全新实例。攻击者可能针对特定类别,插入恶意触发器,或构造旨在扭曲决策边界的离群点。在训练阶段,模型会纳入这些样本并学习虚假或误导性的模式;由于投毒数据在统计上往往与干净数据相似,因此在标准评估过程中这种损坏往往不易被察觉。最后,在部署阶段,攻击者利用被破坏的模型——触发后门错误分类,降低整体准确率,或以难以追溯至训练数据的方式操纵预测。
投毒类别根据对手希望训练好的模型执行的行为而有所不同(Oprea et al. 2022)。在可用性攻击中,训练数据的相当一部分被投毒,目的是降低模型的整体性能。一个经典例子是翻转标签,例如在二分类任务中,系统地将真实标签为 y = 1 的实例改为 y = 0。这些攻击使模型在广泛的输入范围内变得不可靠,实际上使其无法使用。
相比之下,有针对性的投毒攻击旨在仅破坏特定类别或实例。在此情况下,攻击者只需修改足够的数据,以导致少量输入被错误分类,而总体准确率保持相对稳定。有针对性攻击的隐蔽性使其尤为难以检测。
后门投毒³³³ 将隐藏的触发器引入训练数据——模型学会将这些微妙的模式或特征与特定输出关联。当触发器在推理时出现,模型将被操纵以产生预设响应。即使触发器模式对人类观察者不可感知,这些攻击也常常有效。
子群体投毒会破坏数据总体中的特定子集。虽然其意图与有针对性的攻击相似,但子群体投毒采用可用性风格的退化方式作用于局部群体,例如特定的人口群体或特征簇,而其余模型性能保持不完。这些攻击的局部性使其在公平敏感应用中既 altamente 有效又尤为危险。
原型 B(规模化的 DLRM),即 DLRM 工作负载,尤其暴露于 虚假资料注入。因为推荐系统通常利用在线学习来实时适应用户趋势,攻击者可以创建一个由“女巫”账户组成的网络——即由同一攻击者控制的虚假身份——这些账户会与特定项目互动,以人为提升其受欢迎程度或将其与高价值人口群体关联。这种投毒能够绕过传统防火墙,因为恶意交互看起来像合法的用户行为,需要基于谱特征的防御机制——这些机制会搜索激活模式以发现可疑的低秩簇,或采用其他激活空间方法来检测。
所有四类攻击的共同点在于其微妙性:被操纵的样本通常与干净数据无法区分,因此难以通过标准验证手段识别。攻击可能来源于拥有特权管道访问权的内部人员,也可能来自利用数据收集薄弱环节的外部对手,特别是在缺乏完整性检查和血统追踪的众包环境或开放数据管道中。
数据投毒攻击方法
上述四类攻击描述了攻击者的 目标;攻击 机制 则取决于攻击者对系统的访问权以及对数据管道的了解。它们共享一个共同的形态:一条毒污记录会随干净数据一起进入训练管道,并腐蚀该管道所产生的模型(图 14.17)。最直接的机制是标签修改,即攻击者选择一部分训练样本并修改其标签,将 y = 1 翻转为 y = 0,或在多分类场景中重新分配类别。即使是小规模的标签损坏,也可能显著偏移决策边界。
图 14.17:数据投毒影响:单条毒污记录注入训练集后,会腐蚀管道所产生的模型,这与正常学习管道(干净数据、数据集、学习算法、模型)形成对比,而在投毒攻击中,一条恶意记录会贯穿至训练好的模型。即使攻击者仅对训练数据拥有有限控制权,也可能破坏模型学习过程,凸显数据驱动方法对恶意操纵的脆弱性。
在标签修改之后,攻击者可以保持标签不变,而是损坏特征。不可感知的图像扰动、结构化字段中的细微偏移以及固定触发模式,都旨在实现同一结果:训练样本仍表面合法,但它会使学习到的决策边界朝向未来的失败方向弯曲。生成方法和数据合成工具同样会在更大规模下带来这种风险,因为它们能够生成外观自然的样本——这些样本唯一目的就是扭曲模型所学习的内容。
这些样本是否会变成投毒取决于数据边界。网页爬取、社交媒体信息流、众包标注以及不可信的用户提交,都允许毒污记录以“可信”形式进入上游并通过薄弱的清洁检查。物理系统则提供第二条路径:路标上的贴纸在汽车识别时构成推理时的对抗性攻击,但若车队学习管道 later harvests 该图像并将其并入语料库,则其成为训练时的投毒。在线学习系统进一步收紧了反馈循环,使攻击者能够逐步引入少量恶意数据,直至模型行为漂移,而未出现单一明显异常。协作环境则再次扩大了边界:当多个客户端各自贡献模型更新至中央聚合器时,单个恶意参与者就能毒害聚合产生的共享全局模型(图 14.18)。
图 14.18:通过聚合的协作投毒:在协作学习环境中,多个客户端各自在本地数据上进行训练,并将模型更新贡献给中央服务器,服务器将这些更新聚合为一个共享的全局模型。单个恶意参与者可以注入毒污更新,服务器将这些更新纳入聚合模型,因此腐败会蔓延到所有客户端,而没有任何一个明显的异常。此攻击面与对抗性样本不同,因为它针对的是模型在 训练 期间而非 推理 时的脆弱性。
内部协作增加了一层最终的复杂性。具有合法访问权限的恶意行为者,如注释员、研究人员或数据供应商,能够构建比外部攻击更具针对性和隐蔽性的中毒策略,因为他们了解模型架构或训练过程。无论结果是准确率下降、隐藏后门,还是对特定人群子群体的偏见放大,数据中毒最终都会破坏系统本身的可信度:即使在基准测试中表现良好,用受污染数据训练的模型也不能被视为可靠的。
案例研究:通过中毒保护艺术作品
数据中毒并不总是恶意的。研究人员已开始将其探索为一种防御工具,特别是用于保护创作作品免受生成式 AI 模型未经授权的使用。
Nightshade 由芝加哥大学的研究人员开发,可帮助艺术家防止其作品被未经同意抓取并用于训练图像生成模型(Shan et al. 2023)。Nightshade 允许艺术家在在线发布前对其图像施加细微扰动。这些变化对人类观众不可见,但会导致将其纳入训练的生成模型出现严重退化。
当 Stable Diffusion 仅在 300 张带毒图像上进行训练时,模型开始产生奇怪的输出,例如当提示为“car”时输出牛,或在提示为“dog”时输出类似猫的生物(图 14.19)。该实验演示了概念中毒:带毒样本可以扭曲模型的语义关联。

图 14.19:概念中毒剂量-响应:Stable Diffusion XL 在四种不同毒剂量(无毒、50、100、300 样本)和八个源提示(狗、汽车、手袋、帽子、幻想艺术、立体主义、卡通、概念艺术)下的输出。随着毒剂量的增加,输出从预期的源概念逐渐转向攻击者的目标概念,展示了 Nightshade 风格的概念中毒对预训练模型的影响。
Nightshade 特别强大的原因在于毒化概念的级联效应。由于生成模型依赖于类别之间的语义关系,被毒化的“汽车”可能会渗透到诸如“卡车”、“公交车”或“火车”等相关概念,从而导致广泛的幻觉。用于保护艺术内容的相同技术也可能被重新用于破坏合法的训练管道,凸显了机器学习安全核心的双用途困境³³⁴。
在从中毒机制转向防御之前,需要进行一次快速的分类检查,以区分有针对性的中毒和更广泛的可用性攻击。
场景:攻击者修改了训练数据中一个小子集的标签,使得某个已部署的分类器始终将某个特定受保护类或对象模式映射到错误的输出。
诊断:这是一次有针对性的攻击。攻击者并不试图降低模型的整体性能;他们是在诱导特定错误,同时保持足够的一般准确度,以至于聚合验证指标可能仍然看起来健康。
系统教训:防御有针对性的中毒需要切片级评估、来源检查以及针对高风险类别的金丝雀示例。仅凭聚合准确度是一种弱检测手段,因为该攻击被设计为隐藏在否则正常的性能之中。
这些输入级攻击的机制,从对抗性扰动和数据中毒到它们与自然分布偏移的交互(第 14.4 节
对抗鲁棒性大约需要牺牲 26 个百分点的干净准确度。
因此,获得对罕见对抗性攻击的鲁棒性将导致在正常输入上牺牲 26 个百分点的干净准确度。模型必须学会忽略“有非鲁棒性的特征”(如高频纹理),这些特征虽然具有预测性但很脆弱。
系统洞察:鲁棒性不可能简单地“免费开启”。它是在平均情况性能和最坏情况可靠性之间的根本权衡。
鲁棒性计算惩罚(原则)量化了这一代价:PGD 风格的对抗鲁棒性可能需要每个 epoch 比标准优化多几倍的计算量,因为每个批次都要运行内部攻击步骤。对于许多应用,依赖外部防护措施(输入过滤、输出验证)比在模型权重中训练固有鲁棒性更高效。
每种防御都会在准确性、计算量或两者方面带来工程税。因此,选择防御首先需要从威胁模型和可用于承担该成本的预算出发。
场景:三个生产系统面临不同的鲁棒性威胁和计算预算。
设置:
-
生产图像分类器(规避):尽管存在推理延迟成本,仍应使用对抗训练或随机平滑。
-
推荐系统(中毒):使用鲁棒矩阵分解或在训练数据分布中裁剪异常值。
-
欺诈检测(分布偏移):使用基于 KS 检验统计量的持续监控和自动重新训练触发器,而不是静态鲁棒化。
系统教训:防御选择遵循威胁模型。一种适用于规避的鲁棒性技术,如果真实风险是中毒或漂移,可能会浪费计算或完全忽略失败模式。
认证防御
对抗训练是经验性的;它能抵御训练过程中遇到的特定攻击,但通常对新型或更强的扰动失效。认证鲁棒性提供了数学保证:对于给定的输入 x 和半径 ϵ,不存在任何扰动 ‖δ‖[p] < ϵ 能改变模型的预测。将此思想扩展到如 ImageNet 这样的高维输入的广泛使用技术是随机平滑。我们不直接对 x 进行分类,而是对平滑后的函数 g(x) 进行分类,该函数定义为在高斯噪声下基础分类器 f 的预测期望:g(x) = argmax[c]Pr(f(x + δ) = c),其中 δ ∼ 𝒩(0, σ²I)。
Cohen 等人(2019 利用 top-Class 概率 p[A] 的下界和亚军概率 p[B] 的上界,证明了认证半径 R 的紧致多类别界:R = σ/2 (Φ⁻¹(p_A) - Φ⁻¹(p_B)),其中 Φ⁻¹ 是标准正态分布的逆累积分布函数。在二元特殊情况下,其中 p[B] = 1 − p[A],这简化为 R = σΦ⁻¹(p[A])。该界将鲁棒性转化为统计估计问题。如果在噪声 σ = 0.5 下的二元决策的 top-Class 概率为 p[A] = 0.999,则简化后的半径大约为 1.5,但多类别 ImageNet 认证还必须考虑亚军类别。然而,这一保证在准确性和计算开销方面都付出了高昂的代价。在 ImageNet 上,Cohen 等人报告了随机平滑的非平凡认证准确率,包括在半径 0.5 处的认证,但认证需要在每次推理过程中采样许多噪声向量以估计类别概率并达到足够的置信度。推理延迟的显著增加使得认证防御仅限于异步审计或高风险安全联锁,而非实时服务路径。
认证防御仅覆盖对抗工作流的一部分。生产系统仍然需要检测路径来处理可疑输入,需要缓解策略来改变训练或服务行为,还需要评估程序来验证哪些威胁模型仍然被覆盖。
检测技术
在对抗样本到达模型之前进行检测,只有当信号到达服务决策点时,才能形成第一道防线:拒绝、转换、路由或审计。最便宜的信号是询问当前输入人群是否仍然类似于参考人群。诸如 Kolmogorov-Smirnov 检验³³⁵ (Berger and Zhou 2014) 或 Anderson-Darling 检验之类的统计检验测量分布差异,并能够标记出偏离已知良性基线的输入。
针对那些保持边际分布不变的攻击,这种信号较弱,因此生产防御通常会添加一个扰动破坏检查。特征压缩³³⁶ (Xu et al. 2018) 通过降维或离散化降低输入空间的复杂性,然后比较变换前后模型的预测。预测的较大变化表明原始输入依赖于脆弱的高频细节。
最昂贵的信号是询问模型对其自身答案的确定程度。对抗样本通常位于决策边界的不稳定区域附近,因此不确定性可以将输入路由用于拒绝、人工审查或更鲁棒的模型。贝叶斯神经网络通过将权重视为分布来估计不确定性,而集成方法则比较独立训练模型的预测,并利用分歧作为警告信号 (Lakshminarayanan et al. 2017)。两者都能提高检测质量,但会增加推理计算开销,因此更适合用于批量评分或安全联锁,而非每个低延迟请求。
Dropout³³⁷,最初被设计为一种正则化技术,用于在训练过程中防止过拟合 (Hinton et al. 2012),在每次训练迭代中随机失活一部分神经元,迫使网络避免对特定神经元的过度依赖,从而提高泛化能力。同样的机制可以在推理时通过 Monte Carlo dropout³³⁸ 用于不确定性估计,此时不同的 dropout 掩码下的多次前向传递近似不确定性分布。所得到的估计不如贝叶斯方法精确,因为 dropout 是为正则化而设计的,而不是用于不确定性量化的。结合 dropout 与轻量级集成方法或贝叶斯近似的混合方法,在计算效率与估计质量之间取得平衡,使基于不确定性的检测在生产部署中更具实用性。
防御策略
一旦检测层标记出对抗输入,防御策略将减轻其影响并提高模型鲁棒性。最常见的策略是对抗训练:通过用对抗样本增强训练数据,使模型学会正确分类受扰动的输入。Listing 14.1 使用 FGSM 实时生成扰动,并在每个训练批次中混合干净数据与对抗样本来实现这一模式。该方法提高了鲁棒性,但会带来显著的计算开销,生产系统必须仔细管理。
训练时间可能增加 3–10 倍,因为在每个训练步骤中生成对抗样本需要对模型进行额外的前向和反向传递 (Madry et al. 2018; Bai et al. 2021)。内存开销取决于实现是否存储干净样本和对抗样本一起,是否重新计算扰动,或是否重用梯度信息。像 PGD 这样的迭代攻击需要多个优化步骤,需要专门的基础设施来高效生成;优化的变体通过重用计算而不是将每个攻击步骤视为独立的完整训练传递来减少开销 (Shafahi et al. 2019)。
干净准确率的代价取决于威胁模型和防御方式。对于强度为 ImageNet 规模的对抗训练,在 ϵ = 8/255 时,干净准确率可能下降约 26 个百分点,正如上面鲁棒性税的例子所示。较轻的防御、较小的扰动预算或随机平滑可能会造成较小的代价,通常在个位数到中等十几位数之间,但这种权衡仍是鲁棒优化目标的基本特征。模型大小通常会随着增强鲁棒性的架构修改而增加,例如更宽的网络或额外的归一化层,这些有助于提高梯度稳定性。
在平衡鲁棒性和性能目标时,超参数调优变得显著更复杂。验证程序必须使用多种攻击方法评估干净性和对抗性能,部署基础设施必须支持额外的计算需求,包括用于梯度计算的 GPU 内存和用于对抗样本缓存的存储。
function adversarial_training_step(model, clean_batch, labels, epsilon):
logits = model(clean_batch)
clean_loss = loss(logits, labels)
input_gradient = gradient(clean_loss, clean_batch)
perturbation = epsilon * sign(input_gradient)
adversarial_batch = clip(clean_batch + perturbation, valid_input_range)
mixed_batch = concatenate(clean_batch, adversarial_batch)
mixed_labels = concatenate(labels, labels)
return loss(model(mixed_batch), mixed_labels)
清单 14.1: 对抗训练伪代码:在训练过程中使用类似 FGSM 的扰动进行框架无关的对抗训练,通过混合干净数据和扰动数据来提升对基于梯度攻击的鲁棒性。
清单 14.1(Listing 14.1)中的实现通过对输入求导来生成对抗样本,应用符号函数提取扰动方向,并将生成的对抗样本与干净训练数据混合。裁剪保持输入范围的有效性,而连接通过组合干净样本和对抗样本来有效翻倍批次大小。该方法需要仔细调整扰动预算 ϵ;优化的变体可以通过重用梯度计算来减少对抗训练的开销(Shafahi et al. 2019)。
一旦对抗样本成为训练循环的一部分,部署必须将鲁棒性技术与 MLOps 流水线、监控策略以及在多个节点之间同步更新的分布式训练基础设施协调起来。剩余的策略会转移花费点而不是消除成本。防御性蒸馏(Nicolas Papernot, McDaniel, Wu, et al. 2016)通过用教师模型的软标签来训练学生模型,在训练过程中花费该成本,这可以平滑决策行为,但仍必须针对更强的攻击进行评估。输入预处理在服务时花费该成本:图像去噪、JPEG 压缩、随机调整大小、填充和随机变换尝试在模型看到输入之前擦除扰动。集成通过冗余花费该成本:结合具有不同架构、训练数据或预处理路径的模型,使得能够欺骗一个成员的扰动不太可能同时欺骗所有成员。
评估与测试
评估对抗防御可以闭合预算环:系统必须测量防御实际覆盖了哪些攻击,以及在受控攻击条件下它牺牲了什么性能。鲁棒性指标通过对抗样本上的准确率、欺骗模型所需的平均扭曲以及不同攻击强度下的性能来量化韧性,使从业者能够在通用基准上比较模型或防御。诸如 MNIST-C(Mu and Gilmer 2019)、CIFAR-10-C 和 ImageNet-C(Hendrycks and Dietterich 2019)等标准化基准提供了原始数据集的损坏或扰动版本,用于衡量对常见损坏的鲁棒性,但没有基准能够完全解决问题。鲁棒性仍然是一个活跃的研究领域,需要多层次方法,结合检测、防御以及针对演变威胁的定期测试。
虽然对抗训练和认证防御在推理时为模型输入提供了强大的防护外围,但它们依赖于一个危险的假设:即模型本身是在可信数据上训练的。如果对手在模型甚至还未编译之前就长期破坏了数据管道,那么推理时的防御就毫无意义。如前所述的数据中毒攻击需要他们自己的一类防御。
对抗防御是针对特定威胁模型的预算化响应,而更强的保证总是需要以清洁准确率、计算量、延迟或覆盖范围为代价。
匹配防御与威胁
预算推理
数据中毒防御
数据中毒防御保护训练供应链,而不是推理边界。防御序列按顺序应用四层:
-
来源与访问控制:确定哪些来源被允许修改数据。
-
异常检测与净化:在训练前捕获可疑记录。
-
鲁棒目标:减少任何残留毒样的影响。
-
表示学习:使模型对脆弱伪迹的依赖降低。
每一层覆盖数据路径上的不同点;没有单一的检测器可以替代端到端控制。
考虑一个对冲基金在金融推文上训练情感分析模型。如果一家竞争对手公司协调一组机器人网络在训练窗口期间系统地将单词“增长”与负面情感关联,那么新部署的交易算法将在正面收益报告时积极做空股票。正如 图 14.20 所示,数据中毒攻击针对机器学习的供应链,在模型甚至开始学习之前就操纵智能的原材料。此攻击凸显了机器学习系统对数据完整性受损的脆弱性,以及对强大数据验证技术的需求。来源:改编自 Mathematics 12(2):247 的插图。
图 14.20: 数据中毒攻击:对手将恶意数据注入训练集以操纵模型行为,可能导致部署期间的误分类或性能下降。此攻击强调了机器学习系统对数据完整性受损的脆弱性,以及对强大数据验证技术的需求。来源:改编自 Mathematics 12(2):247 的插图。
入口和异常控制
中毒防御始于数据边界,在任何统计检测器运行之前。管道必须知道哪些来源被允许提供训练数据,如何验证其真实性,以及哪些角色可以修改被接受的记录。强有力的治理执行最小特权原则³³⁹,记录数据访问和修改事件,并为每个被接受的批次分配一个来源标识。这些控制不能证明每条记录都是干净的,但它们限制了攻击面,并使异常发现具有可追溯的来源。
在来源边界之后,异常检测会询问候选训练样本是否属于管道意图学习的分布。最便宜的测试将每条记录与整体分布进行比较:Z 分数过滤、Tukey 方法和马氏距离标记出其特征值远离正常范围的样本。这些测试很有用,因为它们足够快,可以在摄取时运行,但它们只能捕捉在原始特征空间中看起来像统计异常值的毒样。对于高维或多模态数据,原始特征距离是一个弱信号:一个被毒化的图像补丁或一个略微错误的标题在逐像素测量时看起来毫无异常,但在预训练视觉或语言模型的密集嵌入空间中却是语义异常值。因此,生产流水线越来越多地在基础模型编码器产生的潜在表示上(而不是原始特征上)应用马氏距离和聚类,在这种空间中,原始统计未能发现的语义异常值通常表现为远离类中心的孤立点或低密度聚类。
更协调的攻击需要结构感知的检查。聚类方法如 K-means、DBSCAN 和层次聚类寻找异常组或孤立点,而不是单个极端值。自编码器在同一门槛处添加一个学习表示:模型能够很好地重建正常样本,因此高重建误差将记录标记为异常且可能被毒化(图 14.21)。每种方法都有其失效模式。异常测试会漏掉干净标签的毒样,聚类依赖于特征表示,而自编码器如果参考语料库已经被污染,则可能学习攻击模式。
图 14.21: 自编码器架构
自编码器通过最小化重构误差来学习压缩的数据表示,从而通过识别具有高重构损失的输入来实现异常检测。在正常数据上进行训练时,网络学习高效的编码和解码,使其对可能指示潜在中毒攻击的偏差敏感。来源:改编自 Towards Data Science 的自编码器教程。
消毒和预处理
消毒在毒素到达优化之前将异常信号转换为训练集的更改。可疑记录可以被拒绝、被隔离以供审查、在训练期间降权,或保留并附带明确的来源标志。常规清洁仍然很重要:去重、缺失值处理、类型检查、范围约束和跨字段验证可以去除许多低努力的中毒尝试,同时提高普通数据质量。
数据来源和血统追踪使这些决策可逆。每个数据都需要记录其来源、变换、验证结果以及在管道中的移动。当模型后来表现出中毒症状时,血统使操作员能够将可疑行为追溯到来源批次,估计哪些训练模型消费了受损示例,并决定是删除、重新标记还是重新加权受影响的记录。
当可疑数据已经进入语料库时,消毒从源头检查转向表示检查。光谱签名 (Tran et al. 2018) 利用了一个观察结果:后门触发器——添加到输入中以强制目标标签的特定模式——在网络内部表示中引入了可检测的统计异常。当分析来自受污染类的激活时,被毒化的样本通常与协方差矩阵的主奇异向量高度对齐。将样本投射到这个主方向并移除异常值可以净化数据集,而无需知道触发器模式本身,因为后门信号必须足够强以覆盖自然特征,因此会在表示中留下痕迹。
影响函数 (Koh and Liang 2017) 起到更窄的调试作用。它们近似移除单个训练点 z 对模型在特定测试点 z[test] 上的损失的影响,而无需重新训练。通过逆海森-向量乘积计算,影响 I(z, z_test) ≈ -∇θℒ(z_test, θ̂)^T H[θ̂]⁻¹∇θℒ(z, θ̂),此指标可以识别出对特定预测“有责任”的训练样本。如果模型将停车标志误分类为限速标志,影响函数可以突出导致该决策的特定中毒训练图像。其局限性在于规模:计算逆海森矩阵 H⁻¹ 对 P 个参数来说是 𝒪(P³),需要像 LiSSA(线性时间随机二阶算法)这样的随机近似方法,其规模为 𝒪(n P)。在深度非凸网络中,海森矩阵通常是不定的,因此影响分析最适用于特征空间中最后一层的粗糙异常值或标签错误,而不是在大型基础模型中进行精确归因。
如果中毒样本在来源和消毒阶段幸存,训练目标就成为限制其影响的最后一处。鲁棒优化修改目标以最小化异常值或中毒实例的影响。鲁棒损失函数,如 Huber 损失、Tukey 损失和裁剪均值损失,在训练期间降低或忽略异常实例的贡献。正则化技术(ℓ1 或 ℓ2 正则化)限制模型复杂度并降低对中毒数据的敏感度。在更高层次上,鲁棒目标函数,如 minimax 或分布式鲁棒目标,在最坏情况下优化模型的性能,提供对抗性扰动的正式保证。
Huber 损失限制了平方损失放大的异常影响。
数据增强通过对现有数据应用随机变换或扰动来生成额外的训练示例 (Figure 14.22),增加训练数据集的多样性和鲁棒性。受控的变化使模型对中毒实例所包含的特定模式或伪迹不那么敏感。诸如随机子采样或 bootstrap 聚合之类的随机化技术通过在不同子集上训练多个模型并组合它们的预测,进一步减少中毒数据的影响。

图 14.22: 数据增强技术
应用如水平翻转、旋转和裁剪等变换可以扩展训练数据集并提高模型对输入数据变化的鲁棒性,同时减少过拟合。这些技术在不需要额外标注数据的情况下生成新的训练示例,有效增加数据集多样性并增强泛化性能。
操作规则是分层的:在摄入之前先对来源进行身份验证和治理,在训练前对可疑数据进行消毒,在优化过程中限制存活的异常值,并保留血统,以便事件可以追溯到受损来源。数据中毒仍然是一个活跃的研究领域,但生产系统应将训练语料库视为供应链,而不是被动的数据集。
因此,数据边界只是鲁棒性的一层,而非整个防御。一旦训练供应链得到治理且可疑记录被过滤,模型仍然需要能够承受普通部署变化的表示。除了在发生后检测和纠正偏移 (Section 14.4) 之外,一种互补的方法是从一开始就构建抗偏移的表示,借鉴迁移学习和领域适应的基础 (Pan and Yang 2010)。
表示层面的防御:自监督学习
自监督学习(SSL)改变了监督的来源。模型不是仅仅依赖任务标签,而是通过解决需要数据自身结构的预テスト任务来学习。这对鲁棒性很重要,因为许多脆弱模型会过拟合于最容易利用的标注捷径:背景纹理、注释工件或窄短语模式。一个奖励跨视图稳定结构、缺失标记或被遮盖图像补丁的预训练任务,给予表示学习信号以幸存于更多部署变化的机会。
对比学习方法如 SimCLR 通过将同一示例的不同视图推向共享表示,将这一想法具体化。模型因将裁剪、颜色偏移或增广视为同一底层对象而非新的类别特定线索而得到奖励。BERT 中的掩码语言建模和视觉中的掩码自编码(vision‑autoencoder)采用不同的途径:它们隐藏输入的一部分,并迫使模型从上下文中重建或预测它。这两类方法都减少了对单一监督标签信号的依赖,这就是为什么当部署分布与带标签的训练集不同时,SSL 表示通常能更好地迁移的原因。
该迁移收益是在鲁棒性流水线中使用 SSL 的主要系统原因。更大的无标签语料库会向模型暴露在各个领域、变换以及罕见案例中,这些案例若要完全标注将代价过高。在生产环境中,SSL 通常充当基础而非完整防御:在广泛的无标签数据上进行预训练,在监督任务上进行微调,然后将第 14.6 节和第 14.7 节中的对抗性、漂移和投毒防御应用于特定任务的模型。多任务训练可以通过在监督任务将表示拉向部署指标的同时保持自监督目标活跃来保留一些此类收益。
其局限性在于 SSL 并非鲁棒性保证。对比或掩码预训练目标仍可能学习脆弱的捷径,而理解预训练任务的攻击者可以直接针对这些捷径。解释 SSL 在何时能提升鲁棒性的理论仍不完整,并且由于预训练将工作提前到生命周期早期,其计算成本可能相当可观。因此,系统决策在于:更广泛的表示学习是否能够将漂移、重新标注和鲁棒微调的预期成本降低到足以证明增加预训练预算的程度。
谬误与陷阱
鲁棒性涵盖环境变化、输入层面攻击和系统级故障。每个威胁领域都会引入导致防御不足或工程资源错配的误区。
谬误:对抗样本只是学术上的好奇心,在现实世界中没有影响。
已发表的物理世界攻击,例如衣物上的对抗性补丁或停车标志上的贴纸,在受控的补丁和道路标志设置下且无需数字访问,即可欺骗经过评估的视觉模型。防御这些攻击需要威胁模型特定的评估、物理世界数据增强、补丁感知训练以及服务时检测;相关的 PGD 风格数字对抗性训练通常会根据攻击步骤将训练成本增加数倍。忽视这些防御会使暴露在开放环境中的系统容易受到普通数字测试集无法暴露的故障影响。
陷阱:将测试集成功视为鲁棒性证明。
标准测试集源自与训练数据相同的独立同分布(i.i.d.)分布,无法衡量对现实世界变化的韧性。在生产环境中,未监控的分布偏移可能导致性能悄然下降;经常报告的分布外评估往往显示出当部署人群偏离训练分布时准确率大幅下降。
谬误:部署后分布偏移监控是可选的。
模型常常在预测性能因漂移而下降时仍保持高置信度得分,表现为沉默的退化。监控诸如人口稳定性指数(PSI)之类的指标可以在准确率低于 SLA 阈值之前发现人群偏移,从而在被监控的特征是下游性能的预测因子时实现主动干预。
陷阱:除非攻击者控制训练管道,否则忽略投毒防御。
干净标签的投毒攻击通过向公共数据集或爬取的数据源注入恶意样本来破坏模型,且无需访问内部代码。其定义特性是杠杆作用:通过污染训练数据的一小部分(远低于 1%)可以嵌入后门触发器,且在触发器出现在推理时之前保持潜伏状态,因此被毒部分的大小并不是一种防御手段。
谬误:平均准确率足以用于鲁棒性测量。
高平均准确率常常掩盖脆弱性:即使模型在关键边界案例上对有针对性的扰动 100% 脆弱,其整体准确率仍可达 95%。可靠的评估需要在特定扰动预算下计算认证鲁棒性半径或最坏情况下的准确率。
陷阱:将对抗训练视为完整的鲁棒性解决方案。
鲁棒性并非普遍适用;它严格受训练期间使用的特定威胁模型限制。针对 ℓ[∞] 攻击进行对抗训练的模型可能对 ℓ[2] 或几何攻击提供零防护,因而需要多样化的防御策略。
谬误:当模型正确时,软件故障无关紧要。
仅关注算法鲁棒性会忽视这样一个事实:数据管道和服务基础设施中的软件错误是机器学习失败的主要原因。事件分析常常发现管道和数据问题,而非模型架构或对抗攻击单独作用,才是失败的根源。这些系统层面故障的分类和缓解是第 7 章的主题,并且即使模型针对对抗扰动进行了加固,如果预处理错误悄然损坏了其输入,它仍然很脆弱。
陷阱:在加固模型的同时,让管道检查未经测试。
鲁棒性工作可能专注于对抗训练、认证半径或投毒防御,而将模式验证、预处理奇偶校验、特征新鲜度和回滚演练留待测试。这种失衡会导致系统能够抵御一类攻击但在普通运行故障上失效。稳健的部署会同时验证模型和管道,因为模型只能看到周围系统提供的输入。
这些误解有一个共同的根源:将鲁棒性视为单一维度问题,而非多层次工程学科。
总结
鲁棒 AI 是机器学习舰队的“免疫系统”:它在正常服务指标下可能仍然隐藏的故障面前,使模型和管道变得更加坚韧。可靠性不仅仅是代码正确性;它要求防御环境变化、输入层面攻击和系统级故障,同时认识到软件故障(涵盖在第 7 章中)可能放大或伪装成上述三种任意一种。
相同的军备竞赛也出现在经验防御如对抗训练和数学保证如认证鲁棒性之中。数据投毒在训练集中植入后门,而生成式 AI 引入了“语义可靠性”挑战,其中幻觉取代了传统的分类错误。整合谱过滤、不确定性量化和持续漂移监控能够将脆弱的原型转变为有韧性的系统。
即使模型在留出测试集上达到顶级基准准确率,仍可能在生产环境中发生灾难性失败。测试集按构造与训练数据共享相同分布;它无法揭示当该分布发生偏移时模型的行为,当对手制造输入以利用几何脆弱性时模型的行为,或者当微妙的数值故障在数千步训练中损害梯度计算时模型的行为。所有三种失败都会悄然发生,因此本章的贡献是提供使其可见并可预算的机制:能够在准确率下降之前发现漂移的分布距离度量;暴露对抗脆弱性(而干净测试集掩盖这一点)的最坏情况评估;能够区分管道故障与真实漂移或攻击的伪装诊断;以及限制模型所能断言内容的认证半径和不确定性信号。等到沉默的故障通过用户投诉或下游指标下降浮现时,损害已经在系统中传播;每一种工具都将检测提前到了更早的时候。
构建多层防御
构建针对这些失败模式的多层防御,将脆弱的原型转变为生产级系统。鲁棒性工程不是单一技术,而是贯穿整个模型生命周期的学科:开发阶段的严格数值测试、训练阶段的对抗硬化、部署阶段的分布偏移监控以及推理阶段的不确定性量化。每一层都能捕捉其他层遗漏的失败。这种学科的成本——以准确率权衡和额外计算为度量——是真实存在的,但有界限。缺失这种学科的成本——以沉默的退化、用、用户信任侵蚀和级联系统失败为度量——要大得多,且恢复难度远高于前者。
核心原则
-
沉默即失败模式:鲁棒性之所以存在,是因为漂移、对抗扰动、投毒和数值故障往往在保持运行时间和延迟的同时腐蚀预测。生产系统需要监控机制,在用户投诉或下游业务指标暴露问题之前,先暴露能力退化。
-
鲁棒性需显式投入:强化对抗训练可能导致清洁 ImageNet 准确率下降约 26 个百分点,而认证防御和不确定性采样会增加计算开销。工程决策在于:在何种失败后果下,所需的韧性水平是合理的。
-
漂移需校准的距离度量:统计距离度量将环境偏移转化为审查、重新训练、回滚或路由的阈值。只有当该度量与响应路径挂钩,并针对误报进行校准时,才具备实用价值。
-
威胁常相互伪装:软件故障可能表现为概念漂移,投毒样本可能掩罕见离群点,而对抗输入可能隐藏在自然变化之中。鲁棒系统需结合入口验证、训练防御、不确定性信号和输出验证。
-
生成式可靠性是语义层面的:LLM 的幻觉是自信流畅的失败,而非简单的标签错误。因此,鲁棒性必须包括基础检查、自洽性、熵或不确定性信号,以及人类升级政策,以界定模型被允许断言的内容。
鲁棒性的权衡
对所有冲击都具鲁棒性的模型固然美好,但成本难以承受。鲁棒性是买来的,不是天生的:对抗训练可能损失数十个清洁准确率点,认证保证和不确定性采样会使推理计算增长数倍,而漂移监控需在后台持续运行。这正是全书所围绕的权衡——用一种资源换取一种属性,现在应用于应力下的可靠性。因此,工程问题不是“是否应使系统具鲁棒性”,而是“在失败成本的 justification 下,应投入多少鲁棒性”,而这一成本难以察觉,因为这些威胁在任何指标变红之前,就悄然造成损害。投入过少,系统将在无声中失败;投入过多,则无法在准确率和延迟——正是这些指标使其值得部署——的竞争中立足。
鲁棒性能够保护车队免受分布漂移、输入层操纵和系统级故障的影响。然而,一个在消耗相当于整座城市电力的情况下仍能存活每一次失败的系统,不可持续。可持续性(第 15 章
目的
为什么能源消耗决定了机器学习系统能存在什么样子,而不仅仅是它们运行的成本?
电力不仅仅是运营开支,更是一个硬性物理约束,限制着可构建的系统规模。数据中心具有一个由其电气基础设施和冷却能力决定的固定功率预算;超过该预算不是昂贵的问题,而是不可能发生的。所需功率超出可用范围的训练任务,无论预算多充足都无法执行。部署位置受限于电网容量和冷却可行性,而非仅仅房地产价格。在最大规模时,问题从“负担得起”转向“物理可行”,答案同样取决于能源效率和算法能力。将能源视为与准确率和延迟同等重要的一级工程约束的组织,能够构建适配其所能获取的物理基础设施的系统。可持续性是热力学极限如何封闭 C³ 协同设计的所在:无论算力、通信或协调多么强大,都无法超过设施的兆瓦级功率容量。
学习目标
-
解释为何数据中心的供电和散热限制决定了哪些机器学习系统能够物理存在
-
分析计算增长、硬件效率和需求反弹以预测车队资源需求
-
基于能源使用、电源使用效率(PUE)、制造过程和电网强度,计算运行碳、隐含碳和全生命周期碳
-
分析来自运行、内存移动、冷却、用水和电力供应限制的能源瓶颈
-
按能源、碳和电池预算对比训练、推理、边缘和联邦学习工作负载
-
在算法、基础设施、调度、硬件寿命和碳意识运营方面设计缓解策略
-
评估政策、碳抵消和环境正义主张是否能通过可测量的车队减排得到支持
能源天花板
一个模型可能对对抗攻击具有安全性,在分布偏移下保持鲁棒,但如果可用电网无法为其加速器供电,或设施无法为其散热,它仍会失败。可持续性 正是从这一点开始:此时,准确率、延迟和可靠性已不再足够,因为系统还必须同时适配功率、冷却、用水、碳排放和硬件寿命的预算。能源是机器学习的终极货币,而功率密度是数据中心计算能力的上限。[³⁴³]
当工程师优化一个数据库查询以节省 100 毫秒时,这是普通的性能调优。但在整个车队规模下,同样的优化每天重复数十亿次,将累积为兆瓦级的电力消耗、冷却负荷和避免的碳排放(Lacoste 等人,2019)。超出运行 envelop(运行范围)的系统,在操作层面上已等同于崩溃:因为它无法在原定规模下部署。
这一上限使得可持续性成为一种设计约束,而非仅一个报告类别。就像我们为内存、带宽和容错进行预算一样,工程师也必须为焦耳(能源)、冷却负荷、隐含碳和硬件更换周期进行预算。
当代机器学习应用以工业规模运行,其环境影响可与成熟的重工业相媲美。训练一个大型 AI 模型可消耗的电量相当于大约 120 户美国家庭一年的用电量。当算力需求增长速度快于硬件效率提升时,结果就在人工智能中出现了可持续性悖论(Sevilla et al. 2022)。可持续人工智能将这一差距视为一级系统问题,而非在部署之后才管理的外部性。
可持续人工智能是系统工程实践,用于衡量和优化机器学习系统的完整环境成本(在训练、推理和硬件制造过程中消耗的能源、水和内含碳),并将这些成本作为架构决策中的显式约束,与性能和准确性目标并列考虑(Wynsberghe 2021; Lannelongue et al. 2021; Henderson et al. 2020)。
-
意义:训练 GPT-3 消耗的能源约为 1,287 MWh(Li 2020),相当于大约 120 户美国家庭一年的用电量。同样的生命周期逻辑也适用于训练之后:预训练模型通常可以以远低于从头开始训练的工作量进行微调,而高规模推理最终可能主导总能耗。因此,可持续人工智能既要追踪一次性训练运行,也要追踪反复出现的服务工作负载,而不应将模型训练视为全部足迹。
-
区别:与企业可持续性报告不同(后者将能源使用汇总为年度 CO[2] 披露),可持续人工智能工程在单个工作负载层面运行——根据每瓦 FLOP/s 效率选择硬件,在可再生能源丰富时期安排训练,以及选择能最小化推理 FLOPs 的模型架构,而非简单地最大化准确性。
-
常见误区:一个常见的误解是认为切换到可再生能源就能解决可持续性问题。对于硬件密集型机器学习,内含碳(在芯片、服务器和冷却设备制造过程中排放的碳,甚至在它们运行第一个训练任务之前)通常等于或超过运营碳;边缘设备生命周期碳中有超过 50% 来自制造,因此硬件寿命和利用率与能源来源同样重要。
人工智能系统的环境影响贯穿其完整生命周期:从半导体制造和数据中心建设到模型训练、推理部署和电子废弃物(Wynsberghe 2021; Gupta et al. 2022; Luccioni et al. 2023)。将这一完整生命周期视为工程问题而非企业责任练习,可将可持续性从一个模糊目标转变为可衡量的工程需求。然而,在我们能够优化这一庞大足迹之前,必须先通过计算大规模训练运行所需的原始物理能量来建立直觉。
一个 175B 参数模型的训练需要大约 3.14 × 10²³ 次 FLOPs。假设数据中心 PUE 为 1.1,端到端实现的训练效率为 50 GFLOP/J:
该家庭年用电量是赌注;它也仅仅是进入建筑物的电量。接下来的问题是这种能量在物理上到底去了哪里:有多少到达了加速器,有多少被冷却和供电开销消耗,以及电表后面的电网如何将这些千瓦转化为碳。
环境影响的规模
以兆瓦时为单位衡量的训练运行难以进行推理:很少有工程师能直观地感受到一度电网电力对大气的代价。将该能量转化为排放,再转化为一个已知的碳锚点——一次跨大西洋航班的 CO[2] 排放,就能将一个抽象数字转化为具有实际意义的数字。
问题:一个团队在训练一个大型模型(GPT-3 规模)时消耗了 1,287 MWh 的能源。排放多少 CO[2],以及这相当于多少次跨大西洋航班?
计算:
-
能源:训练能源消耗为 1,287 MWh = 1,287,000 kWh。
-
碳强度(美国平均):≈ 0.429 kg/kWh。
-
总排放:训练排放量为 1,287,000 kWh × 0.429 kg/kWh ≈ 552,123 kg。
-
对比:
-
一名乘客,纽约至伦敦(往返):≈ 1000 kg。
-
比率:552,123 kg / 1000 kg = 552.1。
-
系统洞察:一次训练运行排放的碳相当于数百次跨大西洋乘客往返航班。优化很重要。将此作业移至水能丰富地区(0.020 kg/kWh)可将排放降低 21.4 倍,降至约 25.7 次乘客往返航班。
该算法展示了单次运行的碳成本;在大规模集群层面,下一个限制是是否能向集群输送足够的电力。
原型 A(GPT-4 级训练)最明显地暴露了供电问题。一个单一的 25,000 块 GPU 集群,每块芯片功耗为 700 W,在考虑服务器、网络和冷却开销之前就需要 17.5 MW 的加速器功率。该限制是物理的,而非财务的:它是一个电网容量问题。运行原型 A 工作负载的组织可能需要专用电力基础设施或拥有余量可再生能源的地区,使得碳感知调度(将非紧急工作转移到电网更清洁的时段)和地理优化(将工作负载放置在电力、冷却和碳限制与任务相匹配的地区)成为与学习率调校同等重要的舰队决策。
仅该加速器功耗(在服务器、网络和冷却开销之前)就已经与重工业在电网容量方面展开竞争,这使得何时和何地运行作业成为主导杠杆,也是后续计算的主题。
手动比较两个地区是可行的,但真实的机群需要在同一时间权衡多个地区随时间变化的碳强度和地区电价,这是一个肉眼无法察觉的设计空间。此时,放置决策成为一个优化问题,求解器负责完成搜索。
情景:一个团队正在规划一次需要 10,000 MWh 能量的大规模训练运行,正在考虑三个具有不同电价和碳强度的地区。
问题:在内部碳税为 100 美元/吨的情况下,哪个地区能使真正的总拥有成本(TCO)最小化?
方法:PlacementOptimizer 将电网碳强度、地区电价和碳税综合为一个单一的优化目标,然后评估设计空间以选择全局最小值。
-
最优地区:碳感知调度选择魁北克。
-
总预计成本:0.66 百万美元(含碳罚金)。
系统洞察:在纯能源成本模型中,工程师可能会选择电价最低的地区。一旦引入碳税,优化目标就会将原本应预算之外的成本内部化。优化器表明,魁北克的水能电网是最具成本效益的选择,因为碳节约不仅抵消了电价的微小差异,而且远远超过它。
调度优化器将碳强度视为时间变化的输入,在单个地区内将工作负载转移到低碳时段。地理放置则将相同的逻辑延伸到空间维度:因为各国电网的碳强度相差一个数量级,选择在哪里运行作业所带来的收益可能远远超过选择何时运行作业的收益。以下计算通过保持能源需求不变且仅变化电网来隔离这一地理因素。
问题:一个团队正在为一次 10,000 MWh 的训练运行选择数据中心。
场地选择与碳足迹
场地 A(魁北克):水电,20 g/kWh CO[2]。
场地 B(波兰):以煤为主,820 g/kWh CO[2]。位置如何影响模型的碳足迹?
数学公式:碳排放 = 能源 × 电网强度。
-
场地 A 排放量:10,000,000 kWh × 20 g/kWh = 200,000,000 g = 200 t CO[2]。
-
场地 B 排放量:10,000,000 kWh × 820 g/kWh = 8,200,000,000 g = 8200 t CO[2]。
-
比率:8200 t / 200 t = 41× 差异。
系统洞察:场地选择在模型调节因素中占主导地位。魁北克与波兰的对比产生了 41× 的差异,这一差异超过了许多常见的算法效率提升。效率的提升不仅限于 FLOPs,还延伸至这些 FLOPs 的碳强度,使得碳感知调度成为机器学习舰队中的一级运营能力。
同一训练任务的碳排放取决于其运行位置。
这个魁北克-波兰配对是本章中使用的地理杠杆的典型锚点。全球电网的碳强度跨度大约在十到八十倍之间,代表性地区配对落在八到四十倍范围内,具体数值由所比较的两个电网以及是否包含时间变化决定。后续章节将引用此范围内的不同数字;每个数字都伴随着决定其数值的假设说明。
训练一个大型语言模型将消耗数千兆瓦时的电力,相当于为数百户家庭供电数月。³⁴⁴ 国际能源署(IEA)预测,到 2030 年,全球数据中心的电力消耗将达到约 945 TWh,仅占全球电力需求的略低于 3%,而 AI 加速服务器将推动这一增长的主要部分。³⁴⁵ 从 2012 年到 2019 年,计算需求增长了 350,000×(Schwartz et al. 2020),而硬件效率的提升速度远远慢于此,导致形成不可持续的增长轨迹。
除了直接的能源消耗,AI 系统还通过硬件制造和资源消耗对环境造成影响。训练和推理工作负载依赖于需要稀土金属的专用处理器,而这些金属的开采和加工会产生污染。³⁴⁶ AI 应用需求的增长加速了电子废弃物的产生,全球电子废弃物年产量达到 5400 万公吨(Forti et al. 2020)。由于性能要求的快速提升,AI 硬件迅速过时。³⁴⁷
这些环境挑战是能源上限的一部分,而不是附加项:提供土地、水、电网容量和废弃物处理渠道的社区也承担部分系统成本。上述规模计算将可持续性转化为一个分配问题。AI 进步在系统的一部分创造了收益,同时将电力、用水、土地和处置成本分配到另一部分,因此环境责任必须被视为系统设计的一部分,而不是事后部署的报告。
环境正义与负责任发展
因此,场地选择不仅是一个设施决策,更是一个环境正义决策。环境可持续性将机器学习系统的责任从模型行为扩展到生态 stewardship(Vinuesa et al. 2020)。AI 开发所需的计算资源将环境成本集中在特定社区,而利益则在全球人口中不均等分配。数据中心消耗的电力相当于全球总用电量的几个百分比,并消耗大量水用于冷却(Andrae and Edler 2015),而这些数据中心往往位于能源电网严重依赖化石燃料、且水资源因气候变化而面临压力的地区。
这种地理集中导致的环境正义风险与更广泛的负责任 AI 框架相一致。³⁴⁸ 此处的公平性主张具有局限性和系统特定性:一个机器学习舰队在不同社区之间分配收益、电力需求、用水量、土地压力和电子废弃物。承担 AI 基础设施的社区可能承受不成比例的环境负担,而又难以获得 AI 带来的经济利益,因此场地选择成为工程设计空间的一部分,而不是事后才考虑的设施问题。
指数增长 vs. 物理约束
计算需求的快速增长对 AI 训练和部署的长期可持续性构成挑战。在本文研究的 2012–2019 时间窗口内,报告显示 AI 训练算力增长了 350,000׳⁴⁹ (Schwartz et al. 2020)。此后,许多大型模型训练方案仍继续倾向于使用更大的模型、更大的训练数据集或更高的计算预算。当硬件效率提升跟不上工作负载需求时,维持这种轨迹将带来可持续性挑战。
历史上,随着半导体技术的进步,计算效率得到了提升。摩尔定律预测,芯片上的晶体管数量大约每两年翻一番,从而带来处理能力和能源效率的持续提升。³⁵⁰ 然而,先进工艺节点面临核心物理限制,使得晶体管进一步缩放变得困难且昂贵。 Dennard 定律曾经保证更小的晶体管在较低功率下运行,但这一定律也已经结束,导致每个晶体管的能源效率改善停滞不前。³⁵¹
当 AI 模型的扩张速度超过其运行硬件的改进速度时,能源预算就会出现一个缺口,而这个缺口必须由算法效率来弥补。正如 图 15.1 所示,在 2012–2019 的算力增长窗口中,计算需求与硬件效率提升之间的分歧在敏感情景下创造了一条不可持续的轨迹。这一技术现实凸显了,要实现可持续的 AI 开发,必须在整个系统栈中进行协同行动——从单个算法选择到基础设施设计和政策框架。

图 15.1:能源墙的量化:AI 计算需求增长(约 6.2×/年,与 2012–2019 的历史主张相符)与硬件效率提升速度放缓(约 1.5×/年)之间日益扩大的差距,在敏感情景下造成了巨大的能源赤字。
为了使不确定性可见,图 15.2 展示了在激进需求增长假设下的数据中心用电高增长敏感性情景,而不是上面所示的 IEA 基线预测。最佳情况、预期情况和最坏情况之间的差距说明了结果如何高度依赖于效率提升和需求增长的假设。
图 15.2:高增长数据中心能源敏感性情景:从 2010 到 2030 年,在激进需求增长假设下的全球数据中心电力消耗情景。三条轨迹——最佳情况、预期情况和最坏情况——在 2018 年以后显著分歧,凸显了效率改进的不确定性和重要性;它们应被读作敏感性包络线,而不是 IEA 基线预测。
能源墙:发散的扩展
图 15.1 将能源墙框定为计算需求与硅效率之间的分歧,但硅效率仅仅是一个上限。即使每个加速器都达到了其理论极限,仍存在第二个上限:物理能源基础设施,即电池密度和电网效率,其增长速度远慢于计算需求。AI 可持续性提出了一项独特的工程挑战,因为它是两种根本不同物理规律之间的竞赛:逻辑的指数级扩展和能源基础设施的线性扩展。
正如图 15.3 所示,在上文引用的 2012–2019 期间,AI 算力增长了约 350,000 倍,而电池密度和电网效率仅以年均约 2–5%的速度提升。
图 15.3:能源墙:训练运行能耗(MWh)在 2016–2026 年间随功率发电厂参考线(水平线)变化的曲线,轨迹上的里程碑模型已进行标注。根据已发表的估计,该曲线在此时间窗口内上升了大约 350,000 倍,而电池密度和电网效率仅以每年 2–5%的速度提升,勾勒出“能源墙”——算法野心超过物理基础设施承载能力的临界点。
虽然 AI 逻辑遵循“软件优化的铁律”,但能源遵循化学和热力学定律。在相同的七年时间间隔内,以年均 5%的速度,电池能量密度仅能提升约 40.7%;以年均 2%的速度,电网效率仅能提升约 14.9%。这些曲线之间的 248,738.5 倍差距就是能源墙——即我们无法仅仅通过增加功率来“购买摆脱”效率问题的临界点。
数据中心电网动态
可持续的 AI 需要超越机架范围,审视电网接口。传统数据中心是“稳态”负载;它们全天候持续消耗恒定功率。然而,机器学习训练集群则是瞬态负载。
背景:2022 年 7 月,爱尔兰政府发布了《爱尔兰政府关于数据中心在爱尔兰企业战略中的角色声明》,正式明确了该国对数据中心行业的态度——到那时,数据中心已消耗爱尔兰总计量电力的约 18%,几乎全部集中在大都柏林地区(爱尔兰政府 2022; 国际能源署 2024a)。
失效模式:电网扩展未能跟上连接需求。爱尔兰电网公司(EirGrid)和国家监管机构报告称,都柏林附近有多个吉瓦的潜在数据中心负载在排队等待接入,当地输电系统已被推向极限,加强工程的时间表延伸至下一个十年。
后果:EirGrid 实际上在 2028 年前对都柏林地区的新数据中心电网连接实施了禁令。新连接成为电网规划和政策决策,而非常规采购步骤,地点、现场发电和加固要求共同决定了可以建设什么——以及 AI 算力究竟能落地何处。
系统教训:可持续的 AI 受互联互通、地理位置和电力系统 adequacy( adequacy 指系统能够可靠满足需求的能力)的制约。高效加速器有所帮助,但机群的扩张速度不能超过供电电网的能力,而束缚约束已从芯片层面转移到了变电站层面。
同样的电网接口约束在毫秒尺度上也有体现,其背后机制是输电硬件。一个 10,000 块 GPU 的集群在 AllReduce 同步步骤期间,其负载可波动 5–10 兆瓦。对电力公司而言,这是一个噪声事件:当成千上万的 GPU 因等待网络而突然停止计算时,会在电网上引起电压尖峰;当它们恢复计算时,又会导致电压下跌。管理这些瞬态需要能源缓冲:使用现场电池阵列或巨型电容器来平滑训练迭代,确保机器学习机群不会 destabilize(使不稳定)当地市政电网。
热量是配套设施的约束条件,因为数据中心在物理上将高品质能源(电力)转化为低品质能源(废热)。可持续的机群应将该热量视为可回收的副产品而非污染物。例如,北欧地区的现代设施利用区域供热将废热输送至市政供暖系统;而产业耦合则可将约 45°C 的低品位废热导入温室气候控制或海水淡化系统。这些数据中心废热回收模式能够抵消附近的热需求,而不是将所有热量排入大气层³⁵² (Ebrahimi et al. 2014)。
训练规模能源集中
电网、选址和热能再利用的限制变得严峻,因为大规模训练活动会将能源需求集中在长时间、同步运行中。OpenAI 的 GPT-3³⁵³就是这一规模的典型例子:其 1,287 MWh 的训练运行,相当于本书所述大约 120 个家庭年用电量的基准,反映了在大规模数据集上训练大型语言模型所需的计算量,此外还有分布式训练通信带来的额外能源开销³⁵⁴ (Maslej et al. 2023)。
这种集中度使得效率提升成为工程上的必然要求。大型生成模型会加剧这一问题,因为后续代际往往会增加参数规模、Token 预算,或两者兼具。
在 Kaplan 等人(2020)研究的范围内,模型缩放定律表明,增加模型规模、数据集规模以及用于训练的计算量能够平滑提升性能。图 15.4 表明,在所研究的范围内,随着这三个因素的增加,测试损失呈可预测的下降趋势。超出训练阶段,如大规模推荐系统和生成式服务等高吞吐量部署系统需要进行持续的大规模推理,即使在训练结束后仍会消耗能源。因此,累计能源负担不仅取决于一次性的训练运行,还取决于部署后持续的查询量。

图 15.4:模型缩放定律:在 Kaplan 等人(2020)研究的范围内,增加模型规模、数据集规模以及用于训练的计算量能够持续降低测试损失。该图复制了源论文的符号表示法,其中N表示参数数量,C[min]表示计算量;而在本书的其他部分,我们使用P表示参数数量,O表示操作数量。这些缩放定律解释了为什么在该范围内,更大的模型、更多的数据和更高的计算量成为有吸引力的设计选择。
硬件选择是能源物理成为架构决策的首个环节。不同处理器类型通过其能源特性影响环境影响。以 pJ/FLOP 为统一比较点,中央处理单元(CPU)的能耗约为 100 pJ/FLOP,图形处理单元(GPU)在密集张量运算中的能耗约为 10 pJ/FLOP,专用张量处理器达到约 1–2 pJ/FLOP,而固定功能低精度加速器则接近 0.1 pJ/操作³⁵⁵。这些硬件平台需要稀有金属和复杂的制造过程,并伴随隐含碳排放。
AI 芯片的生产是能源密集型的,涉及多个制造步骤,这些步骤根据温室气体议定书被归类为范围 3 价值链排放,而非运营商直接使用的电力。随着模型规模持续增长,对 AI 硬件的需求也在增加,这进一步加剧了半导体生产和报废的环境影响。
理论效率极限作为可持续性模型
能源测量与建模
要了解 AI 能源挑战的规模,将大型数字系统与计算效率的理论极限进行比较会有所帮助。与高效的物理和生物模式识别系统相比,大型语言模型(LLM)的运行能效差距约为 10⁶×。这种比较是近似的,而非逐 FLOP 对等突触的等价:这意味着稠密数字模型在始终开启的算术运算和全局数据移动上消耗巨大能量,而稀疏物理系统通常仅在信号变化时计算。这一差距正是能源墙留下的优化空间。
训练单个类似 GPT-3 的模型,鲜明地提醒了我们这一差距:基于硅的系统消耗兆瓦级功率来处理数万亿个 token,而稀疏的、事件驱动的计算则指向某些模式识别工作负载每次有用操作的能耗更低。这激励我们寻找替代计算范式,优先考虑能量感知架构而非单纯的吞吐量。
高效计算原理
高效计算的可持续性启示在于稠密机器学习在哪里浪费能量:持续激活、数据饥渴的学习和全局移动。三大原则使这些损耗通道显性化:
-
选择性、事件驱动激活:高效系统是异步的,而非持续处理所有信息。它们在任意时刻仅激活网络的小部分,仅在主动处理变化信号时消耗能量。³⁵⁶
-
局部学习与样本效率:稠密语言模型扩展通常需要在数万亿 token 上训练以获得广泛能力。高效模型利用强归纳偏置和自监督局部学习,在激励性的生物学比较中,从
10,000×更少的数据中获取能力,从而降低训练阶段的累积能量成本。 -
稀疏性与稀疏互联:在数据移动和全局同步密集的加速器工作负载中,能量常耗费在移动操作数而非执行算术上。高效系统使用稀疏表示,任何给定任务仅有
1-2 percent的参数处于激活状态,当稀疏性映射到硬件可见的工作移除时,可将带宽和开关能耗降低50–100×。
生物模型指向了可持续 AI 的有前景研究方向。实现 脉冲神经网络(SNNs)、通过离散脉冲通信的事件驱动模型,或稀疏激活模式的架构,可通过模仿稀疏通信模型实现显著的能量降低³⁵⁷ (Prakash 等 2023)。局部学习算法和自监督方法为更高样本效率和能量感知系统提供了额外路径。
实现可持续 AI 需要系统设计的系统性转变,从持续激活的稠密架构转向事件驱动、稀疏计算模型。随着算力需求超越硅制造工艺的渐进式效率改进,基于这些效率原则,从算法根本的“物理”层面重新思考,势在必行,以应对 AI 的环境影响。
图 15.5 展示了六步能源差距干预级联如何将能源差距缩减约 10,000×,将不可解的发散转化为工程挑战。六个单步因子相乘在纸面上得到更大数值,但标题 10,000× 是刻意保守的综合值:重叠的杠杆无法干净叠加,因为每次干预都会侵蚀下一步可用的节省。单一杠杆均不足够;缩小差距需要算法、硬件和系统层面的同步进步。
图 15.5:能源差距干预级联:六个连续干预步骤渐进式地缩减 350,000× 能源差距。组合级联给出约 10,000× 的保守综合值,低于单步因子乘积的朴素值,因为重叠杠杆无法干净叠加,留下工程可解决的可控残余。
指数级算力需求与物理硬性效率极限的汇聚,造成了不可持续的轨迹,威胁 AI 扩展的长期生存能力。为改变这一轨迹,我们必须超越信手拈来的估算,建立严谨、系统性的框架,以测量和评估整个 ML 基础设施中的能源消耗。
能源测量与建模
工程师无法优化无法测量的事物。一个在大语言模型训练运行中消耗五兆瓦的集群,仅将其中一小部分功率导向矩阵乘法;其余功率被散热风扇消耗以移除产生的热量。有效的能量建模要求将整体数据中心电费账单分解为工程师可针对性优化的颗粒度、组件级指标。
第 2 章 确立的数据中心基础设施基石,将电力和冷却确立为主导工程约束。系统化测量将这些约束转化为三大关键领域的可操作可持续性指标:训练和推理期间的能耗跟踪、系统全生命周期的碳足迹分析、硬件与基础设施的资源使用评估。正如性能工程需要剖析才能优化,可持续 AI 工程需要测量才能缓解。
全章的决策流程一致:测量主导的生命周期项,识别其背后的物理瓶颈,选择改变该项的干预措施,并检查反弹效应是否抵消了收益。运行用电、嵌入碳、冷却开销、用水和电子废弃物各自需要不同的杠杆。调度器无法修复制造排放,硬件长寿无法修复碳密集型运行时部署,因此可持续设计始于定位实际主导工作负载的那一项。
碳足迹分析
碳足迹分析将可持续性从一般义务转化为设计约束。它将能源消耗、电网碳强度和生命周期资源需求,与已支配性能和效率的决策联系起来。因此,构建和部署 AI 系统的团队,在能够在更大模型、低功耗硬件、更清洁区域或延期训练中做出选择前,需要一个工作负载级的核算模型。
核算模型之所以重要,是因为它使伦理权衡可审计。追求更大模型可能优先考虑准确性和能力而非能效,当算力增长超过效率增益时,会增加碳排放。为可持续性优化可能引入工程权衡,如额外调优工作、硬件约束或任务相关的准确性变化,因此工程任务是将这些成本与环境效益显性对比。因此,将环境考量融入 AI 系统设计是一项工程义务,通过能量感知训练技术、低功耗硬件设计和碳感知部署策略来体现 (Schwartz 等 2020; Patterson 等 2021)。
可追溯性是可持续性测量与问责之间的技术桥梁。透明度、公平性和问责性构成可持续性约束 (Figure 15.6):透明度差距会掩盖能源和碳成本,公平性失衡会导致危害分配不均,而薄弱的问责性则使资源消耗难以追踪。在本章中,问责性指的是资源声明的可审计性。团队应能够将某个模型版本、训练运行、服务工作负载、地区、能源来源和生命周期估计关联起来,以便能够核实碳和用水声明。
图 15.6:AI 伦理问题:环境正义和 AI 系统中问责问题的四象限布局,涵盖透明度、公平性和可持续性。这些象限明确说明了一个象限中的设计选择(例如,训练数据的不透明性)如何传播到相邻象限的结果中(例如,歧视性预测或不可追踪的资源消耗)。应对这些挑战需要主动的设计选择,优先考虑问责性,同时尽量减少对社会和环境的负面影响。
要使测量能够约束设计,报告的指标必须揭示工作负载级别的成本,而不仅仅是聚合的云规模声明,因为当报告停留在公司总体层面时,这些声明仍然不透明。因此,实践标准是:在整个 AI 生命周期内对资源使用负责,这需要使用与延迟、准确性和可靠性相同的证据链:声明应连接到日志、测量仪、模型版本和部署决策,而不仅仅是单一的可持续性承诺。碳足迹计算通过结合工作负载能耗、设施 PUE、电网碳强度和隐含碳,使该证据链变得明确。
问题:计算训练一个 70B 参数模型的总碳足迹。
变量:2,048 块 H100 GPU,30 天,700 W TDP,机架轮廓支撑功率,PUE 1.12,电网强度 429 g CO[2]/kWh。
计算:加速器功率 = 2,048 × 0.7 kW ≈ 1,433.6 kW。应用 DGX H100 机架轮廓用于主机、内存、网络和转换支持,使 IT 负载提升至 1,971.2 kW;设施功率 = 1,971.2 kW × 1.12 ≈ 2,207.7 kW。能源 = 2,207.7 kW × 24 h/天 × 30 天 ≈ 1,589,575.7 kWh。排放量 ≈ 681.9 吨 CO[2]。
隐含碳:假设制造足迹约为每块 H100 GPU 164 kg CO[2],将 NVIDIA 的 HGX H100 基板产品碳足迹平均分配到其八个 GPU 上 (NVIDIA Corporation 2025)。在 3 年周期中 1 个月窗口内摊销:(2,048 × 164 kg) / 36 ≈ 9.3 吨 CO[2]。
结果:681.9 吨 + 9.3 吨 ≈ 691.3 吨 CO[2]。
系统洞察:在此训练窗口中,运营项占主导地位,但隐含碳并非零。生命周期核算可防止团队将制造排放隐藏在训练预算之外。
将功耗转换为碳排放仅是首个测量挑战。在整个硬件生命周期内进行系统生命周期评估,可揭示碳排放集中的位置以及工程干预措施产生最大回报的位置。
三阶段生命周期评估框架
实际问题是:对于给定的工作负载,哪个生命周期阶段占主导,因为答案决定了优化杠杆。因此,有效的碳足迹测量必须将决定环境影响的三个阶段区分开来。
对于以训练为中心的研究工作负载,训练阶段通常主导运营排放,因为数学优化需要持续的并行计算³⁵⁸。正如 GPT-3 案例研究所示,大语言模型训练运行典型地体现了这种高能耗。地理位置会影响排放:在以水能为主的电网和以煤为主的电网之间移动相同的工作负载,可能会导致碳强度出现十倍的差异³⁵⁹。
对于高吞量生产服务,推理阶段可能主导整个生命周期的排放,因为模型服务在训练运行完成后会持续重复。虽然单次推理所需的计算量少于训练,但其累积影响会随着部署范围和使用频率的增加而放大。为数百万用户提供服务的模型在长期部署期间会产生持续的排放,这些排放可能超过训练成本。
制造阶段会贡献隐含碳,源自硬件生产,包括半导体制造、稀土开采和供应链物流³⁶⁰。对于在碳密集型电网上长期运行的工作负载,其占比较小;但在清洁电网或低利用率硬件上,其可达整个生命周期排放的 30–50%。这一阶段常被忽视,但它代表了与运行效率无关的不可避免的基线排放。
地理和时间优化
碳强度在地理位置和时间周期上存在差异,从而创造了优化机会。时间调度可以通过将 deadline 容忍型工作负载转移到低碳时段或地区来减少排放,其实际收益取决于工作负载的灵活性、电网结构以及调度器是使用平均排放还是边际排放(Patterson, Gonzalez, Le, et al. 2022)。碳意识调度系统可以自动将非紧急的训练作业转移到碳强度较低的地区和时段。
开发时的碳追踪很重要,当它用于指导布局和复杂性决策时,而不仅仅是事后的一份报告。诸如 CarbonTracker (Anthony et al. 2020) 和 CodeCarbon (Schmidt et al. 2021) 之类的工具会包裹工作负载边界,基于硬件计数器或利用模型估算能耗,附加当地电网强度,并将得到的排放与实验元数据一起记录。重要的系统模式不仅在于 API 调用,而在于测量的时机:估计必须在模型大小、训练时长、地区和调度仍可调整的时候出现,即在运行已经消耗其能源之前。
功率建模基础
理解 AI 系统中能量的去向需要立足于数字计算的物理基础。CMOS 功率方程为 reasoning about energy consumption in digital processors 提供了基础,但有用的模型必须提升三个层次:芯片功率解释了为什么电压、精度和活动很重要;优化技术展示了算法如何改变这些变量;以及设施级指标揭示了芯片级节省在冷却和供电开销后是否仍然成立。
274 ↩︎

浙公网安备 33010602011771号