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. 473. Matchsticks to Square

    Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match ...

  2. JEET W1S运动蓝牙耳机简评

    对于我这种喜欢运动的人来说,很早之前就一直想买个运动蓝牙耳机了.这次正好有此机会可以评测来自JEET的W1S运动蓝牙耳机,真的是非常的幸运! 终于,在期盼中,我的来自深圳的快递隔了四天终于到了!JEE ...

  3. Windows核心编程 第三章 内核对象

    第3章内核对象 在介绍Windows API的时候,首先要讲述内核对象以及它们的句柄.本章将要介绍一些比较抽象的概念,在此并不讨论某个特定内核对象的特性,相反只是介绍适用于所有内核对象的特性. 首先介 ...

  4. 0803-PyTorch的Debug指南

    0803-PyTorch的Debug指南 目录 一.ipdb 介绍 二.ipdb 的使用 三.在 PyTorch 中 Debug 四. 通过PyTorch实现项目中容易遇到的问题 五.第八章总结 py ...

  5. java8中的日期和时间API

    一.背景 jdk 1.8 之前, Java 时间使用java.util.Date 和 java.util.Calendar 类. Date today = new Date(); System.out ...

  6. Nacos使用 MySQL 8.0 提示Public Key Retrieval is not allowed

    原因如下(参考官网给出的连接选项): 如果用户使用了 sha256_password 认证,密码在传输过程中必须使用 TLS 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥:可以在连 ...

  7. 序列化-Hessian

    引用官网介绍: Hessian is a dynamically-typed, binary serialization and Web Services protocol designed for ...

  8. BUA软件工程个人博客作业

    写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 个人博客作业 课程目标 培养软件开发能力 本作业对实现目标的具体作用 阅读教材,了解软件工程,并比较各 ...

  9. Pytorch实现对卷积的可插拔reparameterization

    需要实现对卷积层的重参数化reparameterization 但是代码里卷积前weight并没有hook,很难在原本的卷积类上用pure oo的方式实现 目前的解决方案是继承原本的卷积,挂载一个we ...

  10. DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)

    1. 引言 2. 配置数据库链接 3. 引入数据库驱动 4. 手动初始化数据库 5. 改写SQL 6. 其他 7. 参考 1. 引言 DataGear默认使用Derby数据库作为系统的元数据库,至于待 ...