隐语社区【提问解答】 第1期

简介: 隐语社区【提问解答】 第1期


收录于合集#社区问答6个


安装部署问题


问题1:

pip安装secretflow、tensorflow、pytorch速度慢

解答:

可以挂个国内的源会快一点,因为底层依赖了tf和pytorch做backend,不安装会导致没法用


问题2:

pip安装secretflow报spu找不到

解答:

1. 需要确认环境是不是符合要求:

https://spu.readthedocs.io/en/beta/getting_started/install.html#environment

2. 用的国内的pypi源, 尝试用官方源

pip install -i https://pypi.org/simple/ spu


问题3:

安装过程中import secretflow报错

tensorflow/stream_executor/platform/default/do_loader.cc:64] Could not Toad dynamic library "Tibcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared obiect file: No such file or directory

解答:

直接 ignore


问题4:

执行以下操作时,显示无法连接到位于 192.168.137.4:6379 的 GCS

RAY_DISABLE_REMOTE_CODE=true \

RAY_SECURITY_CONFIG_PATH=config.yml \

RAY_USE_TLS=1 \

RAY_TLS_SERVER_CERT=servercert.pem \

RAY_TLS_SERVER_KEY=serverkey.pem \

RAY_TLS_CA_CERT=cacert.pem \

ray start --head --node-ip-address="192.168.137.4" --port="6379"

--resources='{"alice": 8}' --include-dashboard=False --disable-usage-stats

解答:

应该是自签证书不对导致的。如果只是测试的话,可以把mTLS双向认证关闭,即将RAY_USE_TLS设置为0。参考这个教程生成自签证书,尤其注意将alternate_names设置为主机IP地址,X509证书会对Subject Alternative Name进行校验


问题5:

服务器内存2g,安装报错。

解答:

2g内存有点过低,建议扩大后重试。隐语的最低推荐配置为8C16G。



sf使用问题


问题1:

secretflow验证可信性

解答

SecretFlow的整体设计思想是把数据提供方,计算方抽象成逻辑设备PYU、SPU、HEU、TEE,用户在逻辑设备上进行编程,构建出一张逻辑计算图。在这张计算图中,当发生跨设备数据流动的时候,就会按照(源设备,目标设备)预定的转换协议对数据进行转换。


问题2:

secretflow支持arm架构的m1芯片mac电脑吗

解答:

目前该能力在内部测试中,我们会力所能及支持m1 mac。


问题3:

找不到满足要求的spu版本。

ERROR: Could not find a version that satisfies the requirement spu==0.1.0b1

解答:

请使用官方 docker 镜像:

https://github.com/secretflow/spu#docker


spu-heu使用问题


问题1:

“安全聚合模块”和“定义函数编译生成静态计算图”两种达到聚合的效果有什么不同

解答:

三角函数和双曲函数里现在暂时只实现了 tanh,其他会在后续迭代中陆续添加。jax numpy 大体上的支持情况可以看一下这个测试文件:

https://github.com/secretflow/spu/blob/beta/spu/binding/tests/jnp_testbase.py


问题2:

HEU只支持半同态的加密算法吗

解答:

目前是只支持半同态算法,全同态算法在规划中,但暂时还没有具体的发布计划


问题3:

heu和spu之间的转换协议考虑:spu到heu,直接对share加密,对arithemetic share是可以的吗?

解答:

是的,直接在Share上加密和转化,中间不会reconstruction,对Arithmetic Share是可以的。


问题4:

spu到heu的转换之后不对称,怎么决定谁是秘钥拥有方,是否可配置

解答:

算法实现者需要手动指定密钥拥有方,这个是可配置的。


问题5:

heu里支持的半同态算法

解答:

Paillier


问题6:

在带有 SPU 的神经网络中如何使用 3PC

sf.init(['alice', 'bob', 'adan'], num_cpus=12, log_to_driver=True)

alice, bob, adan = sf.PYU('alice'), sf.PYU('bob'), sf.PYU('adan')

spu = sf.SPU(sf.utils.testing.cluster_def(['alice', 'bob', 'adan']))

x1, _= alice(load_train_dataset)(party_id=0)

x0, _= adan(load_train_dataset)(party_id=1)

x2, y= bob(load_train_dataset)(party_id=2)

解答:

您正在运行的 semi2k 2pc 是一个 3pc 协议,因为它依赖于受信任的第一方(或者您可以将其视为受信任的第三方)来生成离线相关随机数。Secretflow 中真正可用的 2pc 协议是 cheetah 协议。cheetah 协议现在可以很好地与 LR 等简单的应用程序配合使用。对于 NN,您可能需要等未来的 Secretflow 版本,我们仍在研究一些底层构建块。


问题7:

提供一个HEU初始化案例

解答:

