TVM 高效保护隐私 ML

这篇文章描述了Myelin,一个在值得信赖的硬件飞地中保护隐私的机器学习框架,以及TVM如何使Myelin快速。关键的想法是,TVM,不像其它流行的ML框架,将模型编译成轻量级,优化,免费依赖库,可以适应资源有限利用。

尝试创建保护隐私的ML模型!查看 TVM可用的repo示例代码

目的:隐私保护ML

机器学习模型受益于庞大而多样化的数据集。遗憾的是,使用此类数据集通常需要信任集中数据聚合器或计算提供商。对于敏感的应用程序,如医疗保健和金融,这是不可取的,因为可能会损害患者的隐私或泄露商业机密。安全和隐私保护计算(包括可信执行环境差异隐私)的最新进展为相互不信任的各方提供了一种方法,在不影响训练数据的情况下,高效训练机器学习模型。使用TVM快速保护隐私ML框架。

使用案例

  • 私人 MLaaS云提供商在数据上运行架构。获得模型输出,数据保持私密性,云提供商知道无法窃取模型。
  • 值得信赖的ML比赛:训练一个模型的比赛数据。竞赛组织者向模型发送私人测试数据,并获取可验证的准确性报告。模型保持安全,直到组织者决定购买。其他参与者不能通过测试数据训练作弊。
  • 共享私人数据训练:(研究人员)希望对几家医院的数据进行模型训练。直接共享太复杂了。相反,让"受信任的第三方"训练隐私保护模式。
  • 区块链上的ML

背景

受信任的执行环境

受信任的执行环境(TEE) 基本上允许远程用户在不向硬件提供商透露计算的情况下,在人的计算机上强制运行代码。

技术上,TEE 提供了隔离/加密内存和 CPU 寄存器的安全区域;也是一个值得信赖的随机性来源。TEE 还可以发送已加载代码的签名证明,以便远程用户可以验证飞地是否正确加载。这个过程,称为远程证明,可用于建立一个安全的通信通道进入区域。然后,远程用户可以提供私钥、模型参数和训练数据等机密。

安全多平价计算 (MPC)全同构加密 (FHE)等纯加密方法相比,TEE 是几个数量级更快,支持通用计算(即不只是算术操作)。也许唯一的缺点是信任硬件key(将密钥集成到处理器)和加载软件中的附加信任假设。

尽管存在信任假设,TEE 技术正变得越来越普遍,并在实际隐私保护方面发挥着重要作用。事实上,通用TEE已经存在于商品硬件,如英特尔SGXARM信托区。此外,全开源 Keystone enclave即将上路。

差别隐私

差异隐私 (DP)提供了正式的保证,即在类似数据集上训练的模型,在非正式上是无法区分的,用户的隐私不会因为选择向模型贡献数据而受到影响。

换句话说,鉴于算法在两个数据集上的输出仅在单个记录中有所不同,差异隐私上限限制了对手确定哪个数据集的概率。使用为算法输出增加噪音的机制,可以制作 DP 算法。噪声量根据输出取决于任何特定输入的程度进行校准。熟悉假设测试,如果结果 A 和 B 各有概率 0.5,则应用 DP 机制就像与概率分布的汇合:隐私位于误报和假负率中。由于深度学习模型往往概括良好,噪音量往往低于预期。

在 TEE 中运行 DP 训练算法可确保忠实地应用 DP 机制。

使用 TVM 高效保护隐私 ML

使用 TEE 工作的主要挑战之一是,运行在内部的代码无法访问不受信任的操作系统。这意味着受信任的软件无法创建线程或执行 I.O 。实际上结果,像 OpenBLAS 这样的数字库(更不用说像 PyTorch 和 TensorFlow 这样的框架)不能直接在飞地中运行。

TEES 实际上具有与资源约束的硬件加速器类似的编程模型。这正是TVM的用之用!在隐私工作流程中,用户首先用高级图形规范语言定义整个训练图。TVM编译模型并输出包含优化数值内核的静态库,这些内核可以轻松加载到 TEE 中。由于内核是自动生成的,并且具有严格的边界检查,暴露了低表面积的攻击。由轻量级内存安全锈runtime支持,也很容易被审查的安全性和正确性。

当然,安全在实际适用时最有用。幸运的是,飞地中的 TVM 模块具有与基于本地 CPU 的训练类似的性能。通过使用不受信任的runtime协调线程,单个 TVM 飞地可以充分利用其主机的资源。此外,不难想象一个安全参数服务器,协调了整个数据中心飞地的机器。

TVM 也为更细微的隐私保护算法提供更微妙的优化机会。事实上,细粒格的调度功能允许使用差分隐私时加快速度。例如,从剪切每个训练示例的梯度,向每个添加噪音中,可以获得最严格的 DP 界限。在自动完成框架中,这需要转发 minibatch 中每个示例的模型(尽管只需要一个向后传递)。使用 TVM,每个示例的渐变剪切很简单:在批次和功能尺寸上,将每次权重更新,重排为单次减量,而是将减量分为两部分。减少功能后,剪切和noising,然后最终的结果总结的例子,以获得重量更新。因此,TVM 允许应用差异隐私,而无需引入高于技术要求的开销。此外,如果一个人真的想要得到真正的cost,可能融合剪裁和noising操作,应用到位,以进一步削减延迟和内存的使用。

