Zing 论坛

正文

Erasus:无需重新训练即可从基础模型中"遗忘"数据的开源框架

Erasus 是一个基于核心集选择(coreset selection)的机器遗忘框架,能够以极低的计算成本从大型语言模型、视觉语言模型和扩散模型中精确移除特定概念、行为或训练样本,计算成本仅为重新训练的2%-8%。

机器遗忘machine unlearning核心集选择coreset selectionAI安全隐私保护大模型LLM扩散模型PyTorch
发布时间 2026/04/04 01:41最近活动 2026/04/04 01:49预计阅读 12 分钟
Erasus:无需重新训练即可从基础模型中"遗忘"数据的开源框架
1

章节 01

导读 / 主楼:Erasus:无需重新训练即可从基础模型中"遗忘"数据的开源框架

Erasus 是一个基于核心集选择(coreset selection)的机器遗忘框架,能够以极低的计算成本从大型语言模型、视觉语言模型和扩散模型中精确移除特定概念、行为或训练样本,计算成本仅为重新训练的2%-8%。

2

章节 02

背景

Erasus:高效机器遗忘的新范式\n\n在人工智能快速发展的今天,大型基础模型(如GPT、Stable Diffusion等)已经在各种任务上展现出惊人的能力。然而,这些模型在训练过程中不可避免地会接触到一些敏感、有害或受版权保护的数据。当需要移除这些数据的影响时,传统的做法是完全重新训练模型——但这对于数十亿参数的模型来说,成本极其高昂。\n\n## 机器遗忘的核心挑战\n\n机器遗忘(Machine Unlearning)旨在让模型"忘记"特定的训练数据或概念,而无需从头开始重新训练。这个领域面临着一个根本性的矛盾:\n\n** naive 的机器遗忘方法需要对遗忘集中的每一个样本执行昂贵的操作**(如梯度上升、Fisher遗忘、知识蒸馏等)。当遗忘集包含500个样本,而模型有500亿参数时,这种操作的成本几乎与完全重新训练相当——而这正是机器遗忘想要避免的。\n\n## Erasus 的核心洞察:支持向量式的遗忘\n\nErasus 项目提出了一个关键的观察:遗忘集中的大多数样本是冗余的。它们对模型记忆内容的贡献,往往可以被少数边界样本和高影响力点所捕获。这与支持向量机(SVM)的原理类似——决策边界由支持向量定义,而非所有训练点。\n\nErasus 将这种思想应用于机器遗忘领域,通过核心集选择(Coreset Selection)技术,识别出遗忘集中最具代表性的最小子集。然后,只需要对这些核心样本执行昂贵的遗忘操作,就能近似实现完整遗忘集的效果。\n\n## 技术架构与工作流程\n\nErasus 的工作流程可以概括为四个阶段:\n\n### 1. 核心集选择\n\nErasus 提供了24种不同的选择器(selector),包括:\n- 基于影响力函数的方法:识别对模型输出影响最大的样本\n- 基于梯度几何的方法:利用梯度空间中的几何关系选择代表性样本\n- 基于学习的方法:通过训练选择器网络自动发现核心集\n\n### 2. 针对性遗忘\n\n选定核心集后,Erasus 支持41种不同的遗忘策略,涵盖:\n- 梯度上升(Gradient Ascent)\n- Fisher遗忘(Fisher Forgetting)\n- SCRUB(Selective Catastrophic Removal via Unlearning Backdoors)\n- NPO(Negative Preference Optimization)\n- 知识蒸馏等\n\n### 3. 多模态支持\n\nErasus 的独特之处在于其通用性。它通过统一的API支持:\n- 大型语言模型(LLMs)\n- 视觉语言模型(VLMs)\n- 扩散模型(Diffusion Models)\n- 音频模型\n- 视频模型\n\n### 4. 验证与认证\n\nErasus 内置了25种以上的评估指标,包括成员推理攻击(Membership Inference Attacks)、准确率检查和认证移除边界(Certified Removal Bounds),确保遗忘操作的有效性和可验证性。\n\n## 性能表现:计算效率的飞跃\n\nErasus 的核心优势在于其惊人的计算效率。实验数据显示:\n\n| 方法 | 处理的遗忘集比例 | 相对于重新训练的成本 |\n|------|------------------|---------------------|\n| 完全重新训练 | N/A | 1.0x |\n| Naive 遗忘 | 100% | 0.3-0.8x |\n| 核心集遗忘 | 5-10% | **0.02-0.08x** |\n\n这意味着,使用 Erasus 进行机器遗忘,计算成本仅为完全重新训练的2%到8%,同时保持了模型在保留数据上的效用。\n\n### 核心集消融实验\n\n实验结果表明,当核心集比例控制在5-30%时,模型在保留数据上的准确率与基础模型相比差异在1%以内,而对遗忘数据的准确率则降至接近0。这证明了核心集方法的有效性——用极少的数据点实现了与完整遗忘集相当的效果。\n\n### 基准测试 leaderboard\n\nErasus 在三个标准协议上进行了全面评估:\n\n- TOFU(Task of Forget Unlearning):最佳方法为知识蒸馏,遗忘准确率0.0300,保留准确率0.1913\n- MUSE:最佳方法为 safe_latents,遗忘准确率0.0156,保留准确率0.2109\n- WMDP(Bio):最佳方法为 attention_unlearning,遗忘准确率0.1250,保留准确率0.3984\n\n## 实际应用价值\n\n### 隐私合规\n\n随着GDPR、CCPA等隐私法规的实施,用户有权要求删除其数据对模型的影响。Erasus 提供了一种高效、可验证的方式来满足这些"被遗忘权"请求,而无需承担重新训练模型的巨大成本。\n\n### 有害内容移除\n\n当模型学习到有害、偏见或不当内容时,Erasus 可以精确地移除这些影响,同时保留模型的其他能力。这对于AI安全和对齐至关重要。\n\n### 版权与知识产权\n\n对于训练数据中包含的受版权保护内容,Erasus 提供了一种机制来消除模型对这些特定内容的记忆,帮助模型开发者在法律合规和模型性能之间找到平衡。\n\n## 使用方法\n\nErasus 提供了多层次的API设计,从高级一键式接口到低级可组合原语:\n\n### 高级API\n\npython\nfrom erasus import ErasusUnlearner\n\nunlearner = ErasusUnlearner(\n model=model,\n strategy=\"gradient_ascent\",\n selector=\"influence\",\n precision=\"bf16-mixed\",\n)\nresult = unlearner.fit(\n forget_data=forget_loader,\n retain_data=retain_loader,\n epochs=5,\n)\n\n\n### 可组合原语\n\n对于需要自定义训练循环的用户:\n\npython\nfrom erasus.fabric import select_coreset, apply_gradient_ascent\n\nindices = select_coreset(\"influence\", model, forget_loader, k=100)\napply_gradient_ascent(model, forget_loader, lr=1e-4, epochs=3)\n\n\n### 增量遗忘\n\nErasus 还支持增量式遗忘,适用于需要持续处理新的删除请求的场景:\n\npython\nfrom erasus.unlearners.continual_unlearner import ContinualUnlearner\n\nunlearner = ContinualUnlearner(model, strategy=\"gradient_ascent\")\nresult = unlearner.incremental_fit(ds)\n\n# 后续新的删除请求\nds.mark_forget([42, 88])\nresult = unlearner.incremental_fit(ds, previous_result=result)\n\n\n## 开源生态与未来展望\n\nErasus 项目采用MIT许可证开源,提供了完整的文档、基准测试和CLI工具。项目还包含了详细的benchmarks,涵盖了核心集比较、权衡曲线和多模态结果。\n\n机器遗忘是一个快速发展的研究领域,Erasus 通过核心集选择的方法为该领域提供了一个高效、通用且可扩展的解决方案。随着AI模型变得越来越大、部署越来越广泛,像 Erasus 这样的工具将在确保AI系统的可控性、安全性和合规性方面发挥越来越重要的作用。

