作者:张倩
为训练数据建一个TB级计算「飞地」,联邦学习的靠谱实现方式了解一下?
2017 年,著名杂志《经济学人》发表封面文章称,数据已经取代石油成为当今世界最有价值的资源。在那之后,「数据是新时代的『石油』」这一说法逐渐深入人心。
图源:https://twitter.com/theeconomist/status/860135249552003073
五年后的今天,人们对数据的重视又上了一个新的台阶,尤其是在 AI 领域。大家普遍认为,数据的质量和规模将对 AI 的研究和落地产生重要影响。
在质量方面,吴恩达等学者提出,AI 领域正经历从「以模型为中心」到「以数据为中心」的转变。他认为,「对于很多行业来说,现在更有效率的做法是保持神经网络体系架构不变,转而寻找改进数据的方法」。为了帮助机构提升数据质量,吴恩达所在的 Landing.AI 等公司正在构建一些实用的工具。
在规模方面,AI 大厂掀起的大模型暴力美学依然占据主流,人们依然希望借助大数据、大算力探索深度学习的天花板。不过,与大模型需要的海量数据相比,单个机构所能处理的数据往往是不充分的:一是数据量不够大,二是数据的维度和来源不够丰富。为了解决这些问题,越来越多的机构开始走向多方联合的道路,希望借助多方的合力训练出更精准的 AI 模型,让数据在流通中发挥应有的价值。
不过,受限于法律法规、政策监管、商业机密、个人隐私等数据隐私安全上的约束,多个数据来源方无法直接交换数据,这就形成了「数据孤岛」现象,制约着 AI 模型能力的进一步提高。受此需求驱动,联邦学习应运而生。
联邦学习的核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于多方数据下的全局模型,从而实现「数据可用不可见」、「数据不动模型动」。
和 2016 年谷歌刚刚提出这一概念时不同,联邦学习如今已经有了很多具体的实现路径,既有基于软件的,也有基于硬件的。其中,基于硬件的路径——主要是 TEE(Trusted Execution Environment,可信执行环境)——由于可支持多层次、高复杂度的算法逻辑实现以及运算效率高等优势而受到广大企业的青睐,落地速度也在不断加快,尤其在医疗、金融等数据安全要求较高的行业。
基于 TEE 的医疗科研多方安全计算平台
首先来说医疗行业。AI + 医疗是一个发展较早的细分领域,但直到今天,Geoffrey Hinton 2016 年的预言——AI 将取代放射科医生——依然没有实现。在种种阻碍因素中,医疗领域的数据聚合是一个绕不开的难题,包括患者生命体征信息、疾病信息、影像检验报告、互联网诊疗记录、药品使用等各种不能离开医院的基础数据。
近几年,采用 TEE 方案的联邦学习方法在各医疗科研机构的实践中收获了良好的效果,它可以为「使用中」(即处于计算或处理中)的数据提供保护,与其他针对静态数据和传输中的数据的保护方法一起,为数据流动与共享「护航」。
三种状态下的数据保护
为了保护这些使用中的数据,TEE 会在硬件中为它们单独分配一块隔离的内存区域,所有相关数据的计算均在这块区域中进行,并且除了经过授权的接口外,硬件中的其他部分均不能访问这块隔离的内存中的信息,以此来实现隐私计算。
与一般的分布式机器学习或深度学习方案相比,联邦学习方法可以为医疗科研增添以下优势:
如果这种联邦学习方法或方案能再加上一个前缀——「基于 TEE」,那么它还会收获更多强化功能,例如它可以通过硬件环境上的隔离,使安全保护机制独立于软件应用、操作系统或硬件配置之外,使其保护的对象可以更好地应对来自硬件驱动程序、虚拟机乃至操作系统的攻击。再如,它的用途,不仅仅是可以提供数据运行态全链路的保护,来确保数据中的机密、隐私和完整性得到更强的防护,它还能对指定的应用程序或算法的代码进行同样可靠的防护;又如,它还拥有更完备的远程鉴权能力,能让相关数据和密钥的传递更为可靠;最后,相比那些非硬件加速支持的联邦学习及多方隐私计算方案,有 TEE 加持的方案,往往在兼顾安全防护能力和提升数据处理性能上有更好的表现。
正是这些优势,给了众多医疗科研机构选择基于 TEE 构建自己的联邦学习系统的理由。
以多年来一直深耕医疗 AI 与大数据技术创新的医渡云为例,这家公司基于联邦学习等隐私计算方法打造了一个多方安全计算解决方案, 自下而上包含面向院内外业务系统的数据采集系统、进行数据加工治理的专病库以及开展多方隐私计算的安全计算平台等几个部分,其中的多方安全计算平台也支持 TEE 方式进行构建。
医渡云多方安全计算解决方案整体架构
而且,他们采用的是实现 TEE 的一种主流技术——英特尔® 软件防护扩展(Intel® Software Guard Extensions,英特尔® SGX)。
英特尔® SGX技术实际作用示意图
在工作时,SGX 技术会给相关数据分配一块隔离区域,也叫「飞地(Enclave)」。我们可以把它理解成一个隔离医院,但能入驻这个医院的并不是已经被感染的患者,而是那些健康群体,即需要受到严密保护的应用代码或关键数据。SGX 技术能在 CPU 的支持下,在内存等特定硬件环境中构建出这样一个飞地,让各医疗科研机构的数据分析、模型训练及推理所涉及的数据都运行在各自的飞地中,并通过访问控制为这些应用代码和数据提供更可信赖的安全保障。
这种飞地独立于操作系统、虚拟机以及 BIOS 系统之外,也就是说,即便一些比你的应用程序更底层的基础软件或系统在恶意攻击中沦陷,飞地也可以通过基于硬件的、增强型的安全防护更有效地阻断这些攻击,尽力避免其中的数据或代码被窃取或篡改。
那么,这个「飞地」有多大呢?这和你要使用的英特尔处理器的种类及型号有关。医渡云解决方案使用的是英特尔去年发布的面向单路和双路服务器的第三代至强® 可扩展处理器,它已经全面内置 SGX 技术,可在双路服务器上实现最大容量为 1TB 的保留加密内存区域(Enclave Page Cache,EPC,单颗处理器最高支持 512GB),这对于医疗科研机构进一步扩展 AI 模型训练与推理的数据规模至关重要。
不过,如果你以为医渡云的方案仅仅是要借 SGX 技术来实现更大、更强的安全「飞地」的话,那就是小看了全新至强® 可扩展处理器在 AI 实践中的价值了——它除内置有 SGX 技术外,还有来自英特尔® 高级矢量扩展 512(英特尔® AVX-512)技术和英特尔® 深度学习加速(英特尔® DL Boost)技术的加成,也可在兼顾更优安全能力的同时,为医渡云方案涉及的复杂计算需求提供有力支撑。
因此这款处理器在医渡云的多方安全计算解决方案中同时发挥着加固安全与提升性能的双重价值。正是得益于它带来的综合优势,医渡云已经开始支持多家医院和医疗科研机构开发一系列基于该方案的联合研究项目,同时也通过了中国信息通信研究院在隐私保护计算技术上的两项认证——《基于多方安全计算的数据流通产品技术要求与测试方法》及《基于联邦学习的数据流通产品技术要求与测试方法》。
基于 TEE 的多源金融大数据隐私计算技术验证
另一个非常青睐 TEE 解决方案的是金融行业。与其他技术方案相比,以硬件为载体来为数据和代码提供安全可信环境的 TEE,在金融行业最关注的数据安全、性能以及可用性三个维度上,能取得接近「帕累托最优」的效果,因此受到较多企业的青睐。
联邦学习中不同安全隐私技术综合评估
在这个行业,企业通常需要将已有的大量 AI 应用以联邦学习模式高效、便捷地扩展到现有的分布式大数据平台上(如 Spark、Flink、Hadoop 集群)。在此过程中,他们可能会遇到一些挑战,比如如何在开展联邦学习时依然保持 AI 训练与推理的高效能?如何在应用 TEE 技术特性时做到数据的全栈可信?如何将二进制应用程序不做改动地运行在 TEE 环境中?
英特尔与中国银联电子商务与电子支付国家工程实验室组成的联合研究团队通过开源的统一大数据分析与 AI 平台——BigDL,验证了基于 TEE 的联邦学习与实时预测方案,有助于解决上述问题。
如图所示,基于英特尔® SGX 技术的 BigDL 提供了自下而上可信的安全技术、不同层面的软件框架以及用于连接大数据平台和联邦学习方法的端到端平台。
基于英特尔® SGX 技术的BigDL平台架构
我们重点来看一下安全技术层面。在这一层面,该平台通过第三代英特尔® 至强® 可扩展处理器集成的英特尔® SGX 技术,提供了所需的 TEE 环境;同时,还通过加入 Gramine-SGX 这样的开源 LibOS 组件,来加速既有 Al 模型或应用程序在 SGX 技术上的无缝迁移。Gramine-SGX 允许用户在不修改相应模块代码的情况下,通过系统调用的方式直接在 SGX 环境中执行,大大降低了 SGX 技术的应用门槛。同时,这一组件的加入,也使英特尔开源的 OpenVINO™ 工具套件和 OneDNN 等重要 Al 软件工具能够在 SGX 环境中方便地运行。
一种典型的基于英特尔® SGX-BigDL 平台的预测方案架构如下图所示,用户数据可以导入基于 Gramine-SGX 的 SGX 环境中,由 BigDL 平台负责连通和调度预测推理所需的模型库、框架和工具,在完成预测推理后,再向用户输出相应结果,中间所涉及的数据和工作流程都可获得更有效的安全保障。
典型的基于英特尔® SGX-BigDL平台的预测方案
联合团队的验证结果表明,基于英特尔® SGX-BigDL 平台部署的实时计算与预测推理方案,能在更好地保障端到端数据安全的前提下,依旧保持预期的性能。
Gartner 曲线:联邦学习技术还在上升期
「为什么我们要投入联邦学习?」 中国人工智能开源软件发展联盟副理事长王健宗博士在前段时间英特尔联合国际学术期刊《Science》推出的「架构师成长计划」第二季系列课程中提出了这样一个问题。
为了解释这个问题,他向大家展示了去年的 Gartner 技术成熟度曲线。这份曲线图显示,联邦学习当前正处于高速发展期,未来将成为一项非常重要的计算技术。这也是 Gartner 首次将联邦学习纳入技术成熟度曲线。
Gartner技术成熟度曲线
在应用方面,除了我们前面提到的医疗和金融场景,王健宗还系统地总结了联邦学习在物联网、政务等领域的应用。从这里也可以看出,联邦学习技术的应用范围正在不断扩大,越来越多企业正放下顾虑,更放心地参与到共同的 AI 应用开发中来。这背后,以 TEE 为代表的安全计算实现方案功不可没。
联邦学习在行业场景中的应用
值得一提的是,王健宗早在几年前就曾带领他在平安科技的团队开始构建基于英特尔® SGX 的 TEE 联邦学习方案,也见证了这一技术地不断迭代。他对第三代至强® 可扩展处理器 1TB 的 EPC 容量以及英特尔® SGX 对云边协同的支持印象深刻。他认为,在现在大家都比较重视隐私保护、数据安全的环境下,英特尔® SGX 为我们提供了一个更安全的可信计算环境。
对于联邦学习未来的发展,王健宗主要看好三个方向:自动化机器学习、零代码联邦和大规模互联互通。他解释说,联邦学习现在仍然是一个比较复杂的技术,有很多工程方面的工作。未来他希望能实现自动化机器学习,以及通过简单地拖拉拽,实现零代码的联邦学习,进而让联邦学习应用到更多对数据、代码安全性要求更高的领域。
参考链接:https://www.jiqizhixin.com/articles/2022-02-20-3