[隐私计算学习笔记]8——密态引擎SPU框架介绍

目录

1. SPU的动机

1.1 问题引入

1.2 挑战及动机

2. SPU简介

2.1 前端(Frontend)

2.2 编译器(Compiler) 

2.3 运行时(Runtime)

2.4 编程界面

3. SPU的未来

4. 小结


1. SPU的动机

1.1 问题引入

        大模型预测场景(在日常使用GhatGPT或者其他大模型时,您是否考虑过潜在的隐私问题和数据安全?

       模型属于公司资产,用户的提示词包含隐私信息,如何同时保护模型不被侵犯和蕴含在提示词中的隐私信息?

解决方式:采用隐私计算技术,模型对用户是加密的,提示词对公司也是加密的。

1.2 挑战及动机

挑战:

  • 易用性差——类型简单、算子底层:大部分只提供加、乘、与、或等算子,难以实现复杂功能;
  • 性能差

动机:

  • 易用——高级语言编程、原生AI框架支持:可自定义函数、数据类型、原生AI可复用
  • 性能好——实现系统级优化:编译器运行时协同优化

2. SPU简介

        SPU(Secretflow Processing Unit)是一个虚拟加密处理设备,它作为隐语平台的密态计算单元,为隐语提供安全计算服务。

SPU架构

区别于CPU、GPU,SPU是虚拟的且更关注安全性能。

2.1 前端(Frontend)

  • 支持原生主流AI前端:Tensorflow\JAX\PyTorch等,将python代码翻译成XLA IR;
  • 降低学习成本
  • 复用AI前端能力,如自动求导

2.2 编译器(Compiler) 

  • 加载隐私保护领域中间表示(PPHLO——privacy-preserving high-level operations、PPLLO_privacy-preserving low-level operatiuons):使用MLIR技术栈对HLO进行优化并翻译成PPHLO(SPU字节码)。无法解析密态变量,形成安全闭包,任何经过加密设备的结果都是加密的。
利用MLIR框架进行二次优化
  • 复用AI编译器部分优化
  • 优化加密计算

2.3 运行时(Runtime)

        逐渐将Tensor ops拆解,经过SPU HAL(硬件抽象层,处理fxp/int),最终dispatch到协议层。

  • 支持多种并发模式——指令并行、数据并行

  • 支持多种安全协议——两方、三方、多方,半诚实模型和恶意模型,可扩展的安全协议(内部支持Semi2k、ABY3、Cheetah协议)
  • 支持多部署模式:可面向虚拟设备进行编程,并实现一次书写到处执行。

2.4 编程界面

  • 原生AI框架编程

  • 使用JIT编译执行

  • 生态无缝衔接

  • 更改安全协议——修改SPU配置文件、无需代码修改

  • 优化和错误排查——Profiling(Multi-level profiling)、Tracing(full stack trace)、Debugging(plaintext runner)

3. SPU的未来

  • 生态共建——SPU支持PPML、联邦学习、SCQL;
  • 学术支持——计算机系统、隐私保护机器学习以及密码协议创新
  • 构建加密计算生态——SPU屏蔽了密码学协议,支持Numpy原生编程,构建安全sklearn-like机器学习库、安全pandas-like数据分析库以及更多安全后端。

4. 小结

        本篇文章介绍了为什么需要SPU,以及其整体架构和各部分功能,包括前端、编译器以及运行时,还简单介绍了编程界面。SPU可以将AI模型翻译到安全设备上执行,也可以复用其他AI框架的API。

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值