0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Facebook开源Opacus:用于差分隐私的PyTorch库

电子设计 来源:电子设计 作者:电子设计 2020-12-15 00:47 次阅读

Opacus 是 Facebook AI 更为广泛努力的一部分,旨在推动用于机器学习和负责任的人工智能安全计算技术。总的来说,这是一个重要的踏脚石,使该领域在未来转向隐私优先的系统。日前,Opacus 已开源发布。

差分隐私(Differential privacy,DP)是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。读者可以查看这篇由 InfoQ 中文站翻译的文章《差分隐私简介》,以了解基本概念。

机器学习算法一般是用大量数据更新模型参数,学习数据特征。在理想情况下,这些算法学习到一些泛化性较好的模型,例如 “吸烟患者更容易得肺癌”,而不是特定的个体特征,例如 “张三是个吸烟者,患有肺癌”。然而,机器学习算法并不会区分通用特征还是个体特征。当我们用机器学习来完成某个重要任务,例如肺癌诊断,发布的机器学习模型可能在无意中透露训练集中的个体特征,恶意攻击者可能从发布的模型获得关于张三的隐私信息,因此使用差分隐私技术来保护机器学习模型是十分必要的。

通常,差分隐私需要在将原始数据输入本地机器学习模型之前,将少量噪声注入原始数据,从而使恶意攻击者难以从训练的模型中提取出原始文件。如果一个观察者观察算法的输出,无法判断它在计算中是否使用了某个特定个体的信息,那么这个算法就可以被认为是差分隐私的。

为了解决这一问题,日前,Facebook 发布并开源了Opacus,这是一个新的高速库,用于训练具有差分隐私的 PyTorch 模型,比现有的最先进方法更具可扩展性。差分隐私是一个数学上严谨的框架,用于量化敏感数据的匿名化。人们对机器学习社区的兴趣越来越浓厚,它经常被用于分析。随着 Opacus 的发布,Facebook 希望能为研究人员和工程师在机器学习中采用差分隐私提供一条更简单的路径,并加速该领域的差分隐私研究。

Opacus 地址

Opacus 提供了如下特征:

速度:通过利用 PyTorch 中的 Autograd 钩子,Opacus 可以计算经过批处理的每个样本梯度,与现有的依赖微批处理的 DP 库相比,速度提高了一个数量级。

安全性:Opacus 为安全关键代码使用了一个 密码安全、伪随机、GPU 加速的数字数生成器。

灵活性:多亏了 PyTorch,工程师和研究人员可以通过将 Facebook 的代码与 PyTorch 代码和纯 Python 代码混合匹配,从而快速构建他们的想法原型。

生产力:Opacus 提供了教程、辅助函数(可以在你的训练开始之前警告不兼容的层),以及自动重构机制。

交互性:Opacus 可以跟踪你在任何给定时间点上的隐私预算(差分隐私中的核心数学概念),从而实现提前停止和实时监控。

Opacus 通过引入 PrivacyEngine 抽象定义了一个轻量级 API,它负责跟踪隐私预算和处理模型的梯度。你不需要直接调用它进行操作,因为它连接到标准的 PyTorch 优化器上。它在幕后工作,使得使用 Opacus 进行训练就像在你的训练代码的开头添加这些代码行一样容易:

model = Net()
optimizer = torch.optim.SGD(model.parameters(), lr=0.05)
privacy_engine = PrivacyEngine(
model,
batch_size=32,
sample_size=len(train_loader.dataset),
alphas=range(2,32),
noise_multiplier=1.3,
max_grad_norm=1.0,
)
privacy_engine.attach(optimizer)
# That's it! Now it's business as usual

经过训练,得到的是一个标准的 PyTorch 模型,没有部署私有模型的额外步骤或障碍:如果今天可以部署一个模型,那么你就可以在用差分隐私训练后部署它,无需更改任何一行代码。

Opacus 库还包括预训练和微调的模型、针对大型模型的教程,以及为隐私研究实验设计的基础设置。它是开源的【地址】

利用 Opacus 实现高速隐私训练

