opacus

几行代码给 PyTorch 训练加差分隐私,防数据泄露

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1963
维护状态 较活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类模型训练
开发团队meta-pytorch
所属国家
官网地址https://opacus.ai
定价模式free
价格说明开源免费,Apache-2.0 许可证
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型deep-learning,differential-privacy,machine-learning,neural-network,privacy-preserving-machine-learning,pytorch
GitHub 星标★ 1963
30天Star增速
HF 下载量
上线时间2019-12-07 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-12
浏览次数0

项目介绍

Opacus 是 Meta 开源的 PyTorch 差分隐私训练库,目标是让开发者用最小的代码改动,在 PyTorch 模型训练中引入可量化、可证明的隐私保护。它解决的核心问题是:传统深度学习训练会记忆训练数据,模型可能泄露个体样本信息;而差分隐私通过给梯度加噪、裁剪每样本梯度贡献,为训练过程提供数学上的隐私保证。核心能力包括:一行代码把普通优化器替换为隐私优化器(PrivacyEngine),支持 DP-SGD、每样本梯度裁剪、噪声乘数与隐私预算(epsilon/delta)追踪,兼容常见模型、CNN/RNN/Transformer 以及分布式训练,还提供隐私会计与梯度采样等工具。对需要合规处理用户数据的团队,Opacus 让隐私保护从研究论文变成可落地的工程实践。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Python 环境(用于运行 PyTorch 训练代码)
  • 已安装 PyTorch(Opacus 用于训练 PyTorch 模型)
  • 可用的 pip 或 conda 包管理器

安装与启动步骤

  1. 1用 pip 安装

    官方推荐的安装方式,一条命令即可完成,对原有训练代码几乎无侵入。

    pip install opacus
  2. 2用 conda 安装

    如果习惯使用 conda 环境管理,可改用 conda-forge 渠道安装,效果等价。

    conda install -c conda-forge opacus
  3. 3从源码安装

    想体验最新特性时使用,但源码版可能包含未稳定的改动甚至偶发 bug。

    git clone https://github.com/pytorch/opacus.git
    cd opacus
    pip install -e .
  4. 4改造训练流程

    实例化 PrivacyEngine,把 model、data_loader、optimizer 传入 make_private(),用返回的私有版本继续训练。

如何确认成功

在 Python 中执行 import opacus 不报错,或用 pip show opacus 能查到已安装的版本信息。

常见问题

Q:引入差分隐私需要改很多训练代码吗?

A:不需要。README 强调只需实例化 PrivacyEngine,并把 model、data_loader、optimizer 交给 make_private() 获取对应的私有版本即可。

Q:pip 和 conda 两种安装方式该选哪个?

A:两者都可以:pip install opacus,或 conda install -c conda-forge opacus,按你的环境管理习惯选择即可。

Q:什么时候需要从源码安装?

A:当你需要最新特性时,可 git clone 仓库后执行 pip install -e . 从源码安装,但需接受可能出现的偶发问题。

Q:训练时的隐私消耗能监控吗?

A:可以。README 说明 Opacus 允许客户端在任何时刻在线追踪已消耗的隐私预算。

注意事项

  • 源码安装方式会包含最新特性,同时也可能带来未稳定的行为,生产环境建议优先用发布版本。
  • 调用 make_private() 后要使用它返回的私有 model、data_loader 和 optimizer 继续训练,而不是原来的对象。
  • README 只给出了 PrivacyEngine 与 make_private() 的用法说明,未提供具体参数配置项。

核心亮点

  • API 侵入性低,用 PrivacyEngine 包装模型/优化器/数据加载器即可开启 DP-SGD
  • 提供隐私预算追踪与会计工具,能直观看到 epsilon/delta 消耗
  • 由 Meta 维护,与 PyTorch 生态集成好,支持常见层和分布式训练

不足之处

  • 加噪与梯度裁剪会带来训练速度下降和精度损失,需调参权衡
  • 对部分自定义层、动态结构或特殊训练流程的兼容性仍有限

适用场景

  • 医疗、金融等敏感数据场景下训练模型,需满足隐私合规
  • 在联邦学习或用户端数据上做本地训练,防止个体信息泄露
  • 学术研究差分隐私与深度学习结合,快速复现 DP-SGD 实验

替代项目

TensorFlow Privacy、PySyft

上一篇:torchtitan

下一篇:SAELens

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 63550 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1314 2026-08-13