隐语开源社区【提问解答】第二期

简介: 隐语开源社区【提问解答】第二期



安装部署问题

问题1:bob节点的address,应该如何填写?# The address for other peers.'address': 'alice's ip:8881',# The listen address of this node.# Optional. Address will be used if listen_address is empty.解答:8881是ray的端口,请换一个没有被占用的端口

问题2:Win10系统创建的虚拟环境报错解答:Secretflow 暂不支持 Windows ,你可以用我们的 docker 镜像 来跑。Docker 安装可以看这里https://docs.docker.com/desktop/install/windows-install/

sf使用问题


问题1:请问Federated XGBoost这个函数内部有封装任何Secret Flow的隐私保护的算法吗?解答:目前的版本暂时不支持,后续的版本中会补充安全加强(secure_agg,spu_agg等)模块

问题2:逻辑回归的性能,同样的代码只是换了协议,semi2k需要8s,cheetah需要52s,这是为什么呢?cheetah在什么场景下使用有性能优势?解答:semi2k 是需要额外可信第三方的(如 TEE)去生成 随机数;而 cheetah 是纯两方的;如果部署上能支持 TEE 的话;大部分情况都是 semi2k 的性能更好。后续 Cheetah 的矩阵-乘法(应该)还会优化性能

问题3:secretflow支持边缘计算吗,例如边缘的计算节点,可以部署在边缘节点跟云交互吗?解答:隐语目前还是针对cross-silo场景,暂不支持边缘计算场景。

spu-heu使用问题


问题1:PPU和SPU是什么关系?解答:自2022年7月起,PPU 更名为 SPU, 这是我们品牌战略的一部分。感谢您对 SecretFlow 的关注。

问题2:heu是否有类似spu runtimeconfig的enable_action_trace开关解答:感谢关注 HEU 目前还没有引入编译器层,也没有引入 IR,因此没有 trace 开关,如果你对 HEU 感兴趣的话,可以参考文档https://heu.readthedocs.io/zh_CN/latest/getting_started/quick_start.html ,并结合 HEU 代码 (地址https://github.com/secretflow/heu/blob/beta/heu/library/phe/phe.h

其他问题

问题1:一个secretflow node/服务器是否只能运行一个SPU device party解答:是的,目前SPU仅支持standalone模式(单个party内只有一个进程)

问题2:如何实现:ray网络的生命周期——Head高可用节点解答:需要首先创建ray集群,再执行任务。关于ray head HA,目前我们了解到的是ray有计划在支持HA,参见 https://github.com/ray-project/ray/issues/22833提到的Cluster Fault Tolerance。目前secretflow的主要使用方式是离线式计算任务,对HA的要求有限。

问题3:运行官方手册第三方psi时报错RayActorError              Traceback (most recent call last) Input In [10], in <cell line: 3>()      1 input_path = {alice: '.data/alice.csv', bob: '.data/bob.csv', carol: '.data/carol.csv'}   2 output_path = {alice: '.data/alice_psi.csv', bob: '.data/bob_psi.csv', carol: '.data/carol_psi.csv'} ---->3 spu_3pc.psi_csv(['uid', 'month'], input_path, output_path, protocol='ecdh')解答:1、试着将https://secretflow.readthedocs.io/en/latest/tutorial/PSI_On_SPU.html 第9步替换为:sf.shutdown() sf.init(['alice', 'bob', 'carol'],num_cpus=8, log_to_driver=False) alice, bob,carol = sf.PYU('alice'), sf.PYU('bob'), sf.PYU('carol') spu_3pc = sf.SPU(sf.utils.testing.cluster_def(['alice', 'bob', 'carol']))2、请确保你正在使用最新的代码来build from source。

问题4:有没有纵向联邦回归算法的例子解答:Split Learning示例https://secretflow.readthedocs.io/en/latest/tutorial/Split_Learning_for_bank_marketing.html

问题5:spu是否有协议或者计算相关的日志解答:首先,你需要通过设置spu的config来开启相应的log:

https://github.com/secretflow/secretflow/issues/30#issuecomment-1181263227然后,你需要在secretflow init的时候打开log_to_driver,类似于import secretflow as sf sf.init(['alice', 'bob'], num_cpus=8, log_to_driver=True)