Facebook 表示,他们使用 Opacus 的目的是保护每个训练样本的隐私,同时限制对最终模型正确率的影响。Opacus 通过修改标准 PyTorch 优化器来实现这一目标,以便在训练期间执行(和测量)查分意思。更具体地说,他们的方法以差分隐私随机梯度下降(Differentially private stochastic gradient descent,DP-SGD)为中心

这个算法背后的核心思想是,可以通过干预模型用来更新权重的参数梯度,而不是直接干预数据,从而保护训练数据集的隐私。通过在每次迭代中想梯度添加噪声,人们就可以防止模型记忆其训练实例,同时仍然可以进行融合学习。在训练过程中看到的许多批处理中,(无偏的)噪声将自然地趋于抵消。

这种每个样本的计算是构建 Opacus 的最大障碍之一。与使用 PyTorch 的典型操作相比,它更具挑战性,因为在 PyTorch 中,Autograd计算整个批处理的梯度张量,因为这对于所有其他机器学习用例都是有意义的,并且它对性能进行了优化。为克服这一问题,Facebook 使用了一种有效的技术,在训练标准神经网络时获得所有需要的梯度向量。对于模型参数,则单独返回给定批处理中每个示例的损失梯度,例如:

通过在运行层时跟踪一些中间量,人们可以使用适合内存的任何批处理大小进行训练,这使得 Facebook 的方法与其他软件包中使用的替代微批处理方法相比,速度提高了一个数量级。

隐私保护机器学习的重要性

安全社区鼓励安全关键代码的开发者使用少量经过仔细审核和专业维护的库。这种“不要自己搞安全方案”原则有助于最大限度地减少攻击面,让应用开发人员专注于他们最擅长的事情:构建伟大的产品。随着机器学习的应用和研究不断加速,对于机器学习研究人员来说,在不减慢训练过程的前提下,获得简单易用的工具,以获得数学上严格的隐私保证是非常重要的。

Facebook 希望通过开发像 Opacus 这样的 PyTorch 工具,使此类隐私保护资源的访问更加民主化。Facebook 正在通过使用 PyTorch 的更快速、更灵活的平台,弥合安全社区和普通机器学习工程师之间的鸿沟。

建立社区

过去几年,隐私保护机器学习(Privacy-preserving machine learning,PPML)社区发展迅速。Facebook 表示他们对围绕 Opacus 形成的生态系统感到兴奋,这个生态系统由 PPML 的领导者组成。

OpenMined 是 Facebook 的主要贡献者之一,它是一个由数千名开发者组成的社区,他们在开发应用时考虑到了隐私问题。OpenMined 社区已经为 CrypTen 做出了贡献,并利用 PyTorch 的许多构件来支持 PySyft 和 PyGrid 的差分隐私和联合学习。作为合作的一部分,Opacus 将成为 PySyft 等 OpenMined 库的依赖。

Facebook 期待继续合作,进一步发展社区。

文章来源:AI前线 ,作者Davide Testuggine、Ilya Mironov

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1777

    文章

    43920

    浏览量

    230660
  • 开源
    +关注

    关注

    3

    文章

    2991

    浏览量

    41724
  • pytorch
    +关注

    关注

    2

    文章

    764

    浏览量

    12837
