[Feature]: 有关于使用SPU验证其他文章方案时遇到的问题
Feature Request Type
Build/Install
Have you searched existing issues?
Yes
Is your feature request related to a problem?
由于想使用SPU来验证其他文章方案,在此过程中有一些疑问与问题,希望能提供一些帮助
1、论文的原文方案在这里
2、方案概述:(用户U与数据D,两个服务器S1与S2),该方案目的是使S1与S2共同训练一个神经网络模型(S1与S2模型相同且都具有相同的完整模型参数)。步骤上用户U对数据D进行秘密分享得到D1与D2,并将D1与D2分别发送给服务器S1与S2。S1与S2使用数据分片D1与D2对模型进行训练。需要注意的是,与你们官网提供的神经网络训练例子不同,在你们的例子中,模型参数也都被秘密分享,而在本例中模型未被分享,被S1与S2明文持有。
3、问题:是否可以使用SPU实现上述方案?我在尝试过程中遇到了问题,为了使用SPU实现上述方案,发现需要在SPU内部对数据分片自主进行控制管理,但是目前还未发现在SPU内部控制数据分片的方法。
Describe features you want to add to SPU
详细需求与描述如上所示,期待您的回复与讨论
Describe features you want to add to SPU
详细需求与描述如上所示,期待您的回复与讨论
从你描述的场景来看似乎不需要用到 spu,就是分布式训练,只是每一方训练数据不是原始数据,而是秘密分享
对,就是分布式训练,不过每个服务器里模型是完全相同的。因为在模型训练过程中会设计到mpc协议,所以我想借助一个隐私计算工具来实现并验证这个方案。
本来想使用spu来进行试验,但是发现spu无法对数据分片操控。 您说不需要用到spu,您有其他隐私计算工具库推荐么?还是说试用ABY3或者SPDZ就可以?
你可以使用 secretflow,把其中涉及 mpc 协议的部分用 spu 处理
额,我对secretflow的理解是一个综合性的隐私计算工具,包括了HEU(同态加密),PYU,SPU等。那么在secretflow下可以对秘密分析的分片自主操控么?
如果想最大程度自主控制秘密分享,肯定还是修改 spu 运行时的 c++ 代码二次开发最为直接
需要在spu运行时的c++代码写底层代码实现并封装接口么?因为对分片需要的操作并不复杂,要做的只是需要在众多的数据分片中,指定某个特定分片,对这个特定分片进行spu之间交互,使得该数据分片变为spu之间的公共值,并参与后续与其他数据分片的计算。