使机器学习模型具有差异隐私性:最佳实践和开放挑战

d7d3a8bb4d35c0f28cea17840680e89b.png

大型机器学习 (ML) 模型在现代应用中无处不在:从垃圾邮件过滤器到推荐系统和虚拟助手。这些模型之所以能取得如此出色的表现,部分原因在于拥有丰富的可用训练数据。然而,这些数据有时可能包含私人信息,包括个人身份信息、版权材料等。因此,保护训练数据的隐私对于实际应用的 ML 至关重要。

差分隐私(DP) 是最广泛接受的技术之一,它允许以正式方式推理数据匿名化。在 ML 模型的背景下,DP 可以保证每个用户的贡献不会导致模型有显著差异。模型的隐私保证由一个元组 ( ε , δ ) 来表征,其中两者的值越小,DP 保证越强,隐私性越好。

虽然有使用差分隐私保护训练数据的成功案例,但使用差分隐私 ML (DP-ML) 技术获得良好效用可能具有挑战性。首先,固有的隐私/计算权衡可能会限制模型的效用。此外,DP-ML 模型通常需要架构和超参数调整,而如何有效做到这一点的指南有限或难以找到。最后,不严格的隐私报告使得比较和选择最佳 DP 方法变得具有挑战性。

在《人工智能研究杂志》上发表的 “如何将 DP-fy ML:具有差异隐私的机器学习实用指南”中,我们讨论了 DP-ML 研究的现状。我们概述了获取 DP-ML 模型的常用技术,并讨论了研究、工程挑战、缓解技术和当前悬而未决的问题。我们将在ICML 2023和KDD 2023上展示基于这项工作的教程。

DP-ML 方法

可以在 ML 模型开发过程中的三个地方引入 DP:(1) 在输入数据级别,(2) 在训练期间,或 (3) 在推理时。每个选项都在 ML 开发过程的不同阶段提供隐私保护,最弱的是当 DP 引入预测级别时,最强的是当 DP 引入输入级别时。使输入数据具有差异隐私意味着任何在该数据上训练的模型也将具有 DP 保证。在训练期间引入 DP 时,只有该特定模型才具有 DP 保证。在预测级别使用 DP 意味着只有模型的预测受到保护,但模型本身不是差异隐私的。

引入 DP 的任务从左到右变得越来越容易。

DP 通常在训练(DP-training)期间引入。梯度噪声注入方法(如DP-SGD或DP-FTRL)及其扩展是目前在大型深度神经网络等复杂模型中实现 DP 保证的最实用方法。

DP-SGD 在随机梯度下降(SGD) 优化器的基础上进行了两处修改:(1) 将每个示例的梯度剪裁到某个范数以限制敏感度(单个示例对整体模型的影响),这是一个缓慢且计算密集的过程,(2) 通过获取聚合梯度并添加与敏感度和隐私保证强度成比例的噪声来形成噪声梯度更新。

DP-SGD 是 SGD 的一种修改,它涉及 a) 剪切每个示例的梯度以限制敏感度;b) 在梯度更新步骤之前,将根据敏感度和隐私保证进行校准的噪声添加到聚合梯度中。

现有的DP训练挑战

梯度噪声注入方法通常表现出:(1)效用损失,(2)训练速度变慢,(3)内存占用增加。

效用丧失:

减少效用下降的最佳方法是使用更多计算。使用更大的批量大小和/或更多迭代是提高模型性能最突出和最实用的方法之一。超参数调整也非常重要,但经常被忽视。DP 训练模型的效用对添加的噪声总量很敏感,这取决于超参数,例如裁剪范数和批量大小。此外,应重新调整其他超参数(例如学习率)以考虑嘈杂的梯度更新。

另一种选择是获取更多数据或使用类似分布的公共数据。这可以通过利用公开可用的检查点(如ResNet或T5)并使用私有数据对其进行微调来实现。

训练速度较慢:

大多数梯度噪声注入方法通过剪切每个示例的梯度来限制灵敏度,从而大大减慢了反向传播的速度。这可以通过选择一个高效的DP框架来解决,该框架可以有效地实现每个示例的剪切。

增加内存占用:

DP 训练需要大量内存来计算和存储每个示例的梯度。此外,它需要大得多的批次才能获得更好的效用。增加计算资源(例如,加速器的数量和大小)是解决额外内存需求的最简单方法。或者,一些 研究提倡梯度累积,其中在应用梯度更新之前将较小的批次组合起来以模拟较大的批次。此外,一些算法(例如,基于本文的ghost clipping)完全避免了每个示例的梯度裁剪。

最佳实践

以下最佳实践可以通过最佳模型效用实现严格的 DP 保证。

选择正确的隐私单元:

