主讲老师:周爱辉
讲课链接:第4讲(上):隐语安装部署-理论篇丨隐私计算实训营 第2期_哔哩哔哩_bilibili
主讲老师:王祖利
讲课链接:第4讲(下):SecretFlow与Secretnote的安装部署—实操篇丨隐私计算实训营 第2期_哔哩哔哩_bilibili
一、SecretFlow运行要求:
1、环境要求
Python>= 3.8
操作系统:
• CentOS7
• Anolis8
• Ubuntu 18.04/20.04
• macOS11.1+
• WSL2
资源:≥ 8核16GB
2、安装包:SecretFLow, SecretFLow-Lite(不包含深度学习依赖库)
安装方式:docker镜像;pypi;源码
3、SecretFLow部署-生产模式,安全生产
生产模式下,每一个参与方都是独立的Ray集群,所有参与方均要执行代码。
部署流程:
1)在第一台机器上部署Ray主节点;
2)在第二台机器上部署Ray主节点;
3)第一台机器执行Python代码 (注意不要有Ray的端口冲突;
4)第二台机器执行Python代码 (注意不要有Ray的端口冲突;
5)创建密态设备SPU,注意不要和之前的Ray端口冲突

4、可能遇到的问题
1)服务启动失败:端口占用后的端口冲突
2)多方服务启动不同步:调整连接参数(比如超时,重试次数)
3)Dock模式运行集群:建议使用host网络模式
二、SecretFlow 安装
SecretFlow 提供了多种安装方式,包括:
1.Docker 镜像: 最简单的方式,只需一行命令即可启动 SecretFlow 集群。
docker hub: docker run -it secretflow/secretflow-anolis8:latest docker run –it secretflow/secretflow-lite-anolis8:latest
阿里云: docker run -it secretflow-registry.cn hangzhou.cr.aliyuncs.com/secretflow-anolis8:latest docker run –it secretflow-registry.cn hangzhou.cr.aliyuncs.com /secretflow-lite-anolis8:latest
2.PyPI: 使用 pip 命令安装 SecretFlow Python 包。
pip install –U secretflow pip install –U secretflow-lite
要求pip >= 19.3 2.建议使用conda管理python环境
3.源码: 从 GitHub 下载源码并编译安装。
1.下载源码并建立Python虚拟环境 git clone https://github.com/secretflow/secretflow.git cd secretflow conda create -n secretflow python==3.8 conda activate secretflow
2. 安装secretflow # 涉及到C++编译,建议使用镜像secretflow/release-ci:latest python setup.py bdist_wheel pip install dist/*.whl
要求pip >= 19.3,建议使用conda管理python环境
三、SecretFlow 部署
1.SecretFlow 支持两种部署模式:
- 仿真模式: 适合进行代码开发和测试,可以模拟多方参与方,并支持单机和集群两种模式。
- 生产模式: 适合实际应用场景,需要每个参与方都部署 SecretFlow 集群,并提供更安全的通信机制。
2.部署步骤
- 安装 Ray: SecretFlow 使用 Ray 作为分布式计算调度框架,因此需要先安装 Ray。
- 启动 Ray 集群: 根据部署模式,选择单机或多机启动 Ray 集群。
- 初始化 SecretFlow: 使用
sf.init()函数初始化 SecretFlow,并指定参与方和通信地址。 - 编写代码: 使用 SecretFlow 提供的 API 编写秘密计算代码。
- 执行代码: 运行代码,并观察结果。
注意事项
- 端口冲突: 在部署过程中,需要注意避免端口冲突,特别是 Ray 和 SecretFlow 的通信端口。
- 网络模式: 如果使用 Docker 部署,建议使用 host 网络模式,或者使用同一个 Docker network 连接多个容器。
四、SecretNote
SecretFlow 还提供了一个名为 SecretNote 的工具,它可以帮助你在 Jupyter Notebook 中编写和执行多方代码,提升开发体验。
总结
SecretFlow 是一个功能强大的秘密计算框架,可以帮助你轻松实现多方数据协作。通过学习本教程,你已经掌握了 SecretFlow 的安装和部署方法,可以开始探索秘密计算的世界了!
学习资源
- SecretFlow 官方文档: https://www.secretflow.org.cn/docs/secretflow/latest/zh-Hans/
- RayFed 课程: https://www.ray.io/rayfed/
- SecretNote 使用介绍: https://www.secretflow.org.cn/docs/secretflow/latest/zh-Hans/advanced_usage/secretnote.html
1711

被折叠的 条评论
为什么被折叠?



