第 10 课:PPML入门/基于SPU机器学习建模实践

本讲主要内容是PPML入门,即基于SPU进行隐私保护的机器学习的建模实践。通过本次学习,可以了解隐私保护机器学习以及隐语SPU的架构,通过实战可以了解如何基于隐语进行隐私保护的NN模型建模。

一、隐私保护机器学习背景

        机器学习中的数据隐私问题日益受到关注,数据是至关重要的,训练高质量模型需要大量数据,同时模型服务商也需要用户输入数据作为推理输入,同时数据也包含了很多敏感信息。在发挥数据价值的同时保护数据安全成为一个需要解决的问题。 隐语提供的解决方案是基于安全多方计算(MPC)也即基于密码学。MPC是指多个参与方可以在互不泄漏任何信息(除结果外)的情况下协作计算一个函数,并且可以得到正确的计算输出。

        基于MPC的隐私保护机器学习(PPML)主要有两方面的内容,隐私训练和隐私推理。由于ML和MPC是完全不同的domain,是否可以直接以MPC的方式高效地运行已有的机器学习程序成为另一个需要解决的问题。

二、SPU架构简介

        核心系统组件包括前端(机器学习程序),编译器(生成并优化 SPU 的 IR(PPHLO)), 运行时(以MPC协议的方式执行PPHLO)。

        隐语(SecretFlow-SPU)SPU的主要设计目标:易用、可扩展、高性能。

三、NN密态训练/推理示例

        首先以逻辑回归为例,考虑如下4个问题:

        1、数据从哪来?

                数据提供方Alice,Bob加载数据;对应P1,P2 device

        2、如何加密保护数据?

                数据方对数据加密发送给MPC计算方;外包模式,计算方拿到的是密文

        3、如何定义模型计算?

                使用JAX手动实现前向与反向传播

        4、如何执行密态模型计算?

                计算方以密文数据作为输入,将模型的训练/推理计算 图通过SPU编译器转换为相应的密态算子计算图;由SPU device按照MPC协议逐个执行

        整个密态训练流程和明文ML类似,P1,P2对应明文输入设备 SPU对应由两方Cheetah协议实现的密态计算设备,通过SPU device抽象 来实现PPML中的数据输入以及密态训练/推理。

        对于逻辑回归这类简单的问题,可以通过JAX中手动实现,但是对于更为复杂的建模手动实现就不容易了,推荐使用stax or flax(基于JAX实现的针对ML的二次开发库)。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值