随着深度学习应用的广泛,我们时常能碰到这样的问题:数据持有者想对其持有的大量数据进行计算,利用深度学习模型挖掘其中价值,然而他所拥有的计算资源不足,需要借助云服务器等算力来完成。如果按照现在流行的做法,那当然是将数据传输到云服务器,然后在其上训练深度学习模型。但如此一来,敏感数据便在云服务器上暴露无遗。
以上问题在幻方萤火的对外实践中也经常遇到,我们的合作者必不可少都会问到我们的安全策略。除了隔离、私域访问、差分隐私等常规方法外,是否有其他更安全可靠的技术,能保障用户外用的数据和模型可训不可见呢?
同态加密能解决此类问题,其旨在让数据和模型都在加密条件下进行计算。数据持有者在传输数据前先将数据加密,发送到外部云端后,用于计算的深度学习模型在密文上运行。模型参数,checkpoint 都是密文,除数据持有者以外其他人无法解密获得数据。待计算结束后将结果的密文返还给数据持有者,持有者解开即可得到最终结果。
这是一个很完美的方案,能彻底解决外部算力的安全利用问题,但是否真的切实可行呢?本期幻方 AI 针对这个问题,进行实验测试,探索本地和萤火二号之间这一安全的交互模式。我们主要探索如下三个问题:
-
同态加密下的深度学习训练,是否可以保证训练结果一致?
-
使用了同态加密,训练性能会受到多大的影响?
-
同态加密可以保障数据的隐私安全吗?