共计 3243 个字符,预计需要花费 9 分钟才能阅读完成。
机器学习(ML)和深度学习(DL)在泛滥实在的利用场景中愈发重要。这些模型应用已知数据进行训练,并部署在图像分类、内容举荐等场景中进行新数据的解决。总体而言,数据越多,ML/DL 模型就越欠缺。但囤积和解决海量数据也带来了隐衷、平安和监管等危险。
隐衷爱护机器学习(PPML)有助于化解这些危险。其采纳加密技术差分隐衷、硬件技术等,旨在解决机器学习工作的同时爱护敏感用户数据和训练模型的隐衷。
在英特尔® 软件防护扩大(英特尔® SGX)和蚂蚁团体用于英特尔® SGX 的内存平安多过程用户态操作系统 Occlum 的根底上,蚂蚁团体与英特尔单干搭建了 PPML 平台。在本篇博客中,咱们将介绍这项运行在 Analytics Zoo 上的解决方案,并展现该解决方案在第三代英特尔® 至强® 可扩大处理器上失去英特尔® 深度学习减速(英特尔® DL Boost)技术助力时的性能劣势。
英特尔® SGX 是英特尔的受信赖执行环境(TEE),它提供基于硬件的内存加密,隔离内存中的特定利用代码和数据。英特尔® SGX 使得用户层代码能够分配内存中的受爱护区域,即“飞地”,这些区域不受更高权限等级程序运行的任何影响(如图一所示)。
图一 通过英特尔® SGX 增强防护
与同态加密和差分隐衷相比,英特尔® SGX 在操作系统、驱动、BIOS、虚拟机管理器或系统管理模型已瘫痪的状况下仍可帮忙进攻软件攻打。因而,英特尔® SGX 在攻击者齐全管制平台的状况下仍可加强对隐衷数据和密钥的爱护。第三代英特尔® 至强® 可扩大处理器可使 CPU 受信赖内存区域减少到 512GB,使得英特尔® SGX 技术可能为隐衷爱护机器学习解决方案打下松软的根底。
2014 年正式成立的蚂蚁团体服务于超 10 亿用户,是寰球当先的金融科技企业之一。蚂蚁团体始终积极探索隐衷爱护机器学习畛域,并发动了开源我的项目 Occlum。Occlum 是用于英特尔® SGX 的内存平安多过程用户态操作系统(LibOS)。应用 Occlum 后,机器学习工作负载等只需批改极少量(甚至无需批改)源代码即可在英特尔® SGX 上运行,以高度通明的形式爱护了用户数据的机密性和完整性。用于英特尔® SGX 的 Occlum 架构如图二所示。
图二 用于英特尔® SGX 的 Occlum 架构(图片起源:Occlum · GitHub)
Analytics Zoo 赋能端到端 PPML 解决方案
Analytics Zoo 是面向基于 Apache Spark、Flink 和 Ray 的分布式 TensorFlow、Keras 和 PyTorch 的对立的大数据分析和人工智能平台。应用 Analytics Zoo 后,剖析框架、ML/DL 框架和 Python 库能够在 Occlum LibOS 以受爱护的形式作为一个整体运行。此外,Analytics Zoo 还提供平安数据拜访、平安梯度与参数治理等安全性性能,赋能联邦学习等隐衷爱护机器学习用例。端到端 Analytics Zoo PPML 解决方案如图三所示。
图三 端到端 PPML 解决方案为金融服务、医疗卫生、云服务等应用领域提供平安分布式计算
在 Analytics Zoo PPML 平台上,蚂蚁团体与英特尔独特打造了一个更加平安的分布式端到端推理服务流水线(如图四所示)。
该流水线采纳 Analytics Zoo Cluster Serving 打造,后者是轻量级分布式实时服务解决方案,反对多种深度学习模型,包含 TensorFlow、PyTorch、Caffe、BigDL 和 OpenVINOTM。
Analytics Zoo Cluster Serving 包含 web 前端、内存数据结构存储 Redis、推理引擎(如面向英特尔® 架构优化的 TensorFlow 或 OpenVINO™ 工具套件),以及分布式流解决框架(如 Apache Flink)。
推理引擎和流解决框架在 Occlum 和英特尔® SGX“飞地”上运行。web 前端和 Redis 受到传输层平安(TLS)协定加密,因而推理流水线中的数据(包含用户数据和模型)在存储、传输、应用的过程中都受到更多地爱护。
图四 推理服务流水线
共创美好未来:英特尔® DL Boost 减速端到端 PPML 解决方案
1. 该解决方案执行如下端到端推理流水线:
RESTful http API 接管用户输出,Analytics Zoo pub/sub API 将用户输出转化成输出队列,并由 Redis 治理。用户数据受加密爱护。
2.Analytics Zoo 从输出队列中抓取数据。它在分布式流解决框架(如 Apache Flink)上采纳推理引擎进行推理。英特尔® SGX 应用 Occlum 来爱护推理引擎和分布式流解决框架。英特尔® oneAPI 深度神经网络库(oneDNN)利用反对 Int8 指令集的英特尔® DL Boost 进步分布式推理流水线的性能。
3.Analytics Zoo 从分布式环境中收集推理输入,并送回到由 Redis 治理的输入队列。随后,解决方案应用 RESTful http API 将推理后果作为预测返回给用户。输入队列中的数据和 http 通信内容都被加密。
性能剖析
Analytics Zoo PPML 解决方案的性能进行了验证。
表一 测试配置
图五为测试后果。与不受英特尔® SGX 爱护的推理流水线相比,当推理解决方案受到英特尔® SGX 爱护,ResNet50 推理流水线的吞吐量会有少许损失。而采纳反对 INT8 指令集的英特尔® DL Boost 后,受英特尔® SGX 爱护的推理流水线吞吐量翻了一番。
图五 英特尔® SGX、英特尔® DL Boost 和第三代英特尔® 至强® 可扩大处理器提供高性能平安能力
基于英特尔® SGX 打造的 Analytics Zoo PPML 解决方案继承了受信赖执行环境(TEE)的长处。和其它数据安全解决方案相比,它的安全性和数据效用性非常突出,性能方面仅略逊于纯文本。英特尔® DL Boost 和英特尔® oneDNN 则进一步晋升了 Analytics Zoo PPML 推理解决方案的性能。表二总结了该解决方案(TEE)绝对于同态加密(HE)、差分隐衷(DP)、平安多方计算(MPC)和纯文本的劣势。
表二 Analytics Zoo PPML 解决方案(TEE)与其余计划的比拟
总结
在日益简单的法律和监管环境中,对于企业和组织来说,爱护客户数据隐衷比以往任何时候都更加重要。在隐衷爱护机器学习的助力下,企业和组织就能在持续摸索弱小的人工智能技术的同时,面对大量敏感数据处理升高安全性危险。
Analytics Zoo 隐衷爱护机器学习解决方案基于 Occlum、英特尔® SGX、英特尔® DL Boost 和 Analytics Zoo 打造,为助力确保数据的安全性和大数据人工智能工作负载性能提供了平台解决方案。蚂蚁团体和英特尔独特打造并验证了这一 PPML 解决方案,并将持续单干摸索人工智能和数据安全性畛域的最佳实际。
测试配置
系统配置 :2 节点,双路英特尔® 至强® 铂金 8369B 处理器,每路 32 外围,超线程开启,睿频开启,总内存 1024 GB(16 个插槽 / 64GB/ 3200 MHz),EPC 512GB,SGX DCAP 驱动程序 1.36.2,微代码: 0x8d05a260,Ubuntu 18.04.4 LTS,4.15.0-112-generic 内核,英特尔截至 2021 年 3 月 20 日的测试。
软件配置 :LibOS Occlum 0.19.1,Flink 1.10.1,Redis 0.6.9,OpenJDK 11.0.10,Python 3.6.9.
工作负载配置 :模型:Resnet50,深度学习框架:Analytics Zoo 0.9.0,OpenVINOTM 2020R2,数据集:Imagenet,BS=16/ 实例,16 个实例 / 双路,数据类型:FP32/INT8.
所有性能数据均为实验室环境下测试所得。
本周举荐浏览
- 蚂蚁云原生利用运行时的摸索和实际 – ArchSummit 上海
- 带你走进云原生技术:云原生凋谢运维体系摸索和实际
- 稳定性大幅度晋升:SOFARegistry v6 新个性介绍
- 金融级能力成外围竞争力,服务网格驱动企业翻新
更多文章请扫码关注“金融级分布式架构”公众号