关于 ai-data-retention
面向 AI 合规与数据治理工作的技能,涵盖训练数据保留政策、删除验证和机器遗忘方法。适用于需要处理 GDPR 数据删除请求并管理模型生命周期的团队。
主要功能
- 01按类别制定数据保留规则
- 02比较精确与近似遗忘方法
- 03验证遗忘效果
- 04记录模型版本与删除
- 05定义重新训练触发条件
适用场景
- 01确定训练数据何时删除
- 02回应影响训练数据的删除请求
- 03验证模型是否遗忘指定记录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill ai-data-retention安装后在 Claude Code 中输入/ai-data-retention确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py详细介绍
AI 模型保留与遗忘
概述
GDPR 第 5(1)(e) 条的存储限制要求,个人数据的保存时间不得超过实现处理目的所必需的期限。对于 AI 系统,这带来了复杂的数据保留挑战:用于构建模型的训练数据在训练完成后可能不再需要,但模型本身编码了有关训练数据的信息。机器遗忘——从已训练模型中移除特定数据影响的过程——是一门新兴领域,旨在解决删除训练数据与消除其对模型参数的影响之间的差距。本技能提供 AI 合规所需的数据保留政策、删除验证方法和机器遗忘技术。
AI 数据保留类别
| 数据类别 | 描述 | 保留注意事项 |
|---|---|---|
| 原始训练数据 | 用于模型训练的原始个人数据 | 除非重新训练需要,否则训练结束后删除 |
| 处理后的训练数据 | 清理、增强和特征工程后的数据 | 与原始数据相同——训练目的完成后删除 |
| 验证/测试数据 | 用于模型评估的数据 | 为模型审计和比较而保留;进行假名化处理 |
| 模型权重/参数 | 编码了训练数据信息的已训练模型产物 | 模型部署期间保留;退役时删除 |
| 推理日志 | 模型预测的输入和输出 | 根据目的保留(审计、调试、权利行使) |
| 模型元数据 | 训练配置、超参数、来源信息 | 作为合规文档保留;隐私风险较低 |
| 嵌入向量 | 从个人数据中导出的稠密表示 | 可能包含个人数据——应用保留政策 |
保留政策框架
训练数据保留决策树
Training data category identified
│
├─ Is the data still needed for model retraining?
│ ├─ YES → Retain with documented justification and review date
│ └─ NO → Continue
│
├─ Is the data needed for model validation or audit?
│ ├─ YES → Retain in pseudonymised form with access controls
│ └─ NO → Continue
│
├─ Is the data needed for data subject rights exercise?
│ ├─ YES → Retain for rights exercise period, then delete
│ └─ NO → Continue
│
├─ Is there a legal obligation to retain?
│ ├─ YES → Retain per legal requirement
│ └─ NO → DELETE the training data
│
└─ After deletion: assess model for residual data encoding
模型生命周期保留
| 阶段 | 保留规则 |
|---|---|
| 开发 | 在积极开发期间保留训练数据 |
| 部署 | 除非计划在规定期限内重新训练,否则删除训练数据 |
| 运行 | 根据目的保留推理日志(调试保留 30 天,审计保留 1 年) |
| 重新训练 | 收集新的训练数据;训练完成后删除旧数据 |
| 退役 | 删除所有模型产物、训练数据和日志;仅保留合规文档 |
机器遗忘技术
精确遗忘
完全重新训练:从头开始,使用删除指定记录后的数据集重新训练模型。
| 属性 | 值 |
|---|---|
| 保证 | 完全——模型不再包含已删除数据的信息 |
| 成本 | 极高——每次删除请求都需要承担完整训练成本 |
| 可行性 | 对大型模型或频繁的删除请求并不实用 |
| 适用场景 | 小型模型、请求不频繁、敏感度高的数据 |
SISA(分片、隔离、切片、聚合)训练
在分片后的数据分区上训练模型。若要遗忘,只需重新训练受影响的分片。
| 属性 | 值 |
|---|---|
| 保证 | 在受影响的分片内精确 |
| 成本 | 完整重新训练成本的 1/k(k = 分片数量) |
| 可行性 | 需要从一开始就采用 SISA 架构 |
| 权衡 | 参与训练的分片越少,模型准确度可能越低 |
近似遗忘
基于梯度的遗忘
对要遗忘的数据应用梯度上升,然后使用剩余数据进行微调。
| 属性 | 值 |
|---|---|
| 保证 | 近似——与重新训练的模型在统计上相似 |
| 成本 | 低——只需进行少量梯度步骤 |
| 可行性 | 适用于大多数可微模型 |
| 验证 | 需要通过成员推断测试进行验证 |
基于影响函数的遗忘
使用影响函数估算移除数据所产生的影响,并据此调整模型。
| 属性 | 值 |
|---|---|
| 保证 | 近似——一阶近似 |
| 成本 | 中等——需要计算 Hessian |
| 可行性 | 最适用于较小模型或线性模型 |
遗忘验证
应用遗忘后,验证其有效性:
- 成员推理测试:对已遗忘的记录运行 MI 攻击——应将其判定为非成员
- 输出比较:比较使用和不使用已遗忘数据时的模型输出
- 金丝雀测试:如果包含了金丝雀记录,验证它们是否已无法提取
- 统计测试:将模型与使用相同数据(但不含已删除记录)从头重新训练的模型进行比较
用于合规的模型版本控制
版本控制要求
| 要素 | 文档记录 |
|---|---|
| 模型版本 ID | 唯一标识符(例如,model-v2.3.1-20260314) |
| 训练数据快照 | 此版本所用训练数据集的哈希值 |
| 训练日期 | 执行训练的日期 |
| 已应用的数据删除 | 此版本中反映了哪些数据主体的删除请求 |
| 已应用的遗忘 | 自上次完整重新训练以来应用的任何近似遗忘 |
| 隐私属性 | DP epsilon、此版本的 MI 测试结果 |
| 部署日期 | 部署和退役的时间 |
重新训练触发条件
| 触发条件 | 操作 |
|---|---|
| 累计删除请求超过阈值 | 使用更新后的数据集进行完整重新训练 |
| 定期计划重新训练 | 纳入所有待处理的删除请求 |
| 隐私审计发现不可接受的数据泄露 | 采用增强的隐私措施重新训练 |
| 模型性能下降 | 使用当前数据(已完成删除后)重新训练 |
| 监管规定变更 | 评估是否需要重新训练以确保合规 |
执法相关性
- EDPB 指南 04/2025:必须证明保留训练数据的合理性;如果模型编码了个人数据,删除训练数据并不会自动免除该模型的 GDPR 义务。
- Garante 诉 OpenAI(2023):要求建立从训练数据中删除数据的机制;认可其中的技术挑战,但期望尽力而为。
- EDPB ChatGPT 工作组(2024):控制者必须证明其有能力处理影响训练数据的擦除请求。
集成点
- ai-data-subject-rights:擦除权的落实需要遗忘机制
- ai-dpia:在 DPIA 中评估数据保留和删除能力
- ai-model-privacy-audit:审计验证删除是否有效
- ai-training-lawfulness:在合法依据评估中说明保留数据的合理性
评论
支持 Markdown