问题6:官方推理的示例解答:目前有离线推理的示例,比如Federate_Learning_for_Image_Classification,Split_Learning_for_bank_marketing中有提供model.evulate的使用示例。在线推理目前还没有。

问题7:SPU是否支持ABY3协议,如何切换SPU device的协议?解答:SPU device支持ABY3协议,只需要在init device的时候设置protocol即可。请参考https://spu.readthedocs.io/en/beta/reference/runtime_config.html#runtimeconfig 另外,请确保SPU device必须由三个节点组成的时候,才可以使用ABY3协议。

问题8:医保drg落地案例使用了什么隐私计算技术路线?解答:医保drg案例,使用了FL技术路线,使用了隐语横向联邦建模能力(数据维度一样,如多家医院有的就诊人、病种名、诊疗费用等特征维度;样本id不同,如多家医院的就诊人不同)隐语提供MPC+FL+TEE多种技术路线选择(MPC、FL已部分开源,TEE计划于22年底开源)

问题9:SS-LR/XGB和HESS-LR/XGB 的区别解答:sslr 使用secret sharing 求解梯度下降方向, ssxgb使用secret sharing 求样本分桶梯度加和。而 hess lr/xgb 使用同态加密进行上述操作。secret sharing对带宽和延迟比较敏感,而同态加密方案会消耗更多的cpu算力。是一种针对不同运算环境的折中:局域网/万兆环境下ss能更快的完成建模,带宽受限且延迟较高的公网环境可以用he提高建模速度 。其他部分运算逻辑和算法的安全设定基本一致。

相关文章
|
8月前
|
分布式计算 关系型数据库 Hadoop
一、Sqoop历史发展及原理
在大数据系统中,Sqoop 就像是一位干练的“数据搬运工”,帮助我们把 MySQL、Oracle 等数据库里的数据快速、安全地导入到 Hadoop、Hive 或 HDFS 中,反之亦然。这个专栏从基础原理讲起,配合实战案例、参数详解和踩坑提醒,让你逐步掌握 Sqoop 的使用技巧。不管你是初学者,还是正在构建数据管道的工程师,都能在这里找到实用的经验和灵感。
340 6
|
10月前
|
自然语言处理 算法 数据可视化
RFID资产管理系统解决方案—基于RFID技术的智能资产管理新范式
首码推出基于RFID技术的智能资产管理系统,助力企业实现资产全生命周期管理。系统支持批量读取、实时追踪、智能定位及多语言、多据点管理,大幅提升盘点效率与管理透明度。集成数据算法与高灵敏硬件,适应复杂环境,保障数据安全。适用于跨国集团及各类企业,助力数字化转型。
795 0
|
存储 开发框架 JavaScript
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
725 0
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
|
存储 算法
单链表的建立
单链表的建立
296 1
|
人工智能 资源调度 算法
算法金 | 一个强大的算法模型,GPR !!
高斯过程回归(GPR)是基于高斯过程的非参数贝叶斯方法,用于捕捉数据的非线性关系并提供不确定性估计。它利用核函数描述输入数据的潜在函数,如径向基函数(RBF)用于平滑建模。GPR通过最大化对数似然函数选择超参数。代码示例展示了如何使用`sklearn`库进行GPR,生成模拟数据,训练模型,并用RBF核函数进行预测,最后通过绘图展示预测结果及置信区间。
898 3
算法金 | 一个强大的算法模型,GPR !!
|
JavaScript 测试技术 API
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch与Hugging Face Transformers:快速构建先进的NLP模型
【8月更文第27天】随着自然语言处理(NLP)技术的快速发展,深度学习模型已经成为了构建高质量NLP应用程序的关键。PyTorch 作为一种强大的深度学习框架,提供了灵活的 API 和高效的性能,非常适合于构建复杂的 NLP 模型。Hugging Face Transformers 库则是目前最流行的预训练模型库之一,它为 PyTorch 提供了大量的预训练模型和工具,极大地简化了模型训练和部署的过程。
1113 2
|
网络协议 Go
[golang]gin框架接收websocket通信
[golang]gin框架接收websocket通信
498 0
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。
1757 3
|
SQL 存储 NoSQL
现代数据库技术的演进与未来趋势
随着信息时代的发展,数据库技术已经成为现代应用程序和系统的核心。本文探讨了数据库技术从传统到现代的演进历程,分析了当前流行的数据库类型及其特点,并展望了未来数据库技术的发展趋势。