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. hdu3793 判断对称(水题)

    题意:       给你一个串,问你这个串是不是关于某个字母对称的,这个串是一个首位相接的圆. 思路:       水题,直接枚举每一个为对称点试一下就行了,不解释了. #include<std ...

  2. Heap Spray原理浅析

    Heap Spray定义基本描述 Heap Spray并没有一个官方的正式定义,毕竟这是漏洞攻击技术的一部分.但是我们可以根据它的特点自己来简单总结一下.Heap Spray是在shellcode的前 ...

  3. Android Apk加固的初步实现思路(dex整体加固)

    一.前 言 Android Apk加固的发展已经有一段时间了,相对来说本篇博客要记录的Android加壳的实现思路是4年的东西了,已经被老鸟玩烂了,Android加固的安全厂商也不会采用这么粗犷的方式 ...

  4. Windows 10 系统进入测试模式命令

    首先需要开启测试模式,内容如下: @bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS @bcdedit -set TESTSIGNING ON 取消 ...

  5. Python 图片转字符图

    pip install Image argparse pillow from PIL import Image import argparse #命令行输入参数处理 parser = argparse ...

  6. Win10安装MySQL5和MySQL8

    1. 下载数据库,配置环境变量 因为是安装两个MySQL数据库,端口号要不一样,MySQL默认端口号是3306,建议先配置非默认端口号,以免出现问题 1.1 官网下载5.7和8.0的压缩包 我下载的是 ...

  7. DevEco Device Tool 2.1 Beta1在Hi3861开发板上可视化分析的体验

    DevEco Device Tool迎来了2.1 Beta1,新版本有很多亮点.在上次"DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验 ...

  8. opencv——图像遍历以及像素操作

    摘要 我们在图像处理时经常会用到遍历图像像素点的方式,在OpenCV中一般有四种图像遍历的方式,在这里我们通过像素变换的点操作来实现对图像亮度和对比度的调整. 补充: 图像变换可以看成 像素变换--点 ...

  9. 一文解决MySQL时区相关问题

    前言: 在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误.时区不是东八区.程序取得的时间和数据库存储的时间不一致等等问题.其实,这些问题都与数据库时区设置有关,本篇文章将从数据库 ...

  10. [bug] C:error: initializer element is not constant

    参考 http://codingdict.com/questions/45121