- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
2. 使用Analytics Zoo在Intel SGX上构建隐私保护机器学习
史栋杰,英特尔资深软件架构师。多年从事企业级计算、风控、大数据分析、云计算容器编排、数据分析与人工智能领域的研发,英特尔开源框架 BigDL 与 Analytics Zoo 的贡献者之一。
展开查看详情
1 .使用Analytics-Zoo在 Intel SGX上构建隐私保 护机器学习 英特尔® SGX和Analytics-Zoo 赋能隐私保护机器学 习 史栋杰 龚奇源 英特尔 英特尔 资深架构师 资深架构师
2 .PART 1 机器学习中的隐私保护需求 2
3 .隐私保护现状 § 隐私保护需求 § 用户/个人的基本需求 § 合规要求: § 国外:GDPR,CCPA等 § 国内:网络安全法,数据安全法(9月1日生效),个人信息保护法(11月1日生效)等 § 痛点 § 对现有应用(大数据、深度/机器学习)的冲击 § 数据孤岛 3
4 .大数据 AI应用的现状 获取 / 存储 清洗 / 准备 分析 / 建模 部署 / 可视化 集成的数据流水线 4
5 .PART 2 Intel® SGX 5
6 .英特尔软件 防护扩展(Intel SGX) 英特尔软件防护扩展是目前被广泛测试、研究和部 署的可信执行环境(TEE),实现系统中相对最小被攻 击面 内存足够大的飞地现在可以满足主流工作负载对内 存的需求(最大可达1TB内存空间) 英特尔软件防护扩展以及其他基于硬件的安全技术 实现了对敏感数据领域中硬件级别的隐私保护,同 时兼顾了性能体验 6
7 . 隐私和安全技术现状 指标 好 坏 安全性 HE MPC TEE DP 明文 性能 明文 DP TEE MPC HE 可用性 明文 TEE HE MPC DP 分类 现状 • 可信执行环境 TEE (Trust Execution Environment) • TEE (e.g., SGX) 在各项指标上都有明显优势 • 同态加密 HE (Homomorphic Encryption) • MPC & HE会遇到性能问题 • 差分隐私 DP (Differential privacy) • DP 会影响模型精度 • 安全多方计算 MPC (Multi-party computation) 7
8 .SGX生态的新玩法- LibOS帮助应用无缝迁移 应用 • 易用性:只需简单的配置,即可让应用程序 TensorFlow Analytics-Zoo Spark 无缝运行在SGX中 (无需重新开发/编译应 Language C++/Python/Java/R/OneDNN 用) • 安全性:继承了SGX的安全性 Lib OS Language Graphene SGX-LKL SGX SDK Intel SGX and more Lib OS 8
9 .SGX LibOS - Occlum Language and more Occlum https://github.com/occlum/occlum 基于Rust开发:内存安全 轻量级LibOS: 高性能 完整的SGX生态支持 9
10 .PART 3 Analytics Zoo PPML 10
11 .使用Analytics Zoo构建端到端的大数据 AI 应用 端到端大数据 AI 应用流水线 数据导入 特征处理 训练 推理 11
12 .开源软件平台 统一的分析+人工智能平台 基于Apache Spark*的高性能 集成TensorFlow*, Keras*, PyTorch* 深度学习框架 Ray*, BigDL, OpenVINO, Apache Spark* & Flink* https://github.com/intel-analytics/bigdl https://github.com/intel-analytics/analytics-zoo 大数据上的人工智能 12
13 . 端到端大数据分析和人工智能 从笔记本电脑到分布式大数据的无缝扩展 在笔记本电脑上使用 在集群上使用历史数 在分布式生产环境中部署 样本数据构建原型 据运行模型试验 大数据 流水线 •高效开发端到端的大数据 AI 应用流水线 •“零”代码变更实现从笔记本电脑原型到分布式群集部署 •无缝部署到生产 Hadoop/K8s 群集上 •使用机器学习将大数据 AI 开发的流程自动化 13
14 .Analytics Zoo: 统一的大数据分析+人工智能平台 模型和应用 (Built-in models and algorithms) 自动化工作流 (Automate tasks for building end-to-end pipelines) 端到端流水线 (Seamlessly scale AI models to distributed Big Data) 笔记本电脑 K8s 群集 Hadoop 集群 云环境 计算平台 深度学习框架 分布式数据分析 Python 库 (TF/PyTorch/BigDL/OpenVINO/…) (Spark/Flink/Ray/…) (Numpy/Pandas/sklearn/…) Powered by oneAPI https://github.com/intel-analytics/analytics-zoo 14
15 .Analytics Zoo:开源大数据 AI 软件平台 应用 推荐 时间序列 计算机视觉 自然语言处理 Zouwu 基于AutoML的大规模时间序列分析流水线 Friesian 基于自动化机器学习的大规模推荐流水线 PPML 基于SGX的大数据和机器学习隐私计算 Orca 大数据平台上的分布式深度学习流水线 笔记本电脑 K8s 群集 Hadoop 群集 云环境 计算平台 分布式数据分析 Python 库 深度学习框架 (TF/PyTorch/BigDL/OpenVINO/…) (Spark/Flink/Ray/…) (Numpy/Pandas/sklearn/…) Powered by oneAPI https://github.com/intel-analytics/analytics-zoo 15
16 . 基于SGX的大数据和机器学习隐私计算 应用 云 金融 5G … 可信的大数据AI平台 • 可信的大数据分析平台 Analytics Zoo • 可信的机器学习平台 安全可信的 端到端大数据流水线 … 可信的联邦学习平台 大数据AI和 • 横向联邦学习 Secure Gradient 联邦学习 Secure Secure Vertical Federated & Parameter • 纵向联邦学习 Access Alignment Learning Algorithm Sync LibOS Secure Libraries Trusted Execution 安全技术 (Graphene, (HE, DP, MPC, Environment (SGX) Occlum, etc.) Crypto, etc. ) 16
17 . 可信的大数据AI平台 Trusted Cluster Environment for Big Data AINode Driver Worker Node Worke Worke PPML r Node r Node DataFram ... e, SQL, … RDD ... ... Distributed Data Lake / File System Warehouse K8S, Cloud, Spark, YARN, etc. § Compute / memory protected by SGX § Network protected by TLS and remote attestation § Storage (e.g., data and model) protected by encryption § User request / response protected by TLS and encryption https://analytics-zoo.readthedocs.io/en/latest/doc/PPML/Overview/ppml.html 17
18 .可信的大数据AI平台 § 大数据应用 § Apache Spark (SparkSQL, PySpark) § Apache Flink § 大数据AI应用 § 训练:SparkMLlib, BigDL, TensorFlow on Spark, XGBoost on Spark等 § 推理:Cluster Serving (Flink) 18
19 .可信的大数据AI平台 – Apache Spark Client Apache Spark in SGX • Spark Master/Worker in SGX Spark Master • Spark Jobs in SGX • Client in SGX (可选) • TLS enabled Spark Worker Spark Worker • Spark Standalone HDFS HDFS • Spark on Kubernetes SGX enclave 特点 • 只需要变资源管理和启动方式 • 对现有应用无冲击 • 不影响其他框架 19
20 .分布式TensorFlow on Spark #pyspark code train_rdd = spark.hadoopFile(…).map(…) dataset = TFDataset.from_rdd(train_rdd,…) #tensorflow code import tensorflow as tf slim = tf.contrib.slim images, labels = dataset.tensors with slim.arg_scope(lenet.lenet_arg_scope()): logits, end_points = lenet.lenet(images, …) loss = tf.reduce_mean(tf.losses.sparse_softmax_cross_entropy( \ logits=logits, labels=labels)) #distributed training on Spark optimizer = TFOptimizer.from_loss(loss, Adam(…)) optimizer.optimize(end_trigger=MaxEpoch(5)) Analytics Zoo API in blue 20
21 .可信的端到端、分布式模型部署 Intel SGX 输入数据 Inference Engine model 预测结果 模型 安全的、端到端推理流水线 § 所有计算组件都通过Occlum运行在SGX enclaves中 § 加密数据在 SGX中才会被解密和计算 § 加密模型加载 21
22 .为深度学习插上机密计算的翅膀 蚂蚁集团和英特尔打造端到端Privacy Preserving Machine Learning解决方案 英特尔SGX 2.0和 英特尔DL Boost技术 基于Analytics Zoo的 端到端大数据AI的PPML架构 Occlum LibOS提供了 为基于SGX的端到端分 端到端PPML解决方案, 可信硬件执行环境,兼 布式安全深度学习负载 为蚂蚁集团提供了数据 得数据安全和高性能计 提供了200%的性能加速 安全隐私保护的大数据 Privacy Preserving 算 AI平台 Machine Learning能 够充分保护机器学习 /深度学习中的用户 数据和模型,在金 英特尔®开源的Analytics Zoo提供了统一的大数据和AI计算平台,实现了 端 融,医疗,推荐等诸 到端的Privacy Preserving Machine Learning解决方案 多应用有广泛需求。 基于英特尔SGX 英特尔® oneAPI Deep Neural Network Library (oneDNN) 通过 2.0,蚂蚁集团的 Intel® DL Boost技术加速深度学习工作负载的性能 Occlum和英特尔开源 的Analytics Zoo实 蚂蚁集团开源的 Occlum提供了基于Intel® SGX的内存安全,支持多进 现的大数据AI安全计 程的Library OS, 支持运行深度学习工作负载 算平台可以构建端到 软件栈(从上到下依次)包括: 端,分布式的高性能 • 应用负载 PPML应用。 • 端到端大数据AI平台 英特尔® DL • 计算框架 • 安全特性 英特尔® SGX Boost https://www.intel.com/content/dam/www/central-libraries/us/en/documents/alibaba-ppml-ai-blog-pdf.pdf
23 . 3rd Gen Intel® Xeon® Scalable Processor Ant Group Privacy Preserving Machine Learning Analytics Zoo PPML Inference Application At a Glance Pipeline Performance • Secure & distributed inference solution build with Analytics Zoo, protected by Intel® SGX 250% 2.0 and Occlum, and accelerated by Intel® DL Intel Architecture + Adjacencies Boost • 3rd Gen Intel® Xeon® Scalable Processor 200% 200% Benefit • The end-to-end distributed inference pipeline Feature Enabling 150% is protected by Intel® SGX 2.0 and Occlum • Intel® SGX 2.0 113% (backed by Ant Group) • Intel® DL Boost (Int8) 100% 100% • 2.1X better inference throughput using Intel® DL Boost with Int8 compared to fp32 Intel Software Tools/Libraries 50% Performance Drivers • Analytics Zoo • Intel® DL Boost with Int8 • oneAPI Deep Neural Network Library 0% • oneAPI Deep Neural Network Library (oneDNN) … … … by l® l® te te ed In In t ec by by ot ed ed pr t t ec ec ot ot ot N Pr Pr 23
24 .真实的大规模落地-Apache Flink 极客挑战赛 § 大规模:上百个带SGX功能的云上实例 (ECS+K8S方式部署) § 端到端:所有训练和推理组件都通过Occlum运行在SGX enclaves中 § 数据保护:加密数据在 SGX中才会被解密和计算 24
25 .Intel SGX助力联邦学习- 打破数据孤岛 可信第三方 • 保护可信第三方 联合模型 Cloud SGX § 安全的执行环境 § 无代码更改 安全聚合 • 保护参与方 § 安全的执行环境 § 无代码更改 SGX • 基于SGX的认证机制 模型 A 模型 B 模型 N § 可被验证的运行环境(签鉴) § 可被验证的应用 本地数据 A 本地数据 B 本地数据 N 参与方A 参与方B 参与方N 25
26 .可信的联邦学习平台 – 纵向联邦学习 Cloud Analytics-Zoo FL Server Partial output Partial gradient TLS Analytics-Zoo Analytics-Zoo Analytics-Zoo Workers Workers Workers Data (column1) Data (column2) Data (columnn) SGX enclave 26
27 .纵向联邦学习 -- XGBoost 纵向切分的数据 FL Server A1 • 参与方特征不同 • 只有一方有label B1 A2 纵向联邦建模 gradient gradient • 数据不上传 local predict/split encrypted label • 共同寻找最优分裂 ID A1 A2 An ID B1 B2 Bn label • 和集中式XGBoost同精 1 XX XX XX 1 XX XX XX XX 度 2 XX XX XX 2 XX XX XX XX 4 XX XX XX 3 XX XX XX XX Party Party A B SGX enclave 27
28 .纵向联邦学习 -- XGBoost Analytics-Zoo Analytics-Zoo Workers FL Server ID & Feature align with PSI ID & Feature align with PSI Pre-Processing local data Init VFL Service • Sorting with index • Missing value etc • Upload encrypted label Tree Boost (One Iteration) Tree Boost (One Iteration) • Download gradients (g&h) • Find best local split (with g&h) • Upload local split • Aggregate local split and choose best • Download best split Tree Eval (One Iteration) Tree Eval (One Iteration) • Upload tree leaves • Store tree leaves • Upload local tmp predict • Aggregate predict • Update gradient (g&h) & loss with predict 28
29 .