2025隐私计算实训营笔记 第四讲 基于MPC的机器学习框架

CDra_90n 2025-05-19 01:42:23

一、背景与动机

隐私保护与机器学习之间的张力日益突出。用户在使用云端大模型(如ChatGPT)时,需将明文数据上传,存在严重的隐私泄露风险。

当前主流的两种替代方案:

  1. 将模型部署到本地;
  2. 通过MPC框架保护数据隐私。

这两者要么对用户资源要求极高,要么开发门槛高,缺乏用户友好性。

整体目标是构建一个既安全又低门槛、适合机器学习开发者的隐私计算平台,使模型服务具备“即插即用”的隐私保护能力。

二、MPC基础与协议类型

MPC(安全多方计算):允许多个不互信方在不泄露私有输入的前提下完成计算任务。

 

常见的安全模型包括:

  • 参与者比例:诚实多数 vs 不诚实多数;
  • 敌手能力:半诚实(被动攻击) vs 恶意敌手(主动偏离协议)。

核心协议类型:

  • 混淆电路(Garbled Circuits):适合高延迟环境,固定通信轮数;
  • 秘密共享(Secret Sharing):高效但需多轮通信,适合低延迟网络;
  • ABY3/Replicated Sharing:工业部署中应用较多。

案例:Yao’s Millionaire 问题是经典MPC用例,启发了多轮安全协议设计。

三、PPML设计挑战

技术挑战:

  • 非线性函数难以高效实现(如sigmoid、ReLU等);
  • 定点数计算存在精度损耗;
  • 协议生态割裂、难以集成。

用户体验挑战:

  • 现有工具要求开发者显式指定协议或参与方角色,不利于推广;
  • 理想目标是添加一个隐私计算的编译器,即可将ML代码转化为隐私保护形式。

四、MPC系统架构概览

系统一般分为三层结构:

  • 前端接口层:提供用户友好的Python调用方式;
  • 编译器层:负责推理变量可见性、协议选择与图优化;
  • 后端执行层:实现具体协议的执行、状态维护及通信操作。

编译器关键能力:

  • 自动判断变量是否为私密;
  • 自动插入truncation、reveal等操作;
  • 使用中间表示(如SPU的PPL IR)进行统一调度和优化。

优化技术举例:

  • 将多次截断合并为一次;
  • 将常量合并计算以降低通信成本;
  • 控制流图重排与公共子表达式提取。

五、SPU vs MP-SPDZ 框架比较

项目SPUMP-SPDZ
用户语言原生Python接口类Python DSL
编译方式JIT(动态编译)AOT(静态编译)
用户体验更贴近机器学习开发者适合安全协议研究人员
扩展能力插拔式设计,支持多后端协议众多但系统耦合度高
定位工业级系统构建学术研究平台为主

SPU 优势:强调用户友好、协议无感切换、与主流ML框架集成良好,适合产业落地。

MP-SPDZ 优势:协议种类全面,适合用于安全性或效率实验。

六、未来方向

  • 编译器仍处早期阶段,尚未建立统一标准与优化链路。
  • 可借鉴传统编译器的技术,如 Pass 合并、图分析、数据流优化等。
  • 明文计算中的“废弃路径”(如不精确的优化方法)在密态计算中可能因通信成本而变得有价值,应予以重新审视。
  • 倡导发展 统一中间表示语言(如PPL),以增强生态兼容性。
  • 社区合作(如隐语开源社区)正在尝试构建统一的协议调用、调度与编译生态,降低MPC实际部署门槛。

 

 

...全文
35 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

562

社区成员

发帖
与我相关
我的任务
社区描述
隐语开源社区,隐私计算开发者交流和讨论的平台。
密码学可信计算技术安全 企业社区
社区管理员
  • 隐语SecretFlow
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【最新活动】

3月18日:隐私计算实训营第一期

试试用AI创作助手写篇文章吧