01 预处理和隐私求交
预处理: DataFrame和FedNdarray
-
DataFrame:
- 封装: 联邦表格数据
- 组成: 由多个参与方的数据块构成
- 切分:
- 水平切分: HDataFrame
- 垂直切分: VDataFrame
- 混合切分: MixDataFrame
- API: 提供读写API,可直接使用
-
FedNdarray:
- 封装: 联邦ndarray
- 组成: 由多个参与方的数据块构成
- 切分:
- 水平切分
- 垂直切分
- API: 提供读写API
隐语还提供了多种预处理工具处理这些数据。可以直接使用DataFrame API处理数据,或者使用sf.preprocessing包内的各类预处理组件处理。
隐私求交(PSI)
- 定义: 使用密码学方法获取两份数据内容的交集,不泄露交集以外的信息。
- 应用场景:
- 垂直拆分场景中的数据对齐
- 数据分析或机器学习建模的前置步骤
- 隐语PSI使用方式:
- 提供多种PSI算法,可根据参与方数量、带宽、算力、数据不平衡度等不同场景选择合适的算法(详细列表请参考文档)。
决策树模型
隐语支持多种决策树算法(如XGB),同时支持回归和二分类训练,可根据使用场景和安全性需求选用。
线性回归模型
隐语支持多种线性回归模型,满足不同使用场景,并有针对性的优化。
神经网络算法
根据使用场景不同,隐语提供两种神经网络算法:水平联邦学习和垂直拆分学习,并分别提供两套API。
水平联邦学习
- FLModel:
- 定义: 一个通用范式
- 后端: 支持TensorFlow和PyTorch
- 使用方式: 使用tf或torch原生方式编写模型代码,然后使用FLModel训练
- 封装模型库: 支持如torchvision和tf.keras.applications
- FLModel选项:
- 自定义数据加载器,支持DataFrame、文件、图片等
- 内置或自定义的安全聚合算法
- 内置或自定义的联邦学习策略
- 选择训练后端(TensorFlow或PyTorch)
垂直拆分学习
- SLModel:
- 定义: 一个通用范式
- 后端: 支持TensorFlow和PyTorch
- 使用方式: 使用tf或torch原生方式编写模型代码,然后使用SLModel训练
- 架构: 模型被拆分成多份,分别分布在不同的参与方
- 模型库: 提供拆分好的模型库
sf.ml.nn.applications
- SLModel选项:
- 自定义数据加载器,支持DataFrame、文件、图片等
- 内置或自定义的通信优化算法
- 内置或自定义的垂直拆分策略
- 选择训练后端(TensorFlow或PyTorch)
隐语通过封装DataFrame和FedNdarray提供预处理工具,并通过PSI实现隐私求交。决策树、线性回归和神经网络等模型在隐语中提供多种实现方式和优化选项,确保在不同场景中的有效应用。水平联邦学习和垂直拆分学习提供丰富的选项和灵活性,支持TensorFlow和PyTorch两种后端,帮助用户轻松实现隐私保护下的模型训练。

2154

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



