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

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

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



6 实践运行

6.1 图像分类

在多台服务器上部署不同分布式节点的情况下,可以通过修改Docker容器中/image_classifification/目录下的train.py训练脚本来配置分布式节点IP地址:

tf.app.flflags.DEFINE_string("ps_hosts", "['localhost:60002']", "ps hosts")
tf.app.flflags.DEFINE_string("worker_hosts", "['localhost:61002','localhost:61003']", "worker hosts")

并在修改后重新编译应用:

cd /image_classifification
./test-sgx.sh make

编译过程中会生成MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN。

配置Docker容器中/image_classifification/下的dynamic_confifig.json文件,填入待通信方节点在编译应用阶段生成的MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN的值,如:

{
 "verify_mr_enclave" : "on",
 "verify_mr_signer" : "on",
 "verify_isv_prod_id" : "on",
 "verify_isv_svn" : "on",
 "sgx_mrs": [
 {
 "mr_enclave" : "1e4f3efafac6038dadaa94fdd248b93c82ae9f0a16642ffff4bb07afe442aac
 56e",
 "mr_signer" : "5add213ac35413033647621e2fab91edcc8b82f840426803feb8a603be2ce
 8d4",
 "isv_prod_id" : "0",
 "isv_svn" : "0"
 }
 ]
}

修改完成后,在每个容器中运行相应的作业脚本。

./test-sgx.sh <ps0/worker0/worker1>

您可以从终端查看训练过程中的日志信息,以确认训练在正常进行。训练过程中生成的模型文件将保存在model文件夹中,其中变量值的相关信息存放在参与方 ps0 的 model/model.ckpt-data 中,计算图结构的相关信息存放在参与方 worker0 的 model/model.ckpt-meta 中。

6.2 推荐系统

在多台服务器上部署不同分布式节点的情况下,可以通过修改Docker容器中 /ecommendation_system/目录下的 ps0.py、worker0.py、worker1.py、worker2.py、worker3.py 训练脚本来配置分布式节点IP地址:

tf.app.flflags.DEFINE_string("ps_hosts", "['localhost:70002']", "ps hosts")
tf.app.flflags.DEFINE_string("worker_hosts", "['localhost:71002','localhost:71003','localhost:
71004','locaxlhost:71005']", "worker hosts")

并在修改后重新编译应用

cd /recommendation_system
./test-sgx.sh make

编译过程中会生成MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN。

配置Docker容器中 /recommendation_system/ 目录下的 dynamic_confifig.json 文件,填入待通信方节点在编译应用阶段生成的MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN的值,如:

{
 "verify_mr_enclave" : "on",
 "verify_mr_signer" : "on",
 "verify_isv_prod_id" : "on",
 "verify_isv_svn" : "on",
 "sgx_mrs": [
 {
 "mr_enclave" : "8b302bbf37ce27f82a3aa95b7daffffe4b104e1faeb05e566dc8ded6ab0435
 9684",
 "mr_signer" : "5add213ac35413033647621e2fab91edcc8b82f840426803feb8a603be2ce
 8d4",
 "isv_prod_id" : "0",
 "isv_svn" : "0"
 }
 ]
}

worker节点仅需要与ps节点通信,因此只需要配置一组校验值。ps节点需要与所有worker节点通信,因此可能需要配置多组校验值。

修改完成后,在每个容器中运行相应的作业脚本。

./test-sgx.sh <ps0/worker0/worker1/worker2/worker3>

您可以从终端查看训练过程中的日志信息,以确认训练在正常进行。训练过程中生成的模型文件将保存在model文件夹中,其中变量值的相关信息存放在参与方ps0的model/model.ckpt-data中,计算图结构的相关信息存放在参与方worker0的model/model.ckpt-meta中。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
运维 Cloud Native 云计算
云原生技术:探索未来计算的无限可能
【10月更文挑战第8天】 云原生技术,作为云计算领域的一次革新性突破,正引领着企业数字化转型的新浪潮。它不仅重塑了应用的构建、部署和运行方式,还通过极致的弹性、敏捷性和可扩展性,解锁了未来计算的无限潜力。本文将深入浅出地解析云原生技术的核心理念、关键技术组件及其在不同行业中的实际应用案例,展现其如何赋能业务创新,加速企业的云化之旅。
70 7
|
2月前
|
Kubernetes 监控 Cloud Native
云原生时代下的应用开发与部署实践
【10月更文挑战第4天】在云原生的浪潮中,开发者和运维人员面临着新的挑战和机遇。本文将通过实际案例,展示如何在云平台上高效地开发、部署和管理应用,同时确保系统的可扩展性和高可用性。我们将深入探讨容器化技术、微服务架构以及持续集成/持续部署(CI/CD)流程的实施策略,旨在为读者提供一套完整的云原生解决方案框架。
|
3月前
|
运维 Kubernetes Cloud Native
云原生时代下,如何高效构建与部署微服务
【9月更文挑战第8天】随着云计算技术的飞速发展,云原生已成为现代软件架构的重要趋势。本文将深入浅出地介绍云原生概念、微服务架构的优势以及如何在云平台上高效构建和部署微服务。我们将通过实际的代码示例,展示在Kubernetes集群上部署一个简单的微服务应用的过程,帮助读者理解云原生环境下的微服务开发和运维实践。
|
19天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
1月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
48 5
|
1月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
44 3
|
1月前
|
消息中间件 监控 Cloud Native
云原生架构下的数据一致性挑战与解决方案####
在数字化转型加速的今天,云原生架构以其轻量级、弹性伸缩和高可用性成为企业IT架构的首选。然而,在享受其带来的灵活性的同时,数据一致性问题成为了不可忽视的挑战。本文探讨了云原生环境中数据一致性的复杂性,分析了导致数据不一致的根本原因,并提出了几种有效的解决策略,旨在为开发者和企业提供实践指南,确保在动态变化的云环境中保持数据的完整性和准确性。 ####
|
1月前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
2月前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。