目录
1. NN密态训练/推理实例
1.1 以逻辑回归为例
- 数据来源
数据提供方Alice、Bob加载数据,对应P1、P2 device
- 加密保护数据
数据方对数据加密发送给MPC计算方,采用外包模式,计算方拿到的是密文。
- 定义模型计算
使用JAX手动实现前向与反向传播。
- 执行密态模型计算
计算方以密文数据作为输入,将模型的训练/推理计算图通过SPU编译器转换为相应的密态算子计算图。由SPU device按照MPC协议逐个执行。
ppd.device中,P1、P2对应明文输入设备,SPU对应由两方Cheetah协议实现的密态计算设备,通过SPU device抽象来实现PPML中的数据输入以及密态训练/推理。
1.2 stax/flax
作用:用于更为复杂的建模。
1.3 Huggingface+GPT2
作用:复用已经构建好的模型。
- Huggingface明文实现
- 迁移到密态推理
CPU与SPU对比
- 支持不同模型
实现所需的密态算子、目前SPU缺失或者性能有优化空间。
2. 小结
本篇关注密态训练和推理原理与具体实现方法,通过SPU实现隐私训练和隐私推理。