“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制。

开源项目:
https://github.com/secretflow
https://gitee.com/secretflow

图片

本文根据蚂蚁集团隐语 SPU 研发负责人 谭晋,在1月20日北京「隐语开源社区嘉年华」的演讲分享整理。

各位老师、各位同学、大家下午好,非常高兴有机会在这里跟大家汇报隐语技术标准的相关工作。

隐语为什么要做技术标准化?

其实这是一个行业普遍的问题而不仅仅只是隐私计算的问题,很多行业都希望把标准化建立起来。隐私计算对标准化的诉求也相对强烈,主要是因为隐私计算的技术栈非常复杂,以 MPC 为例,需要从最简单的门电路一直搭到数据分析和机器学习的算法。

相对于明文的各种基建,隐私计算基建还比较有限。明文有丰富的数据库、操作系统、调度基建等,但在隐私计算方面这些是缺失的。其次是安全协议复杂,如果没有透明可观测的技术标准,我们很难验证安全性,同时会导致合作困难,如果各干各的就很难搭建公有基础设施,进而阻碍创新。此外,标准化的缺失一定程度上也存在安全隐患,因为无法用标准化的方式把问题暴露出来,因此我们希望“减少轮子”,促进共建,促进创新,用标准化的手段保障安全。

我们讲技术标准化难以回避的问题是互联互通,我理解它的本质也是要实现技术的标准建设。它就像是标准化的北极星,用一个方向牵引隐私计算标准化的路径。

但由于隐私计算技术还在高速演进的发展阶段,比如每一年都会有新的协议、新的联邦学习算法出现,我理解任何不确定性都是标准化所面临的重要挑战,此外由于部分技术可能还处在 Paper 和 POC 的阶段,依然还需要时间与实践的验证。用标准指导实践,让实践检验标准,它们之间是相辅相成的关系

因此,隐语所推进的技术标准,是希望结合隐语所提供的技术去打造一个开放的体系,将隐语的技术逐步标准化并实现快速迭代。同时,隐语做的很多部分都和互联互通有着互补的关系,我们希望相关技术标准成熟之后也可以回归到互联互通的大家庭中。

隐语如何做技术标准化

我理解的标准化是没有捷径的,隐语会根据技术框架逐层实现模块化与标准化。比如在隐私计算技术框架中,下面需要有网络层,这一层明文中有非常多的标准化工作,我们要尽量拥抱它;接下来是协议层,每年有很多的安全协议出来,安全模型众多,迭代速度也非常快,这一层我们需要拥抱变化;上面是调度层,其中会有很多并行的调度策略和跨域调度管理;再上面是编译层,涉及大量编译工作,有非常多层的 IR,隐语在这方面已积累了一定的技术沉淀,后续需要进一步推进标准化的工作;最后是算法层,由于算法种类非常多,因此统一也会面临很大的挑战。

由此可见,隐私计算技术框架的每一层都有各自的特点,如有些层目前存在标准化的缺失,有些层需可扩展,有些层则是需要自描述。接下来我以算法层举例,看一下隐语在算法层的标准化思路

在典型的建模管线中,我们把数据导入到隐私计算平台,数据首先经过数据分析组件,比如相关系数,方差膨胀因子等;接下来会经过数据处理,比如分箱、归一化等;然后数据被拆分,拆成训练集、预测数据集,训练出来的模型会和预测数据一起预测出结果并进行模型评估,评估模型的好坏。我们可以看到算法层的种类、参数都会非常多。实际上在实现的过程中,隐私计算面对不同的场景会有很多变数,每一家的侧重点也不太一样。另外,组件理论上可组合性很强,替换任何一个组件都可以正常工作,又会导致边界约束比较困难。

我们的思路是试图做一个自描述的标准,实现算法组件的可扩展。我们用灵活的通用数据交换格式去描述所有的边,这样所有的点都是自描述的,所有的边都是标准化的。通过配套的数据和管线标准化,理论上我们可以支持无限多的算法组件,甚至可以支持跨引擎的黑盒互联互通。

图片

隐语 spec 都是经过隐语框架实践的。以上图隐语 SecretPad UI 操作界面来示意,上面有非常多的算法组件,鉴于我们是结合实践的标准,因此会有一个开放的 SDK 并且支持代码的反射。也就是说用 Python 写一个算法及其参数,就可以自动反射出组件实例。配合上隐语前端的自动渲染,就实现了“所见即所得” ,即在后端写一个 Python 算法,前端就可以自动拖拉拽。同时,我们也做了系统化的防呆和边界检查,让整个类型系统变得更加安全。值得一提的是,目前隐语的 30+ 组件都以隐语组件标准形式接入,同时这个数量还在不断增长

隐语技术标准 Roadmap

隐语会根据技术框架逐层实现模块化与标准化。如在协议层,我们将关注安全分级和多种安全模型,同时推进硬件加速实践;在调度层,关注各种跨域的调度策略,推进使用权跨域管控和并行管线加速;在算法层,关注自描述行与可扩展性,同时提供配套的数据和管线标准化等等。

图片

技术标准的分层随着时间的推移可能会发生一些变化,但是我理解即便是技术栈发生变化,我们的一些规则也是不会变的。隐语技术标准会以实践为先,实现快速迭代,同时支持扩展,积极地拥抱变化。当然,我们也会把所有的技术标准向社区开放,欢迎大家的指导和共建。

隐语希望结合自身技术实践与行业共建优势,通过开放的隐语框架,推进相关技术标准的沉淀与演进。「隐语技术标准 SIG」,以特别兴趣小组的形式在隐语开源社区推进,希望能够解耦隐私计算技术栈各层模块,提高算法、协议和调度层的扩展和协作能力,以促进隐语生态伙伴之间的横向协同与链接,推动隐私计算技术的发展及应用。

此外,我们的SIG小组还包括行业生态、隐私安全算法、TEE、加速硬件等,同样欢迎相关的企业与专家学者的加入。

这是我今天的分享,谢谢大家!

分享视频

👉 演讲视频观看

🏠 隐语社区:
https://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官网)

👇欢迎关注:
公众号:隐语的小剧场
B站:隐语secretflow
邮箱:secretflow-contact@service.alipay.com


隐语SecretFlow
17 声望2 粉丝