带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow横向联邦学习(1)

简介: 带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow横向联邦学习(1)

部署TensorFlow横向联邦学习


1概述


本文介绍在Intel® SGX使能的平台,基于Anolis OS部署TensorFlow横向联邦学习。


2背景信息

横向联邦学习是一种分布式的机器学习模型训练方案,该方案联合多个参与方在数据不出域的前提下完成模型的训练,保证了数据安全。

Intel® SGX (Software Guard Extension) 技术,提供了SGX加密计算能力,打造了基于硬件级别的更高安全等级的可信机密环境,保障关键代码和数据的机密性与完整性不受恶意软件的破坏。

本实践为开发者使用Anolis OS提供了参考实现,您可以通过本文获取以下信息:

• 对基于SGX加密技术实现的端到端的全数据生命周期安全方案有整体了解。

• 对于使用Anolis OS的开发者,可直接参照本实践部署和开发脚本。

• 为使用安全增强型云服务器SGX开发者提供可行性参考框架和脚本,开发者可根据本实践步骤快速了解安全增强型裸金属云服务器及环境搭建部署流程,轻松上手使用。


3实践架构

1685079304901.png

本实践涉及了两种参与方:参数服务器端(parameter server)和客户端(worker)。

• 参数服务器端:存放模型参数,并利用客户端发来的梯度信息更新本地参数。

• 客户端:利用本地数据集,完成神经网络的前向传播和反向传播,并通过服务器端获取最新的模型参数。

说明:为了方便开发者部署,本实践将上述两种参与方部署在同一台云服务器中。

本实践使用到的主要组件:

• LibOS:Gramine是一款轻量级LibOS,结合Intel SGX加密保护技术,提供了内核能力定制,运行资源消耗少,具备非常好的ABI兼容性,极大降低了原生应用移植到SGX环境的成本,做到了应用程序不修改或者极少

的修改便能运行在SGX环境中。更多信息,请参考Gramine。

• TensorFlow训练框架:TensorFlow是Google开源的机器学习平台,本实践采用TensorFlow的分布式训练框架作为横向联邦学习的训练框架。更多信息,请参考TensorFlow官网。

• Docker容器引擎:为了方便部署推理,本实践将三个参与方运行在Docker容器中,通过Docker的命令方式运行推理服务。

本实践架构说明: Anolis OS SGX端需要向Intel证书缓存服务(Provisioning Certifificate Caching Service,PCCS)获取PCK(Provisioning Certifification Key)证书。Intel SGX拥有一个密钥用于Enclave签名,该密钥对于处理器或者平台是唯一的,密钥的公开部分就是PCK公钥。另外客户端也会向PCCS获取一些信息,比如TCB信息、Quote Enclave认证的信息、CRL信息等用于对SGX Enclave的认证。

训练阶段可以分为以下几个步骤:

① 利用SGX平台,参与方运行在不同的Enclave中。

② 客户端根据其Enclave环境中的本地数据计算梯度信息。

③ 客户端通过RA-TLS向参数服务器发送梯度。

④ 参数服务器进行梯度聚合,计算并更新全局模型参数。

⑤ 参数服务器将模型参数发送给客户端。

⑥ 客户端更新局部模型参数。

训练过程中会不断重复步骤②-⑥ 。由于客户端和参数服务器运行在内存加密的Enclave环境中,同时RA-TLS通信方案保证了传输过程中的数据安全,因此该方案可以保证在完整的训练周期中的数据安全。


4 实践任务和配置

本实践提供图像分类和推荐系统两种训练任务类型。图像分类任务采用cifar-10数据集训练ResNet网络。推荐系统任务采用开源广告点击率数据集训练DLRM网络。

本实践的环境配置如下:

• 服务器配置:

I) 图像分类任务:单个节点加密内存:8G

II) 推荐系统任务:单个节点加密内存:32G

• 操作系统: anolisos:8.4-x86_64

• SGX软件栈

• Docker




《云原生机密计算最佳实践白皮书》——07解决方案——Intel Confidential Computing Zoo: Intel机密计算开源解决方案——部署TensorFlow横向联邦学习(2) https://developer.aliyun.com/article/1230779?groupCode=aliyun_linux

相关文章
|
4天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署home-page个人导航页
【5月更文挑战第4天】云原生之使用Docker部署home-page个人导航页
18 1
|
1天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署homer静态主页
【5月更文挑战第7天】云原生之使用Docker部署homer静态主页
9 0
|
2天前
|
监控 Cloud Native 测试技术
云原生之使用Docker部署ServerBee服务器监控工具
【5月更文挑战第6天】云原生之使用Docker部署ServerBee服务器监控工具
11 1
|
5天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构的未来:如何优化资源管理和服务部署
【5月更文挑战第6天】 随着云计算的快速发展,云原生技术已成为企业数字化转型的关键驱动力。此篇文章深入探讨了云原生架构的核心组件及其在资源管理和服务部署方面的优化策略。通过分析容器化、微服务及自动化管理的实践案例,本文旨在为读者提供一套系统的方法论,以利用云原生技术实现更高效、灵活且可靠的IT基础设施。
25 2
|
6天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署Nas-Cab个人NAS平台
【5月更文挑战第2天】云原生之使用Docker部署Nas-Cab个人NAS平台
97 1
|
7天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署RSS阅读器Huntly
【5月更文挑战第1天】云原生之使用Docker部署RSS阅读器Huntly
40 4
|
16天前
|
Cloud Native Devops 持续交付
云原生技术:重塑现代应用开发与部署
【4月更文挑战第25天】 在数字化转型的浪潮中,企业亟需灵活、高效的应用开发与部署方式以应对市场的快速变化。云原生技术以其独特的设计理念和架构模式,成为推动这一变革的关键力量。本文深入探讨了云原生的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps文化,并分析了这些技术如何协同工作以提高企业的敏捷性和竞争力。
|
27天前
|
存储 监控 Cloud Native
云原生之使用Docker部署webos私有云盘
通过以上步骤,你可以在云原生环境中使用Docker部署webOS私有云盘,实现高可用、弹性扩展和简化部署等优势。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
23 4
|
1月前
|
弹性计算 监控 Cloud Native
云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测
通过MSE(微服务引擎)、SAE(Serverless应用引擎)、ARMS(应用监控服务)、PTS(性能测试服务)等产品,实现微服务的无服务化部署、监控和弹性伸缩。
|
3月前
|
IDE Cloud Native 开发工具
云原生之在Docker环境下部署Atheos云IDE平台
【2月更文挑战第3天】云原生之在Docker环境下部署Atheos云IDE平台
377 2