【隐语SPU理论】密态引擎SPU框架介绍

学习视频:https://www.bilibili.com/video/BV1Am421G7ow

讲师:谭晋(SPU负责人)

一、为何做SPU

1. 引言

  • 考虑大模型预测的场景
    • 模型是公司资产
    • 提示词包含用户的隐私
  • 如何同时保护模型和提示词,利用隐私计算计算
    • 用户将提示词加密
    • 模型在加密环境里进行推理

在这里插入图片描述

2. 为什么需要隐私计算

  • 数据是敏感的
    • 生物识别信息: 人脸, 声音, 基因组
    • 金融信息: 收入, 消费, 贷款
    • 各国都有相应法规: PISS/GDPR
  • 数据是重要的
    • 数据是互联网公司最重要的资产
    • 联合数据产生更大的价值

3. 隐私计算技术路线

在这里插入图片描述

  • 隐私保护的技术分类

    • 多方安全计算

    • 同态加密

    • 差分隐私

    • 可信硬件

      ……

  • 将上述抽象应用于引言中讨论的大模型

    • 模型权重保存在LLM公司
    • 用户的提示词在用户侧可见

    在这里插入图片描述

4. 加密计算的问题和挑战

在这里插入图片描述

  • 加密计算的挑战:

    • 易用性差—类型简单(加法/乘法)、算子底层
    • 性能较差
  • 我们需要

    • 易用性—高级语言编程
    • 性能好—系统性优化
  • SPU应运而生

    • 易用—原生AI框架支持

    • 性能好—编译器运行时协同优化

在这里插入图片描述

二、SPU简介

一个虚拟加密处理设备

  • CPU、GPU和SPU的类比
    在这里插入图片描述

    • CPU是一个物理、通用和快速的设备
    • GPU是一个物理、高性能并行计算设备
    • SPU是一个虚拟的、安全的、多个参与方的、运算相对较慢的设备。

1. 前端

在这里插入图片描述

  • 编程语言复用原生支持主流AI前端:Tensorflow、JAX、PyTorch
  • 降低学习成本
  • 复用AI前端能力,如自动求导

2. 编译器

在这里插入图片描述

  • 将前端产生的机器学习表达加入自定义的隐私保护语义,翻译到运行时。

  • 隐私保护领域IR:PPHLO和PPLLO

    PP: Privacy Preserving

    HLO: High Level Ops

    LLO: Low Level Ops

    任何数据和密态变量进行计算,结果仍为密态变量。
    在这里插入图片描述

  • 加密计算的优化

    • 密文 ✖️ 明文 = 明文 ✖️ 明文 ✖️ 密文

      更多的明文计算,优化性能

    • 条件变量前置处理

在这里插入图片描述

3. 运行时

  • 多种并发模型支持

    交替出现的本地计算和网络通信

    • 本地计算,网络等待
    • 网络交互,本地计算空闲

    矩阵拆块,提高吞吐量。
    在这里插入图片描述

  • 支持多种协议
    在这里插入图片描述

    • 两方、三方、多方
    • 半诚实、恶意
    • 安全协议可扩展
  • 支持多部署模式

    • 物理部署透明
    • 面向虚拟设备面呈
    • 一次书写到处执行

在这里插入图片描述

  • 左边是物理Layout,右边是虚拟Layout。
  • 在物理部署中可以看到两种方式:
    • out-sourcing:参考left-upper图例,计算节点和数据节点分离
    • collocation:参考left-lower图例,计算节点和数据节点均参与到计算中
  • 右侧为SPU抽象的虚拟部署方式:
    • 三个数据提供节点
    • 一个虚拟SPU

4. 编程界面

  • 原生AI框架编程:

    • 定义比较逻辑
    • 定义数据来源
    • 在SPU上运行

    对于百万富翁比较问题,可以直接使用jax.numpy或者numpy包。
    在这里插入图片描述

  • 使用JIT编译执行

    将compare编译为子节码,让SPU虚拟机运行。

在这里插入图片描述

  • 生态无缝衔接

    模拟大模型进行的推理的过程:

    • P1模拟用户,输入query token
    • P2模拟大模型部署商,提供对应的模型服务能力

在这里插入图片描述

  • 修改配置文件即可更改安全协议

    node_ids指定参与方,runtime_configprotocol指定协议。

    • Upper图例对应3个参与方,运行ABY3协议
    • Lower图例对应2个参与方,运行CHEETAH协议
      在这里插入图片描述
  • 优化和错误排查

    • Profiling – multi-level profiling
    • Tracing – full stack trace
    • Debugging – plaintext runner

三、现状和展望

1. 现状

  • 隐语开源生态

    • SPU 支持 PPML
    • SPU 支持联邦学习
    • SPU 支持 SCQL
  • 学术支持

    • 计算机系统
    • 隐私保护机器学习
    • 密码协议创新

2. 构建加密计算生态

在这里插入图片描述

​ SPU 屏蔽了密码学协议,支持numpy原生编程

  • 建安全sklearn-like机器学习库
  • 构建安全pandas-like数据分析库
  • 支持更多的安全后端
  • 29
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
隐语框架与TEE(可信执行环境)的配合可以实现数据加密。隐语框架主要解决的是数据隐私保护和安全计算的问题,而TEE是一种安全的硬件或软件环境,可以提供可信的执行环境来保护数据和计算过程的安全性。通过将隐语框架与TEE结合,可以实现数据在计算过程中的加密和保护。 在隐语框架中,数据可以使用全密态计算或明密文混合计算的方式进行加密。全密态计算是一种在密文环境中进行计算的方式,数据在计算过程中一直保持加密状态,可以使用Secure Aggregation算法、MPC密态引擎、同态加密等技术来进行计算。而明密文混合计算则是将部分计算从密文环境搬到明文环境,在明文环境中进行计算可以提升计算的性能,同时通过安全退让来保证数据的安全性。 TEE提供了一个可信的执行环境,可以保护计算过程中的数据和代码安全。在隐语框架中,可以使用TEE来实现数据的加密和解密操作,以及进行安全计算。TEE可以提供硬件级的安全保护,例如Intel SGX和ARM TrustZone等,也可以通过软件模拟的方式提供安全执行环境。 通过隐语框架配合TEE实现数据加密,可以在保护数据隐私的前提下,进行安全的计算和数据交换。这种组合可以应用于各种场景,例如联邦学习、数据交易市场等,为数据安全和隐私保护提供了一种可行的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [隐私计算技术|深度解读可信隐私计算框架隐语”](https://blog.csdn.net/m0_69580723/article/details/126662952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值