TVM 高效保护隐私 ML的更多相关文章

  1. 保护隐私:清除cookie、禁用cookie确保安全【分享给身边的朋友吧】

    常在网上漂,隐私保不了.ytkah深有体会,某天搜索一个词,然后你就能在一些网站上看到这个词的相关广告,神奇吧?这就是你的浏览器cookie泄露了,或者更严重地说是你的隐私泄露了,可怕吧!搜索引擎通过 ...

  2. PPT分享 | 怎么在区块链上保护隐私?

    艾伯特AI人工智能(公众号:aibbtcom)按: (编者按:在12月3日的亚太区以太坊社区培训和交流Meetup深圳站上,Vitalik作了<怎么在区块链上保护隐私>的演讲,谈到了区块链 ...

  3. Windows系统的高效使用

    1-WIndows10系统的入门使用 2-如何把系统盘的用户文件转移到其他盘 3-Windows装机软件一般有哪些? 4-Windows系统有哪些比较好用的下载器? 5-Windows系统中的播放器 ...

  4. (重要)使用廉价的VPN隐私会被窥探

    使用廉价的VPN可以节省一部分的支出,但是损失的却是我们的网上隐私,很多部门都很关心我们在网上干些什么,本来使用VPN是为了保护自己的隐私不被窥探,很显然这是事与愿违的,一些小公司或者大公司,通过提供 ...

  5. 你知不知道 Cookie正在泄露你的隐私!

    关于电脑上的Cookie,我想很多朋友都还是有所了解的,遇到诸如论坛帐号无法登录此类问题的时候,大家都知道先清除一下IE的Cookie,然后再重新登录就很有可能可以解决问题.然而,即使是最熟悉的东西也 ...

  6. 有关Windows10中诊断和反馈隐私设置

    当你使用 Windows 时,我们将收集诊断信息,为了确保能收到你(我们的客户)的反馈,我们为你提供了多种方式,以便你可以随时发送反馈,也可以在某个特定的时间(例如当 Windows 10 向你提出关 ...

  7. MindSpore:基于本地差分隐私的 Bandit 算法

    摘要:本文将先简单介绍Bandit 问题和本地差分隐私的相关背景,然后介绍基于本地差分隐私的 Bandit 算法,最后通过一个简单的电影推荐场景来验证 LDP LinUCB 算法. Bandit问题是 ...

  8. 技术期刊 · 天光台高未百尺 | Uber 工程师的 JS 算法课;大数据时代的个人隐私;设计师的 Github;告别 PPT 工程师;从零开始实现的像素画

    蒲公英 · JELLY技术期刊 Vol.42 这是一个最好的时代,多样化的平台给了所有人成长发展的机会,各种需求和解决需求的人让人大开眼界:但这也并不是完美的时代,"前端还需要懂什么算法?& ...

  9. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

随机推荐

  1. Unity基础-脚本生命周期

    理解Unity脚本的生命周期对游戏开发很重要,这篇文章对生命周期做一个记录和总结.Unity的脚本生命周期(消息),也就是在脚本运行时,自动并且按顺序执行的一系列函数.在unity官网中有对生命周期详 ...

  2. 服务器安装node全教程

    我的服务器centos,安装node时出了点小麻烦,在这里记述我的方法. 1.进入node下载网站https://nodejs.org/en/download/,这里右键复制下载链接 2.进入cent ...

  3. hdu3338 最大流

    题意:             给你一个N*M的网格,上面有的有一些数字,要求填充数字,满足的规则是这样: 答案不唯一,只要满足和的关系就可以,还有就是只能用1--9之间的数字填充,而且每一行或一列可 ...

  4. hdu4982 暴搜+剪枝(k个数和是n,k-1个数的和是平方数)

    题意:       给你两个数n,k问你是否怎在这样一个序列:      (1)这个序列有k个正整数,且不重复.      (2)这k个数的和是n.      (3)其中有k-1个数的和是一个平方数. ...

  5. Conda基本使用方法

    anaconda/miniconda的安装 请点击查看我的博客 本教程全部命令操作均在CMD(win).terminal(win).终端(linux/Macos)中执行 使用前配置 因为anacond ...

  6. 一起来看看java并发中volatile关键字的神奇之处

    并发编程中的三个概念: 1.原子性 在Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行. 2.可见性 对于可见性,Java提供了volati ...

  7. 谷歌浏览器安装Vue.js devtools

    第一步:访问谷歌商店 在之前的博客中已经谈到了这一点的实现方式 https://www.cnblogs.com/10134dz/p/13552777.html 第二步:下载Vue.js devtool ...

  8. 本地jar包安装Maven本地仓库

    下载jar包 如果本地存在,可以忽略. 本地安装命令 mvn install:install-file -Dfile=D:\Environment\Java\JDK\lib\tools.jar -Dg ...

  9. PowerDesigner安装教程

    准备安装 准备好可执行文件.汉化.破解文件 将可执行文件以管理员身份运行: 向导初始化 next 选香港.点同意: 可以默认,如果说这个路径不能用下次就换一个 除了Eclipse全选 全选 好像有个空 ...

  10. java之I/O流

    I/O流的使用情况多种多样,首先它的数据源就可能是文件.控制台.服务器等,它的单位可能是按字节.按字符.按行等.为了涵盖所有的可能,java类库中创建了大量的类,如此多的类让我们在使用时感觉有点难以选 ...