第4讲笔记:SecretFlow & SecretNote安装部署

简介: 安装SecretFlow需在Ubuntu虚拟机上用Anaconda创建Python 3.8环境,名称为secretflow,然后在环境中运行`conda create -n secretflow python=3.8`,`source activate secretflow`和`pip install -U secretflow`。SecretFlow部署可选仿真或生产模式。仿真模式包括单机(模拟Alice、Bob)和集群仿真,生产模式涉及多节点部署,注意各节点间的通信配置。SecretNote适合多节点代码的可视化执行,但不适用于生产环境。

一、SecretFlow安装
1、 安装部署要求
image.png
2、SecretFlow的安装方式有三种,本文是通过pypi方式安装的,但在由于我的电脑是Windows系统,所以安装了Ubuntu的虚拟机,并在虚拟机上安装了Anaconda,之后才安装的SecretFlow,具体的在虚拟机上安装Anaconda教程见链接。
3、打开Ubuntu虚拟机的terminal,使用annaconda的conda命令创建虚拟环境,我的环境名为secretflow。
安装注意事项:
• 在安装虚拟机时,一定要提前给足较大的硬盘容量(我第一次只给了40G,后来不够用又扩到70G)
• 虚拟机硬盘容量扩充
• 创建虚拟环境时Python的版本要选3.8,否则在安装SecretFlow时可能会出错。
• 安装过程中不要断网

conda create -n secretflow python=3.8  //创建虚拟环境
source activate secretflow  //进入虚拟环境
pip install -U secretflow   //安装secretflow

image.png
image.png

二、SecretFlow部署模式
1、类型:包括仿真模式和生产模式
image.png
2、Ray是一个分布式的计算框架
image.png
3、仿真模式
a.单机仿真(单个节点模拟Alice、bob两个参与方)

import secretflow as sf     //导入secretflow模块
sf.init(parties=['alice','bob'],address='local')  //parties表示参与方,address='local'表示启动一个本地的Ray节点
alice=sf.PYU('alice')       //创建两个名为alice和bob的明文计算设备(PYU)
bob=sf.PYU('bob')
alice(lambda x:x+1)(2)      
bob(lambda x:x-1)(2)

b.集群仿真(部署两个节点,分别模拟Alice、bob两个参与方)
image.png
注:--node-ip-address中要替换成实际的IP和端口;resources表示把该节点标识为alice,16指明了Alice有16个计算资源,方便Ray进行调度;Ray主节点的通信地址就是主节点的IP和端口号
image.png
注:SPU中的通信地址和Ray中的是不一样的,SPU是单独进行通信的,端口号跟之前不能冲突
image.png
4、生产模式 (部署两个节点,分别模拟Alice、bob两个参与方)
image.png
image.png
image.png
注:cliuster_config中的address要填一个新的端口
image.png
其中双方Proxy模块中的通信地址就是cliuster_config中的通信地址
使用KUSCIA解决多端口问题:统一不同机构的网络基础设施
docker模式运行SecretFlow集群,建议使用host网络,如果不能使用,最好在以恶搞机器上运行多个docker容器
三、SecretNote安装
1、SecretNote不适合用于生产
2、SecreetNote可以在一个页面上执行多方代码,多节点代码自动执行,所见即所得

相关文章
|
Ubuntu 调度 Docker
2024.3.21隐语训练营第4讲笔记:SecretFlow & SecretNote安装部署
本文介绍了SecretFlow和SecretNote的安装和部署
716 3
|
Ubuntu Linux Docker
课4-隐语SecretFlow、SecretNote安装部署
SecretFlow是支持Python 3.8及以上版本的隐私计算框架,兼容CentOS 7、Anolis8、Ubuntu 18.04等等。它提供两种安装包:所有需求的大体积`secretflow`和仅含基础功能的小体积`secretflow-lite`。用户可通过Docker、pip或源码安装。安装后,可使用Docker镜像在本地部署,并通过Ray进行集群仿真。更多详细信息和部署指南可在官方手册中找到。此外,SecretFlow还提供了类似Jupyter Notebook的SecretNote工具,实现多节点代码自动执行和跟踪。
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
489 0
|
算法 安全 大数据
隐私计算实训营第5讲-------隐私求交和隐语PSI介绍以及开发实践
隐私求交(Private Set Intersection, PSI)是利用密码学技术在不暴露数据集以外信息的情况下找到两集合的交集。隐语SPU支持三种PSI算法:ECDH(适合小数据集)、KKRT(基于Cuckoo Hashing和OT Extension,适合大数据集)和BC22PCG(使用伪随机相关生成器)。ECDH基于椭圆曲线 Diffie-Hellman,KKRT利用OT Extension实现高效处理,而BC22PCG通过压缩满足特定相关性的随机数减少通信量。此外,还有基于Oblivious Pseudo-Random Function (OPRF)的PSI协议。
1123 0
|
运维 安全 数据安全/隐私保护
隐语(SecretFlow)联邦学习实训营第一期笔记
**摘要:** 本文探讨了数据可信流通的概念,强调了数据来源确认、使用范围界定、流程追溯和风险防范的重要性。数据流通分为内循环(安全域内)和外循环(跨域),其中外循环面临黑客攻击、内部泄露和数据滥用等风险。为建立技术信任,提出了身份验证、利益对齐、能力预期和行为审计四点要求,涉及隐私计算、可信计算等技术。隐语作为隐私计算框架,提供服务以支持数据安全流通,通过开源降低接入门槛,并具备统一架构、原生应用、开放拓展、高性能和多轮安全验证等优势。开源隐语助力解决数据权属和信任问题,促进数据要素的安全流通。
|
数据可视化 Docker 容器
隐语实训营-第4讲:SecretFlow和SecretNote的安装
介绍secretflow及其可视化工具secretfNote的安装,课程链接:https://www.bilibili.com/video/BV161421S7xY/?spm_id_from=333.999.0.0 下:https://www.bilibili.com/video/BV12r421t77V/?spm_id_from=333.999.0.0
368 1
|
监控 算法 Java
怎么用JDK自带工具进行JVM内存分析
JVM内存分析工具,如`jps`、`jcmd`、`jstat`、`jstack`和`jmap`,是诊断和优化Java应用的关键工具。`jps`列出Java进程,`jcmd`执行诊断任务,如查看JVM参数和线程堆栈,`jstat`监控内存和GC,`jstack`生成线程堆栈信息,而`jmap`则用于生成堆转储文件。这些工具帮助排查内存泄漏、优化内存配置、性能调优和异常分析。例如,`jmap -dump:file=heapdump.hprof <PID>`生成堆转储文件,之后可以用Eclipse Memory Analyzer (MAT)等工具分析。
432 0
|
Linux Docker 容器
隐私计算实训营第4讲-------快速上手隐语SecretFlow的安装和部署
考虑到很多小伙伴可能是初学者之前并没有安装docker 以及docker-compose的经验,本文记录如何在Linux系统上快速的部署docker以及更换国内镜像源。在部署完成以后展示了隐语从源码编译部署以及secretnote的安装,简单快速,非常实用。
427 1
|
人工智能 Python
隐私计算实训营 第1期-第4讲 快速上手隐语SecretFlow的安装和部署
文档改进建议:明确Ray, K3S, Kuscia与SecretFlow的关系;结构化部署文档,区分顺序步骤与选择分支;提供从零开始的详细部署教程,补充缺失的前置步骤说明。
|
运维 安全 数据安全/隐私保护