首先,我们应该清楚模型的隐私保障。这是通过选择“隐私单元”来编码的,它代表相邻数据集概念(即只有一行不同的数据集)。示例级保护是研究文献中的常见选择,但如果单个用户向训练数据集贡献了多条记录,则对于用户生成的数据来说可能并不理想。对于这种情况,用户级保护可能更合适。对于文本和序列数据,单元的选择更难,因为在大多数应用中,单个训练示例与文本中嵌入的语义不一致。

选择隐私保障:

我们概述了三个广泛的隐私保障层级,并鼓励从业者选择以下最低的层级:

第 1 层——强大的隐私保证:选择ε ≤ 1 可以提供强大的隐私保证,但通常会导致大型模型的效用显著下降,因此可能仅适用于较小的模型。

第 2 层——合理的隐私保障:我们提倡目前尚未记录但仍被广泛使用的 DP-ML 模型目标,以达到ε ≤ 10。

第 3 级 — 隐私保障较弱:任何有限的ε都比没有正式隐私保障的模型有所改进。但是,对于ε > 10,仅 DP 保障不能作为数据匿名化的充分证据,可能需要采取其他措施(例如,实证隐私审计)来确保模型保护用户数据。

超参数调整:

选择超参数需要优化三个相互依赖的目标:1)模型效用,2)隐私成本ε,3)计算成本。常见策略将其中两个作为约束,并专注于优化第三个。我们提供的方法可以在有限的试验次数内最大化效用,例如,在隐私和计算约束下进行调整。

报告隐私保证:

许多关于机器学习的DP的研究仅报告了训练过程中的ε值和可能的δ值。然而,我们认为从业者应该提供模型保证的全面概述,其中包括:

DP 设置:结果是否假设具有可信服务提供商的中央 DP、本地 DP或其他设置?

实例化DP定义:

涵盖的数据访问: DP 保证是否(仅)适用于单次训练运行或也涵盖超参数调整等。

最终机制的输出:隐私保障涵盖的内容,可以公开发布(例如模型检查点、私有化梯度的完整序列等)

隐私单元:所选的“隐私单元”(示例级别、用户级别等)

DP“相邻”数据集的邻接定义:相邻数据集如何不同的描述(例如,添加或删除、替换一、零出一)。

隐私核算细节:提供核算细节,例如组成和扩增,对于方法之间的正确比较非常重要,应包括:

使用的会计类型,例如基于Rényi DP的会计、PLD 会计等。

会计假设及其是否成立(例如,为了隐私放大假设泊松抽样,但在训练中使用了数据混洗)。

模型和调整过程的正式 DP 声明(例如,特定的ε、δ -DP 或ρ-zCDP值)。

透明度和可验证性:在可能的情况下,使用标准 DP 库为关键机制实现和会计组件提供完整的开源代码。

注意使用的所有组件:

通常,DP 训练是 DP-SGD 或其他算法的直接应用。然而,应该检查 ML 模型中经常使用的一些组件或损失(例如,对比损失、图神经网络层),以确保隐私保证不受侵犯。

未解决的问题

虽然 DP-ML 是一个活跃的研究领域,但我们强调了还有待改进的广泛领域。

开发更好的会计方法:

我们目前对 DP 训练ε、δ 保证的理解 依赖于多种技术,例如 Rényi DP 组合和隐私放大。我们相信,对现有算法更好的核算方法将证明 ML 模型的 DP 保证实际上比预期的要好。

开发更好的算法:

使用梯度噪声注入进行 DP 训练的计算负担来自于需要使用更大的批次并限制每个示例的敏感度。开发可以使用较小批次的方法或找到其他方法(除每个示例裁剪之外)来限制敏感度将是 DP-ML 的突破。

更好的优化技术:

直接应用相同的 DP-SGD 配方被认为对于自适应优化器而言并非最优,因为为私有化梯度而添加的噪声可能会在学习率计算中累积。设计理论上可行的 DP 自适应优化器仍然是一个活跃的研究课题。另一个潜在方向是更好地理解 DP 损失的表面,因为对于标准(非 DP)ML 模型,更平坦的区域已被证明具有更好的泛化能力 。

识别对噪声更鲁棒的架构:

我们有机会更好地了解在引入 DP 时是否需要调整现有模型的架构。

结论

我们的调查论文总结了当前与使 ML 模型 DP 相关的研究,并提供了有关如何实现最佳隐私效用权衡的实用技巧。我们希望这项工作能够为想要有效地将 DP 应用于复杂 ML 模型的从业者提供参考点。

致谢

我们感谢 Hussein Hazimeh、Zheng Xu、Carson Denison、H. Brendan McMahan、Sergei Vassilvitskii、Steve Chien 和 Abhradeep Thakurta、Badih Ghazi、Chiyuan Zhang 帮助准备这篇博文、论文和教程内容。感谢 John Guilyard 为本文制作图形,感谢 Ravi Kumar 提供评论。


版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论