
在他人服务器上的数据上执行数据科学
✅ Linux ✅ macOS ✅ Windows* ✅ Docker ✅ Kubernetes
$ pip install -U syft -f https://whls.blob.core.windows.net/unstable/index.html
# 在 Jupyter / Python 中
import syft as sy
sy.requires(">=0.8.1,<0.8.2")
node = sy.orchestra.launch(name="my-domain", port=8080, dev_mode=True, reset=True)
# 或者从命令行启动
$ syft launch --name=my-domain --port=8080 --reset=True
Starting syft-node server on 0.0.0.0:8080
import syft as sy
sy.requires(">=0.8.1,<0.8.2")
domain_client = sy.login(port=8080, email="info@openmined.org", password="changethis")
$ kubectl create namespace syft
$ helm install my-domain syft --namespace syft --version 0.8.1 --repo https://openmined.github.io/PySyft/helm
$ helm install ... --set ingress.ingressClass="azure/application-gateway"
$ helm install ... --set ingress.ingressClass="gce"
安装我们方便的 🛵 cli 工具,可以一键将 Domain 或 Gateway 服务器部署到 Docker 或 VM:
pip install -U hagrid
然后运行我们的交互式 jupyter 安装 🧙🏽♂️ 向导BETA:
hagrid quickstart
在教程中,您将学习如何安装和部署:
PySyft = 我们的类似 numpy 的 🐍 Python 库,用于在他人 Domain 中的 私有数据 上进行计算
PyGrid = 我们的 🐳 docker / 🐧 vm Domain 和 Gateway 服务器,私有数据 存储于此
python 🐙 git - 运行:pip install -U hagridhagrid: - 运行:hagrid quickstartpython 3.9 - 3.11 - 运行:pip install -U syftWindows 用户必须首先运行:pip install jaxlib==0.4.10 -f https://whls.blob.core.windows.net/unstable/index.htmldocker, ☸️ kubernetes 或 🐧 ubuntu VM - 运行:hagrid launch ...0.9.0 - 即将推出...
0.8.2 (Beta) - dev 分支 👈🏽 API - 即将推出...
0.8.1 (稳定版) - API
已弃用:
PySyft 和 PyGrid 使用相同的 version,最好尽可能匹配它们。我们每周发布 beta 版本,可在不同环境中使用:
PySyft (稳定版):pip install -U syft
PyGrid (稳定版) hagrid launch ... tag=latest
PySyft (Beta):pip install -U syft --pre
PyGrid (Beta):hagrid launch ... tag=beta
HAGrid 是一个 cli / 部署工具,因此最新版本的 hagrid 通常是最佳选择。

Syft 是 OpenMined 的 开源 技术栈,提供 Python 中的 安全 和 隐私 数据科学。Syft 将 私有数据 与模型训练分离,使用 联邦学习、差分隐私 和 加密计算 等技术。它通过类似 numpy 的接口以及与 深度学习 框架的集成来实现,让您作为 数据科学家 可以在使用这些新的 隐私增强技术 的同时,保持现有的工作流程。
Syft 允许 数据科学家 向一个 数据集 提出 问题,并在 数据所有者 设定的 隐私限制 内获得这些 问题 的 答案,而无需获取数据本身的 副本。我们将此过程称为 远程数据科学。这意味着在社会的各个 领域 中,当前与某人共享信息 (复制数据) 所带来的 风险,如隐私侵犯、知识产权盗窃和勒索,将不再阻碍安全访问所能提供的巨大 益处,例如创新、洞察和科学发现。
不再需要为获取 数据集 访问权 而打冷电话。不再需要等待数周才能获得 查询 的 结果。这也意味着在每一个领域都能获得 1000倍以上的数据。PySyft 打开了通往精简数据科学家 工作流程 的大门,其核心始终是个人的 隐私。
|
👨🏻💼 数据所有者 |
👩🏽🔬 数据科学家 |
|---|---|
| 提供 `数据集`,他们希望 `外部方` 对这些数据集进行 `研究`,但可能并不完全 `信任` 其 `意图`。 | 是最终 `用户`,希望使用一个或多个数据所有者的 `数据集` 执行 `计算` 或 `回答` 特定 `问题`。 |
|
🏰 域服务器 |
🔗 网关服务器 |
| 管理 `数据科学家` 对数据的 `远程研究`,并允许 `数据所有者` 管理 `数据` 和控制研究对象的 `隐私保证`。它还充当 `数据科学家` 访问数据以进行计算和实验 `结果` 的 `看门人`。 | 为一组 `数据所有者` 和 `数据科学家` 提供服务,例如数据集 `搜索` 和批量 `项目审批` (法律/技术) 以参与项目。网关服务器充当其成员 (`域`) 及其订阅者 (`数据科学家`) 之间的桥梁,并可以一次提供对多个 `域` 的访问。 |
|
|
|
|
|---|
|
|
|
|
|---|
OpenMined 和 Syft 感谢所有贡献者,如果您想修复错误或建议新功能,请参阅我们的 指南。

|
|
|
|
|
|
|
|
|
|
|
|---|
OpenMined 在美国是财务上由 501(c)(3) 组织赞助的。我们由 Open Collective 上慷慨的支持者资助。

Syft 正在积极开发中,如果没有我们的帮助,尚未准备好用于私有数据的试点。作为早期访问参与者,如果您想提问或有想讨论的用例,请通过 Slack 或电子邮件联系我们。