隐语纵向联邦 SecureBoost Benchmark白皮书 #435
halosecret00
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
导语:
在数据科学竞赛中经典算法XGB备受关注。但有小伙伴担心,在纵向联邦中XGB是否足够高效,安全和效率是否可以兼得, 隐私计算是否耗时太长导致模型迭代缓慢?使用隐语中联邦算法SecureBoost的高效实现, 炼丹效率轻松狂****飙10倍!
隐语近期开源了基于纵向联邦算法SecureBoost算法,并进行了高性能实现。与秘密分享方案的SS-XGB相比,SecureBoost性能具有更好的表现,不过由于是非MPC算法,在安全方面低于SS-XGB。
隐语SecureBoost(下文简称:隐语SGB)利用了安全底座和多方联合计算的分布式架构, 极大提高了密态计算效率和灵活性。只需要通过简单配置, 隐语SGB即可切换同态加密协议, 例如Paillier和OU, 满足不同场景下的安全和计算效率的需求。
本文将介绍隐语SGB的具体测试环境、步骤和数据, 方便您了解协议的使用方法和性能数据, 从而更好地了解隐语 SGB, 满足您的业务需求。让我们一起来领略隐语SGB的魅力吧!
测试方法和步骤:
一、测试机型
二、安装conda
使用conda管理python环境,如果机器没有conda需要先安装。
三、安装secretflow
四、数据要求
两方数据规模:
alice方:100万50维
bob方:100万50维
三方数据规模:
alice方:100万34维
bob方:100万33维
carol:100万33维
五、Benchmark脚本
将脚本下载到测试机上,可命名为sgb_benchmark.py,alice、bob、carol三方共用1个脚本。
2方SGB启动方式如下:
alice方:python sgb_benchmark.py alice
bob方:python sgb_benchmark.py bob
3方SGB启动方式如下:
alice方:python sgb_benchmark.py alice
bob方:python sgb_benchmark.py bob
carol方:python sgb_benchmark.py carol
SGB Benchmark报告
解读:
本次benchmark的数据为百万百维。我们在两组网络参数下进行实验。算法参数中的schema也有'paillier'和'ou'两种。本次实验训练的XGB树的数量为5,深度为5,特征分桶数量为13,进行二分类任务。我们分别在两方和三方场景下进行上述实验。两方情况下,alice和bob各拥有其中50维的数据。三方情况下,alice, bob 和 carol分别拥有(34,33,33)维数据。
整体来讲三方计算效率更高,体现了多方之间并行计算的优势。
LAN的实验模拟本地局域网的环境下的性能和WAN的实验模拟在低延迟互联网环境下的性能。对于同态加密方案来说,计算应该是瓶颈,计算耗时对于网络延迟的敏感性比秘密分享方案要低得多,在LAN模式和WAN模式下计算耗时相差并不巨大。
在设置HEU所用协议时,我们分别配置了paillier和ou两种协议计算作为对比(密钥长度默认为2048bit)。Paillier和OU均为IND-CPA 安全,语义安全(Semantic Security)的加密系统,但是基于不同的困难假设。在加密性能和密态加法的性能上OU要优于Paillier,密文大小也是Paillier的一半,关于 OU 更详细的介绍参见下方链接。总体来讲,OU相比于Paillier在隐语SGB上提供了3~4倍的计算性能加速并把内存需求降低一半。
参考资料:
Okamoto-Uchiyama 算法介绍
https://www.secretflow.org.cn/docs/heu/zh\_CN/getting\_started/algo\_choice.html#okamoto-uchiyama
隐语官网:
https://www.secretflow.org.cn
隐语社区:
https://github.com/secretflow
https://gitee.com/secretflow
联系我们:
公众号:隐语的小剧场
B站:隐语secretflow
邮箱:[email protected]
Beta Was this translation helpful? Give feedback.
All reactions