亚马逊提高全同态加密机器学习模型训练效率

Posted 格密链

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了亚马逊提高全同态加密机器学习模型训练效率相关的知识,希望对你有一定的参考价值。



机器学习的普及和成功推动了云平台提供机器学习模型训练的服务。 云环境下,客户将需要训练的数据上传到云平台中,云平台训练好模型后返回给客户。

 

同态加密(HE)是一项允许对加密数据进行计算的技术,它将为云环境下的机器学习模型训练提供数据隐私安全保障。使用同态加密,客户上传加密后的训练数据,云平台在加密后的数据上训练及生成加密的机器学习模型,只有客户才能对其进行解密。

 

在2020年密文计算和应用同态密码学研讨会上,亚马逊研究人员发表了一篇论文,探讨了同态加密在逻辑回归中的应用。逻辑回归是一种普世的统计模型,可以用于从基因分析到税收合规性的机器学习数据分析中。该论文展示了在加密数据上训练逻辑回归模型的速度是先前工作的六倍。

同态加密


同态加密提供了一个应用程序编程接口(API),用于提供在加密数据上计算的功能。我们将消息称为m,将加密后的数据表示为在其周围加上一个框。该API中提供同态加法和乘法的操作。输入的是加密数据,而输出是对明文值的和或乘积的加密。如下图:


亚马逊提高全同态加密机器学习模型训练效率

 

函数f代表任意计算,带有^符号的ƒ表示的是同态计算的电路,是一个算术电路。该电路使用加法电路和乘法电路表示。如下图所示。给定ƒ-^和加密的输入,同态计算算法eval会对输入的加密数据计算并且输出加密的结果。如下图:


亚马逊提高全同态加密机器学习模型训练效率


例如,要计算ƒ(x)= x4+ 2,我们可以表示成如下电路进行计算:


亚马逊提高全同态加密机器学习模型训练效率


这是一个乘法深度为3的电路。

 

乘法深度


计算的效率取决于乘法电路的深度,即沿着电路的任何路径的最大乘法数。在上图中,ƒ-^的乘法深度为3,因为有一条路径包含3个乘法,但没有路径包含3个以上的乘法。但是,这不是计算ƒ(x)= x4 + 2的最有效电路。相反,请考虑如下电路:

亚马逊提高全同态加密机器学习模型训练效率

 

该电路依然是计算x4 + 2,但乘法深度仅为2。因此,计算更有效。

 

同态加密模型训练


下面,我们将看到同态加密如何用于安全地将逻辑回归模型的训练外包。客户将使用他们生成和控制的密钥对训练数据进行加密,然后将加密后的训练数据发送到云服务端。云服务将基于加密的数据训练一个加密的机器学习模型,并将其发送回客户。客户然后使用自己的密钥解密模型。

 

部署此解决方案最具挑战性的部分是将逻辑回归模型训练功能表示为深度较浅的电路。最近几年学术界已经对加密逻辑回归模型训练研究提出了几种方案。例如:、

  • 一次训练所有样本,而不是使用最小批处理;

  • 经典梯度下降的替代方法,例如Nesterov的加速梯度;

  • 使用fixed-Hessian的变种进行训练。

以前,用于逻辑回归训练的最低深度(因此效率最高)的电路具有乘法深度5k,其中k是训练模型的数据的最小批处理数。

 

亚马逊研究人员重新审视了这些现有解决方案,并创建了一个乘积深度为2.5k的电路,用于k个小批量处理,其深度是原乘积深度的一半。这有效地增加了最小批处理数量一倍。可以将其应用于到原来的模型中,并且保持相同的时间。

 

技术


逻辑回归训练算法可以表示为一系列线性代数计算。先前的工作展示了在某些条件下如何在加密数据上计算有限数量的线性代数表达式。亚马逊研究人员的论文对这些结果进行了概括,提供了一个同态线性代数运算的完整“工具包”,可以对标量,加密矢量和加密矩阵进行加法和乘法计算。该工具包是通用的,可以与各种线性代数应用程序一起使用。

 

同时将工具箱中的算法与完善的编译器技术相结合,以减少逻辑回归模型训练的电路深度。首先,使用循环展开(Loop unrolling),该循环展开将循环主体替换为其自身的两个或更多副本,并相应地调整循环索引。循环展开可实现进一步的优化,而这可能仅凭循环主体的一个副本就不可能实现。


亚马逊提高全同态加密机器学习模型训练效率


此外还采用流水线技术,这使我们可以开始循环的一个迭代,同时仍在处理前一个迭代。最后,通过重复一些计算来消除数据依赖性。这具有增加电路宽度(可以并行执行的操作数)的作用,同时减小了电路深度。


尽管电路宽度增加了,但即使在单个内核上,计算此深度较低的电路也比计算先前的电路更快。如果服务器具有多个内核,则由于电路宽度的增加,可以为并行性提供充足的机会,因此可以进一步缩短训练时间。


结果


论文使用MNIST数据集(一种由手写数字组成的图像处理数据集),将提出的改进逻辑回归训练的电路与以前提出的方案作为基准电路进行了比较。两个电路都配置为六个最小批处理,并且将其应用到结果模型中。在实践中,两个电路将不得不多次应用以适应实际数量的最小批次。

 

论文的改进算法需要比以往论文方案更多的加密输入。使用论文选择的电路参数,对应的带宽需求增加了约80%。尽管该提高改进使用的乘法是原来论文方案的四倍,但是通过使用并行实现使其计算速度提高六倍(13秒,而原先为80秒)。此外,同态训练模型的精确度与在明文上针对MNIST数据集训练的准确性相同。

 

创建有效的同态电路是一个非自动化的,耗时的过程。为了客户能够轻松的使用全同态加密功能,格密链在陈智罡博士的带领研发下,提供高级API和同态电路创建的计算器。为全同态加密的使用奠定基础。


陈智罡博士团队一直致力于全同态加密与区块链技术的研发。


陈智罡博士的个人主页:

亚马逊提高全同态加密机器学习模型训练效率

亚马逊提高全同态加密机器学习模型训练效率





全同态加密资源汇总,全同态加密与机器学习论文列表
亚马逊提高全同态加密机器学习模型训练效率

欢迎收听“区块链杂谈”节目,国内最有质量的区块链知识分享节目。

亚马逊提高全同态加密机器学习模型训练效率
亚马逊提高全同态加密机器学习模型训练效率

◆  ◆  ◆  ◆ 

格密链

专注于区块链上的密码学技术

长按扫码可关注


以上是关于亚马逊提高全同态加密机器学习模型训练效率的主要内容,如果未能解决你的问题,请参考以下文章

几行代码搞定ML模型,低代码机器学习Python库正式开源

同态加密在卷积神经网络上的应用

机器学习基础特征选择的Python实现(全)

机器学习平台带给QA的挑战

迭代速度慢?成熟的机器学习流如何设计:微博大规模机器学习框架Weiflow揭秘

机器学习建模神器PyCaret已开源!提升效率,几行代码轻松搞定模型