隐语安装部署

主讲老师:周爱辉

讲课链接:第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端口冲突

隐语安装部署_第1张图片

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.部署步骤

  1. 安装 Ray: SecretFlow 使用 Ray 作为分布式计算调度框架,因此需要先安装 Ray。
  2. 启动 Ray 集群: 根据部署模式,选择单机或多机启动 Ray 集群。
  3. 初始化 SecretFlow: 使用 sf.init() 函数初始化 SecretFlow,并指定参与方和通信地址。
  4. 编写代码: 使用 SecretFlow 提供的 API 编写秘密计算代码。
  5. 执行代码: 运行代码,并观察结果。

注意事项

  • 端口冲突: 在部署过程中,需要注意避免端口冲突,特别是 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

你可能感兴趣的:(大数据,数据库架构)