收藏 人收藏

    评论

    相关推荐

    苹果音箱月产大跌 Facebook智能音箱延至10月

      导读:亚马逊公司的Echo智能音箱,被称为苹果手机发售以来科技行业最重大发明,全世界几乎所有的大型科技公司都模仿亚马逊推出了智能音箱。据外媒最新消息,Facebook隐私泄露丑闻影响到了该公司
    发表于 04-25 09:30

    十大Python机器学习常用

    学习这些框架,高效开发。这些应用程序可在浏览器和移动设备中使用。6. PyFluxPyFlux 是专门针对时间序列开发的 Python 开源。时间序列研究是统计学和经济学的子领域,其目的是用于描述时间
    发表于 05-02 16:37

    Facebook智能音箱可能先在国际市场推出 隐私问题受到关注

      导读:据外媒报道,据知情人士称,Facebook正考虑在国际市场上率先推出其智能音箱产品,以避免因数据隐私问题在美国遭到公开审查。此外,这两款智能音箱将内置一款语音助手,它使用的基础技术与公司在
    发表于 05-09 09:29

    美国智能音箱Facebook信任度垫底

    ]  调查发现,在美国市场六个智能家居品牌中,Facebook是人们在个人数据和家庭安全方面最不信任的智能硬件品牌。据了解,Facebook隐私方面有些“前科”,该公司因数据泄露曾受到抨击,黑客可以从近
    发表于 01-25 09:27

    怎么将FPGA内部终端用于输入?

    = 350 mV共模= 1.25 V.我需要将这些引脚连接到FPGA。我想将FPGA内部终端用于输入。我的问题是:1)我应该将引脚连接到HP或HR吗?2)连接到ADC的银行的Vc
    发表于 03-23 09:58

    通过Cortex来非常方便的部署PyTorch模型

    ,Hugging Face 生成的广泛流行的自然语言处理(NLP),是建立在 PyTorch 上的。Selene,生物前沿 ML ,建在 PyTorch 上。CrypTen,这个热
    发表于 11-01 15:25

    刺激区块链广告技术的竟然是Facebook隐私问题?

    近期,Facebook与剑桥分析(Cambridge Analytica)的隐私泄露风波不禁让所有Facebook用户以及使用个人数据发布广告的各大互联网公司不寒而栗。
    发表于 04-16 15:47 902次阅读

    Facebook为解决用户隐私将推出删讯息功能

    近日 Facebook 为解决隐私问题,还提出了一项方案,将可能让付费用户能删除其发出的讯息,不过有专家表示,此举将可能被滥用。 据《Business Insider 》报导指出,这样的新功能将可能令 Facebook 平台成为
    的头像 发表于 06-18 08:04 1754次阅读

    Facebook致力AI开源PyTorch 1.0 AI框架

    Facebook近日宣布,将于近期开源PyTorch 1.0 AI框架,据悉,该框架是PyTorch与Caffe 2的结合,可以让开发者无需迁移就从研究转为生产。
    的头像 发表于 05-08 14:58 3213次阅读

    Facebook致力AI 开源PyTorch1.0 AI框架

    导读: Facebook近日宣布,将于近期开源PyTorch 1.0 AI框架,据悉,该框架是PyTorch与Caffe 2的结合,可以让开发者无需迁移就从研究转为生产。
    的头像 发表于 06-18 10:30 2941次阅读

    Facebook、谷歌和微软的隐私弹出窗暗藏用户隐私入侵风险

    据外媒消息,一项来自挪威Norway watchdog 集团的研究发现Facebook和谷歌这样的公司正在推动用户被动选择不利于自身隐私保护选项。 这些公司会强调他们的产品符合GDPR的要求,同时
    发表于 06-28 04:29 749次阅读

    Facebook发布的Pytorch 1.0和新开源的围棋AI项目

    ,它能被用于通过ONNX导出模型。而Pytorch 1.0的变化在于你可以在C++运行过程中就直接执行追踪,而不需要到别处。C++运行期间,Pytorch 1.0将集成Caffe2提供的所有优化和硬件集成。
    的头像 发表于 07-02 08:52 4323次阅读

    Facebook宣布发布深度学习框架 PyTorch 1.0开发者预览版

    为了满足这些需求,Google Cloud 也将为其众多服务引入 PyTorch 支持。Facebook 在宣布这一消息的博客文章中称,Google 与 Facebook 合作在为 PyTor
    的头像 发表于 10-08 14:36 2974次阅读

    Facebook与CMU联手打造开源框架PyRobot

    Facebook AI近期对机器人技术非常热衷,刚刚又开源了机器人框架PyRobot,该框架是与卡内基梅隆大学合作创建,可运行由Facebook的机器学习框架PyTorch训练的深度学
    发表于 06-24 15:14 3693次阅读

    深度学习框架pytorch入门与实践

    的。PyTorch是一个开源的深度学习框架,在深度学习领域得到了广泛应用。本文将介绍PyTorch框架的基本知识、核心概念以及如何在实践中使用PyTorch框架。 一、
    的头像 发表于 08-17 16:03 1206次阅读