您的位置:  首页 > 技术杂谈 > 正文

飞桨联邦学习框架PaddleFL新升级,实现纯两方安全计算协议

2021-10-20 16:00 https://my.oschina.net/u/4299156/blog/5283102 百度开发者中心 次阅读 条评论

伴随着智能化时代的迈进,AI 无处不在,万事皆可智能化,很多企业走到了时代的风口,也不断有着更多的企业想跻身队伍,跨上 AI 大时代的战车。大家都深知人工智能的三大基石是:算法、算力与数据。传统企业有着丰富的数据基础,却缺乏技术能力;新型企业的技术能力紧跟时代步伐却苦于数据贫瘠。算力可以花钱买到,算法可以通过培养招聘技术人才来补齐,但是数据匮乏却使人在人工智能赛道上举步维艰。

在国内外监管环境日渐完善的今天,大家都在加强数据保护意识,很多有巨大价值的数据即使在公司内部都无法流通,从而形成数据孤岛。随着《数据安全法》和《个人信息保护法》的相继施行,数据在安全合规的前提下自由流动,成了大势所趋,这也让联邦学习再次掀起一波浪潮。

百度飞桨开发了基于飞桨核心框架的开源联邦学习框架 PaddleFL,让企业之间的合作能够在数据层面安全开展。开发人员很容易在大规模分布式集群中部署 PaddleFL 联邦学习系统。PaddleFL 提供多种联邦学习策略(横向联邦学习、纵向联邦学习)及其在计算机视觉、自然语言处理、推荐算法等领域的应用。

最近,PaddleFL 新版本 PaddleFL v1.1.2 版本正式发布,在前期三方安全计算协议之上,新增了面向两方场景的安全计算协议以及安全联邦学习实现。新增特性描述如下:

两方安全计算协议 PrivC 实现

 

PrivC 协议实现总体参考了 ABY 协议,支持两方 peer-to-peer 计算模型以及外包计算模型,提供了半诚实模型下的计算安全性。在 ABY 协议混合电路计算的思想上,PrivC 进行了一系列实现优化,如以 tensor 为单位聚合通信提升吞吐量,使用 FreeXOR、HalfGate 等方法降低加密电路运算开销,使用全同态加密计算乘法三元组等,并对非线性机器学习算子进行了近似实现,有效地提升了两方安全学习的性能。

 

基于 PrivC 的两方安全联邦学习

 

PaddleFL 在 PrivC 协议的基础上,为只有两个参与方情况下的联邦学习场景提供了针对性的解决方案。PaddleFL 目前提供了纯两方的矩阵乘法、fc、relu、sigmoid、softmax 等机器学习常用算子及其梯度计算实现,支持两方场景下的线性回归、对率回归、多层感知机等模型的训练与预测,具有优良的性能。

 

▲ 图 1 PaddleFL with PrivC 运行示意图

 

PaddleFL 在两方条件下的训练性能如下:

 

 场景一 线性回归:

 

数据集与训练参数:

UCI 波士顿房价,epoch = 20,batch_size = 10,lr = 0.1; 

数据量:

 

506行,80%用于训练,20%用于测试

 

 

 场景二 逻辑回归:

 

数据集与训练参数:

MNIST 数据集(label修改为二分类,“1”为1,其余为0),epoch = 1,batch_size = 128,lr = 0.01;

 

数据量:

50 000条训练样本,10 000条测试样本

 

 

在线数据切片与分发

 

在1.1.2版本中,新增了对数据在线切片(secret-share)与分发的支持。在以前版本中,各实体间只能通过离线方式对数据进行切片,然后单独传输到计算方上。而在 PaddleFLv1.1.2 中,各实体间可以通过在线方式对明文数据进行切片与分发,免去了中间数据存储的步骤。

 

增加对 gRPC 通信模式的支持

 

在1.1.2版本中,新增了对 gRPC 协议的支持,用户可以根据需要指定采用 Gloo 通信模式或是 gRPC 通信模式。利用 gRPC 通信协议,可以有效应对网络不稳定造成的闪断等情况,并对未来实现网络隔离条件下的端口收敛与单向通信提供了条件。

点击进入获得更多技术信息~~

  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接