一、背景与动机
隐私保护与机器学习之间的张力日益突出。用户在使用云端大模型(如ChatGPT)时,需将明文数据上传,存在严重的隐私泄露风险。
当前主流的两种替代方案:
- 将模型部署到本地;
- 通过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 框架比较
项目 | SPU | MP-SPDZ |
---|
用户语言 | 原生Python接口 | 类Python DSL |
编译方式 | JIT(动态编译) | AOT(静态编译) |
用户体验 | 更贴近机器学习开发者 | 适合安全协议研究人员 |
扩展能力 | 插拔式设计,支持多后端 | 协议众多但系统耦合度高 |
定位 | 工业级系统构建 | 学术研究平台为主 |
SPU 优势:强调用户友好、协议无感切换、与主流ML框架集成良好,适合产业落地。
MP-SPDZ 优势:协议种类全面,适合用于安全性或效率实验。
六、未来方向
- 编译器仍处早期阶段,尚未建立统一标准与优化链路。
- 可借鉴传统编译器的技术,如 Pass 合并、图分析、数据流优化等。
- 明文计算中的“废弃路径”(如不精确的优化方法)在密态计算中可能因通信成本而变得有价值,应予以重新审视。
- 倡导发展 统一中间表示语言(如PPL),以增强生态兼容性。
- 社区合作(如隐语开源社区)正在尝试构建统一的协议调用、调度与编译生态,降低MPC实际部署门槛。