HEU 分为两部分,第一他是 secretflow 中的一个 device,第二他本身也是一个同态加密的 library 如果是后者,把 HEU 单独当做 lib 使用,是有文档的,参见 https://heu.readthedocs.io/ 如果是前者,把 HEU 当做 device 使用,这部分还是实验性的,当前有一个基于 HEU + SPU 的 LR 实现,其教程有所欠缺,我们后面会补充相关文档。如果你着急的话,可参考 HESS-LR 的单测获取其用法。


其他问题


问题1

隐语框架TEE代码在哪

解答:

目前TEE部分的代码暂未开放,不过后续的开源计划里有这块内容,敬请期待


问题2:

基于TEE的多方MPC计算解决方案在隐语中吗

解答:

TEE 集群里跑 MPC 确实是一种新颖的方式,相比较纯 TEE 方案有额外优点。举个例子比如这种模式下,TEE进出的数据都是统计学上无差别的随机数,因此能够有效抵御一部分侧信道攻击。隐语当然会支持这种新颖的模式,不过目前 TEE 结合 MPC 的方案还未开放,预计年底左右会开放 TEE + MPC 的 TECC 设备,敬请关注期待。


问题3:

aggr=SecureAggregator(device=alice, participants=[alice, bob]) 无限期执行

解答:

是虚拟机的cpu个数设置成1个导致的,我将虚机的cpu设置成8个,然后可以了


问题4:

在不同数据集上运行演示错误,配置 6c8g

The actor is dead because its worker process has died. Worker exit type:

SYSTEM_ERROR_EXIT (SPURuntime pid=10311) I0714 09:14:38.084491 10471

external/com_github_brpc_brpc/src/brpc/socket.cpp:2202]Checking Socket{id=0 addr=127.0.0.1:36067} (0x563ea08fe600)

解答:

8c16g 是最低配置要求


问题5:

用较小的数据集进行测试,当使用 jax 构建的模型在 SPU 上运行时,SPU 默认使用 ABY3 协议吗

解答:

默认协议取决于参与方的数量:

https://spu.readthedocs.io/en/beta/reference/runtime_config.html#protocolkind

如果 SPU 设备是 2PC,将使用 SEMI2K。

如果 SPU 设备是 3PC,将使用 ABY3。



隐语介绍:


隐语Secret-Flow是蚂蚁集团自主研发的一套通用隐私计算框架,以安全、开放为设计理念,支持包括MPC、TEE、FL、HE、DP在内的多种主流隐私计算技术。目前“隐语”已正式开源,诚挚邀请业界同行参与隐语共建,丰富隐私计算落地场景,齐力推动隐私计算技术发展,最终实现整个隐私计算行业的进步。


相关文章
|
机器学习/深度学习 安全 算法
技术焦点篇|Cheetah猎豹及其在隐语中的实现
技术焦点篇|Cheetah猎豹及其在隐语中的实现
1291 1
|
机器学习/深度学习 数据采集 运维
【博士每天一篇文献-综述】2024机器遗忘最新综述之一:A Survey on Machine Unlearning Techniques and New Emerged Privacy Risks
本文综述了机器遗忘技术及其面临的新兴隐私风险,提出了面向数据和模型的分类法,分析了信息窃取和模型破坏攻击手段,探讨了相应的防御策略,并讨论了机器遗忘技术在大型语言模型、联邦学习和异常检测等领域的应用。
279 5
|
存储 关系型数据库 分布式数据库
数据库索引回表困难,揭秘PolarDB存储引擎优化技术
PolarDB分布式版存储引擎采用CSM方案均衡资源开销与可用性。
数据库索引回表困难,揭秘PolarDB存储引擎优化技术
|
并行计算 算法框架/工具 异构计算
JAX 中文文档(十六)(5)
JAX 中文文档(十六)
244 2
|
人工智能 并行计算 数据中心
NVIDIA智算中心“产品”上市,AI工业革命的iPhone时刻
NVIDIA智算中心“产品”上市,AI工业革命的iPhone时刻
|
机器学习/深度学习 SQL 人工智能
隐私计算框架“隐语”介绍及展望(附ppt)
隐私计算框架“隐语”介绍及展望(附ppt)
953 0
|
开发者
隐语“官网”新版上线!彩蛋连连,速来探索
隐语“官网”新版上线!彩蛋连连,速来探索
464 0
|
存储 人工智能 数据库
亚马逊 AWSVS 阿里云 | 轻量应用服务器性能评测对比
亚马逊 AWSVS 阿里云 | 轻量应用服务器性能评测对比
|
Python
pycharm2020无法打开,点击无反应
pycharm2020无法打开,点击无反应
244 0
|
机器学习/深度学习 边缘计算 算法
隐语开源社区【提问解答】第二期
隐语开源社区【提问解答】第二期
340 0