3

章节 03

补充观点 1

Erasus:高效机器遗忘的新范式\n\n在人工智能快速发展的今天,大型基础模型(如GPT、Stable Diffusion等)已经在各种任务上展现出惊人的能力。然而,这些模型在训练过程中不可避免地会接触到一些敏感、有害或受版权保护的数据。当需要移除这些数据的影响时,传统的做法是完全重新训练模型——但这对于数十亿参数的模型来说,成本极其高昂。\n\n机器遗忘的核心挑战\n\n机器遗忘(Machine Unlearning)旨在让模型"忘记"特定的训练数据或概念,而无需从头开始重新训练。这个领域面临着一个根本性的矛盾:\n\n** naive 的机器遗忘方法需要对遗忘集中的每一个样本执行昂贵的操作**(如梯度上升、Fisher遗忘、知识蒸馏等)。当遗忘集包含500个样本,而模型有500亿参数时,这种操作的成本几乎与完全重新训练相当——而这正是机器遗忘想要避免的。\n\nErasus 的核心洞察:支持向量式的遗忘\n\nErasus 项目提出了一个关键的观察:遗忘集中的大多数样本是冗余的。它们对模型记忆内容的贡献,往往可以被少数边界样本和高影响力点所捕获。这与支持向量机(SVM)的原理类似——决策边界由支持向量定义,而非所有训练点。\n\nErasus 将这种思想应用于机器遗忘领域,通过核心集选择(Coreset Selection)技术,识别出遗忘集中最具代表性的最小子集。然后,只需要对这些核心样本执行昂贵的遗忘操作,就能近似实现完整遗忘集的效果。\n\n技术架构与工作流程\n\nErasus 的工作流程可以概括为四个阶段:\n\n1. 核心集选择\n\nErasus 提供了24种不同的选择器(selector),包括:\n- 基于影响力函数的方法:识别对模型输出影响最大的样本\n- 基于梯度几何的方法:利用梯度空间中的几何关系选择代表性样本\n- 基于学习的方法:通过训练选择器网络自动发现核心集\n\n2. 针对性遗忘\n\n选定核心集后,Erasus 支持41种不同的遗忘策略,涵盖:\n- 梯度上升(Gradient Ascent)\n- Fisher遗忘(Fisher Forgetting)\n- SCRUB(Selective Catastrophic Removal via Unlearning Backdoors)\n- NPO(Negative Preference Optimization)\n- 知识蒸馏等\n\n3. 多模态支持\n\nErasus 的独特之处在于其通用性。它通过统一的API支持:\n- 大型语言模型(LLMs)\n- 视觉语言模型(VLMs)\n- 扩散模型(Diffusion Models)\n- 音频模型\n- 视频模型\n\n4. 验证与认证\n\nErasus 内置了25种以上的评估指标,包括成员推理攻击(Membership Inference Attacks)、准确率检查和认证移除边界(Certified Removal Bounds),确保遗忘操作的有效性和可验证性。\n\n性能表现:计算效率的飞跃\n\nErasus 的核心优势在于其惊人的计算效率。实验数据显示:\n\n| 方法 | 处理的遗忘集比例 | 相对于重新训练的成本 |\n|------|------------------|---------------------|\n| 完全重新训练 | N/A | 1.0x |\n| Naive 遗忘 | 100% | 0.3-0.8x |\n| 核心集遗忘 | 5-10% | **0.02-0.08x** |\n\n这意味着,使用 Erasus 进行机器遗忘,计算成本仅为完全重新训练的2%到8%,同时保持了模型在保留数据上的效用。\n\n核心集消融实验\n\n实验结果表明,当核心集比例控制在5-30%时,模型在保留数据上的准确率与基础模型相比差异在1%以内,而对遗忘数据的准确率则降至接近0。这证明了核心集方法的有效性——用极少的数据点实现了与完整遗忘集相当的效果。\n\n基准测试 leaderboard\n\nErasus 在三个标准协议上进行了全面评估:\n\n- TOFU(Task of Forget Unlearning):最佳方法为知识蒸馏,遗忘准确率0.0300,保留准确率0.1913\n- MUSE:最佳方法为 safe_latents,遗忘准确率0.0156,保留准确率0.2109\n- WMDP(Bio):最佳方法为 attention_unlearning,遗忘准确率0.1250,保留准确率0.3984\n\n实际应用价值\n\n隐私合规\n\n随着GDPR、CCPA等隐私法规的实施,用户有权要求删除其数据对模型的影响。Erasus 提供了一种高效、可验证的方式来满足这些"被遗忘权"请求,而无需承担重新训练模型的巨大成本。\n\n有害内容移除\n\n当模型学习到有害、偏见或不当内容时,Erasus 可以精确地移除这些影响,同时保留模型的其他能力。这对于AI安全和对齐至关重要。\n\n版权与知识产权\n\n对于训练数据中包含的受版权保护内容,Erasus 提供了一种机制来消除模型对这些特定内容的记忆,帮助模型开发者在法律合规和模型性能之间找到平衡。\n\n使用方法\n\nErasus 提供了多层次的API设计,从高级一键式接口到低级可组合原语:\n\n高级API\n\npython\nfrom erasus import ErasusUnlearner\n\nunlearner = ErasusUnlearner(\n model=model,\n strategy=\"gradient_ascent\",\n selector=\"influence\",\n precision=\"bf16-mixed\",\n)\nresult = unlearner.fit(\n forget_data=forget_loader,\n retain_data=retain_loader,\n epochs=5,\n)\n\n\n可组合原语\n\n对于需要自定义训练循环的用户:\n\npython\nfrom erasus.fabric import select_coreset, apply_gradient_ascent\n\nindices = select_coreset(\"influence\", model, forget_loader, k=100)\napply_gradient_ascent(model, forget_loader, lr=1e-4, epochs=3)\n\n\n增量遗忘\n\nErasus 还支持增量式遗忘,适用于需要持续处理新的删除请求的场景:\n\npython\nfrom erasus.unlearners.continual_unlearner import ContinualUnlearner\n\nunlearner = ContinualUnlearner(model, strategy=\"gradient_ascent\")\nresult = unlearner.incremental_fit(ds)\n\n后续新的删除请求\nds.mark_forget([42, 88])\nresult = unlearner.incremental_fit(ds, previous_result=result)\n\n\n开源生态与未来展望\n\nErasus 项目采用MIT许可证开源,提供了完整的文档、基准测试和CLI工具。项目还包含了详细的benchmarks,涵盖了核心集比较、权衡曲线和多模态结果。\n\n机器遗忘是一个快速发展的研究领域,Erasus 通过核心集选择的方法为该领域提供了一个高效、通用且可扩展的解决方案。随着AI模型变得越来越大、部署越来越广泛,像 Erasus 这样的工具将在确保AI系统的可控性、安全性和合规性方面发挥越来越重要的作用。