题图摄于深圳大沙河生态长廊
本文作者为 VMware 中国研发中心主任解决方案架构师。
如今,人工智能 (AI) 已经被大量的组织和企业使用,其业务使用量还在快速增长中。数据给AI带来了蓬勃发展的盛况,然而全球数据布局却越显孤立,合法合规进行数据收集的格局对传统的集中式训练提出了挑战。为了应对以上挑战,其中一个可行的技术方案是联邦学习,目前该技术已成为企业之间合作解决孤立数据问题的范式,它解决了数据隐私和数据治理的关键问题。
FATE(Federated AI Technology Enabler)是工业级的联邦学习框架,它支持联邦学习架构和安全计算各种机器学习算法,包括逻辑回归、基于树的算法、深度学习和迁移学习。
KubeFATE 利用云计算交付模型的优势,在数据中心或多云环境中的 Kubernetes 上提供、编排、操作和管理基于 FATE 的联邦学习系统。
联邦学习允许多个组织或公司建立全局机器学习模型,而不会泄露任何原始数据。在保护隐私和安全的情况下,各个参与方的数据共同训练模型,因此数据所有者可以共享更高质量的模型。
在此解决方案中,我们为企业基础设施管理员和应用程序开发者提供部署过程、架构设计和调优指导以及最佳实践,以便在云平台上更好地运行 KubeFATE。
“
为何要在VMware Cloud Foundation with Tanzu上部署KubeFATE?
VMware Cloud Foundation™ with VMware Tanzu™ 加速 KubeFATE 的部署,支持计算、存储、网络的定制和管理。通过自动化的部署和管理多个工作负载,提高了管理员的工作效率,同时降低了总体 TCO,从而提供了通往混合云的捷径。
以下是在 VMware Cloud Foundation with Tanzu 部署和把 KubeFATE 运行在 Tanzu 上的 4 大优势。
全栈融合
VMware Cloud Foundation with Tanzu软件堆栈是自动化和完整的生命周期管理,大大降低了风险,提高了IT的运营效率。Tanzu Kubernetes Cluster的部署与VMware vSphere® SDDC 完全集成,包括存储、网络和身份验证。
多云和混合云统一的操作和基础架构
VMware Cloud Foundation with Tanzu是真正的混合云解决方案,它提供了边缘、私有和公有云工作负载部署,从而保持网络和拓扑的灵活性。它允许企业构建、运行、管理、连接和保护任何云或云上的任何应用,并具有完全一致的使用体验。
安全
FATE将各种安全协议(包括同态加密、秘密共享、RSA和 Diffie-Hellman)简化为不同的算法,以通过安全、审核和法律的要求。与此同时,由于各方数据均存储在本地,确保数据隐私和遵守法律法规,并且不会向外部泄露数据。各方只有在建模和推理过程中处理本地数据后,才能与加密的中间结果进行交互,从算法设计、加密算法强度和通信安全等方面确保各方的信息安全。
自动端到端生命周期管理
KubeFATE 通过容器以及自动化的方式去进行联邦学习集群的生命周期管理,最大限度地减少错误和升级期间对联邦学习工作负载的影响和停机时间。
“
如何部署?
VMware Cloud Foundation with Tanzu 通过与 VMware Tanzu Kubernetes 集成,自动执行 Kubernetes 集群的全栈部署和操作,从而轻松建立底层 vSphere 基础架构、设置 NSX 和 NSX Edge 集群。启用工作负载管理后,我们可以轻松启用 Tanzu Kubernetes 集群。
图1. VMware Cloud Foundation KubeFATE 的架构
图1显示了在 VMware Cloud Foundation with Tanzu上建立的两方 KubeFATE 集群的架构。在每个组织中,我们部署了一个由管理域和工作负载域组成的 VMware Cloud Foundation实例。4 节点管理域群集承载多个管理虚拟机和设备。对于工作负载域,我们创建了另一个支持工作负载管理的 4 节点集群,并部署好了 Tanzu Kubernetes集群 。我们在每个参与方Tanzu Kubernetes 集群的命名空间中部署了联邦学习集群(FLC),并在某一方的另一个命名空间中部署了Exchange服务。以此类推,我们可以在每一方使用组织2同构的组件跨区域部署多方的KubeFATE集群。
如图2显示,KubeFATE集群包括三个组件:
● KubeFATE 服务,用于部署和管理一个或多个 FLC。
● 一个或多个 FLC 来运行联邦学习工作负载。FLC是包含以下组件的FATE集群:
FATE Flow服务,以调度和管理联邦学习负载
MySQL服务以存储元数据
Nginx/Pulsar服务,以在不同的FLC之间同步工作状态和数据
Jupyter Notebook服务,以供用户构建和运行联邦学习作业
FATE Board服务用于可视化联邦学习工作负载状态
Spark Cluster用于运行实际联邦学习工作负载
HDFS存储训练用的数据集和中间结果
● 用于管理 FLC 之间连接信息的Exchange服务(可选)。Exchange服务可部署在Kubernetes或隔离区。
图2. KubeFATE组件
“
解决方案及主要成果
此解决方案验证展示了用 VMware Cloud Foundation with Tanzu 在完全集成的 SDDC 环境中运营和管理 KubeFATE联邦学习平台, 主要成果可归纳如下:
部署实例的快速指南:部署多方KubeFATE集群的网络配置和多方联网验证。
运行一个联邦学习工作负载:展示如何在联邦学习工作流程使用集成的Jupyter Notebook,FATE Board的工作管理,模型评估和预测。我们使用 Kaggle (https://www.kaggle.com/mlg-ulb/creditcardfraud)数据集作为例子。
弹性恢复测试:证明解决方案的可用性与弹性恢复,以保证 KubeFATE 在磁盘和主机故障等情况下的服务连续性和稳定性。
最佳实践:提供最佳实践以部署基础设施,同时提供CPU、内存、存储、网络和带宽等资源规划指导以针对特定规模的工作负载。
用例:对纵向联邦学习和横向联邦学习的广泛使用案例进行探讨。
VMware Cloud Foundation with Tanzu 使基础设施的创建和维护变得自动化,使开发人员能够专注于应用的开发和部署,同时赋予了基础设施团队多策略、更集中和更多可视化地去运营其全球云基础设施。开发人员可以很方便地使用他们熟悉的 Kubenetes CLI 和 API 来消费如 Kubernetes 集群、磁盘和网络等资源。而系统管理员则可以通过 vCenter 服务器来大规模地管理系统,以适应现代化联邦学习的要求。
KubeFATE 通过 VMware Cloud Foundation with Tanzu 简化了联邦学习系统的部署和管理。KubeFATE 使 VMware 的合作伙伴和客户能够按需创建和管理工业级的联邦学习集群,并根据业务需求运行工作负载。
KubeFATE: https://github.com/FederatedAI/KubeFATE
FATE: https://github.com/FederatedAI/FATE
更多详细信息,请点击“阅读原文”参阅 KubeFATE on VMware Cloud Foundation with Tanzu 中文参考架构。
关注“亨利笔记”公众号,后台回复 kubefate,可以加入联邦学习开源项目 KubeFATE 交流群。
相关信息:
要想了解云原生、机器学习和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。