PySyft 是一个开源 Python 库,旨在通过利用联邦学习、安全多方计算和差分隐私等技术来实现保护隐私的机器学习 (ML)。 它作为 PyTorch 和 TensorFlow 的扩展而构建,允许开发人员在去中心化数据上训练 ML 模型,而无需直接访问来自用户或设备的原始数据。 它的主要目标是解决无法集中敏感数据的情况下的隐私问题,例如在医疗保健或金融领域。 PySyft 通过提供工具来管理跨分布式“工作节点”(例如,设备、服务器或组织)的数据,同时在计算过程中保持数据的本地化和加密来实现这一点。
PySyft 通过支持跨多个隔离数据源的模型训练来直接支持联邦学习。 在典型的联邦设置中,每个工作节点都拥有自己的数据集,并且模型被发送到这些工作节点进行本地训练。 PySyft 处理模型更新的协调、梯度或参数的聚合以及中央服务器和工作节点之间的安全通信。 例如,一个医院联盟可以使用 PySyft 在存储在不同机构的患者数据上训练诊断模型,而无需共享原始医疗记录。 该库抽象了诸如加密和网络通信之类的复杂性,使开发人员可以专注于 ML 工作流程。 它还与 PyGrid 集成,PyGrid 是一个用于大规模部署联邦学习系统的后端框架,从而更容易管理分布式节点。
一个实际的例子包括在来自用户设备的文本数据上训练情感分析模型。 使用 PySyft,开发人员可以将模型发送到每个设备,在本地计算更新,并且仅聚合模型更改,而不是文本数据本身。 该库确保数据保留在设备上,并使用安全协议来传输更新。 PySyft 还支持高级隐私技术,如差分隐私,它会向梯度添加噪声以防止逆向工程敏感信息。 对于开发人员来说,这意味着他们可以用最少的代码更改现有 PyTorch 或 TensorFlow 代码来实现联邦学习工作流程,并使用熟悉的张量和模型 API。 通过抽象低级隐私机制,PySyft 降低了在现实世界应用中采用安全、去中心化 ML 的门槛。