跳到主要内容

少动参数、洗净数据 — LoRA、匿名化与合成数据

这一章讲两类「软」技术。 它们不像 DP 那样给出数学证明,也不像加密那样重: 一类是让模型少暴露(少动参数),一类是让数据少暴露(洗净或造假)。 读完你会明白为什么第 14 章的两个真实案例,不约而同都建立在 LoRA 上。

1. 先看现象:微调一个任务,为什么要复制整个模型

第 03 章说过全量微调的账:每个任务一份全尺寸模型,几百亿参数的时代这份存储没人付得起。 工程界为此发明了参数高效微调(PEFT)——只训练一小部分参数; 而隐私研究接过来的问题是:少动参数,是不是也少泄漏? 答案是肯定的,而且机制比想象中直接。

2. 顶层全景:两个暴露面,两套压缩法

模型暴露面:可训练参数越多 → 能被记住的东西越多 → 可泄漏的面越大
↓ 解法:LoRA/QLoRA,只训 <1% 的参数
数据暴露面:原始文本进模型 → 敏感信息随之进入
↓ 解法:匿名化(洗净真实数据)/ 合成数据(干脆用假的)

图说:这一章的两半,分别压缩两个暴露面。主走查走 LoRA 这一半的数字。

3. 走查:LoRA 的 0.6475%

机制:权重更新拆成两个瘦矩阵

LoRA(低秩适配)的赌注是:微调时权重的变化量,内在秩很低—— 不需要动整个权重矩阵 W,把更新量拆成两个瘦矩阵的乘积就够1:

全量微调: W → W + ΔW (ΔW 和 W 一样大,d × k 个数)
LoRA: W → W + M1 × M2 (M1 是 d×r,M2 是 r×k,r 远小于 d、k)

冻结:W 原封不动,只训练 M1、M2

数字(书中 GPT-2 实验的原样输出)

模型:GPT-2(1.25 亿参数)
配置:r=8,lora_alpha=16,dropout=0.1,目标层=注意力的 c_attn、c_proj
结果:可训练参数 811,008 / 总参数 125,250,816 = 0.6475%

图说:六个数全是书中原样(text/40:36)。也就是说,98.5% 以上的参数
从头到尾没有变过——它们不可能记住你新数据里的任何东西。

(出处:text/40-fm-low-rank-adaptation.txt:36,搜「0.6475」。)

为什么这同时是隐私技术

书里列了四条,按因果链排2:

  1. 可训练参数少 → 模型能「存进」的容量变小,敏感数据更难被记住;
  2. 可训练面小 → 数据提取攻击的攻击面同比缩小;
  3. 参数少 → DP 噪声只需要撒在 0.65% 的参数上,同样的 ε 便宜得多—— 书里的量级判断:全量微调下 ε≤1.0 的噪声可能让性能不可接受,LoRA 下只是适度噪声3;
  4. 参数少 → 隐私审计也简单:要检查的只有那几个小适配器。

这三四两条把第 06 章和本章缝在了一起:DP-SGD + LoRA 是全书隐私训练的黄金组合, 第 14 章两个案例用的正是它。

QLoRA(在 LoRA 之上再压一层:把模型存成 4-bit 的粗粒度数字,省下大半内存)再进一层: 把原封不动的基座压成 4-bit 存(书中的配置:nf4 量化、双重量化、 bfloat16 计算),大模型的微调从「要机房」变成「消费级显卡能跑」4; 隐私侧书里给的建议是往小调秩:r=4 或 r=8,更强的隐私,可接受的性能损失5

4. 数据侧之一:匿名化,洗净了再进模型

走查:一致替换

匿名化的关键不是「把敏感词涂掉」,而是保结构。书里的管线用 Presidio 检测 PII (个人身份信息:邮箱、电话、证件号)+ spaCy 识别实体,然后做一致替换: 同一个实体,全文换成同一个占位符——"John Smith" 处处变 "PERSON_0", "New York" 处处变 "LOCATION_0"6

原文: "John Smith visited New York and met with Dr. Sarah Johnson."
匿名后: "PERSON_0 visited LOCATION_0 and met with PERSON_1."

图说:替换保留了"谁去了哪、见了谁"的关系结构——模型学的模式还在,
能指认个人的线索没了。示例来自书中代码。

为什么「一致」重要:如果同一个 "John Smith" 一会儿换成 PERSON_0 一会儿换成 PERSON_7, 模型学到的共指关系就毁了,语言结构也断了。

书里的实践口径是三段式:自动工具先跑 → 人工抽查样本 → 用隐私指标验证后才进训练7。 两个进阶提醒:替换要用同类型实体(人名换人名,别换成无意义乱码,保持语言自然)8; 以及最狠的验收标准——拿对抗手段自己试着把人重新识别出来,攻不破才算过关9

5. 数据侧之二:合成数据,造假数据护真数据

书里的比喻:像替身演员保护真演员的身份10。 合成数据的承诺:统计性质(分布、模式、关系)和真数据一致,但不含任何真实个体。

书里的玩具做法:让语言模型生成合成文本,再对字符加 Laplace 噪声。然后书自己泼了冷水, 这是全书少见的坦白:这个加噪做法只是示意,对文本生成并不构成严格的 DP 保证; 生产系统要用 DP 训练过的生成模型(专门用来造数据的模型)加正规的隐私记账11。 假数据不是天然的隐私技术——没有数学保证的「匿名」都值得怀疑

合成数据的正反两面(书里的清单):好处是数据量大、不碰原始数据、 能补稀缺场景;代价是质量难保真、隐私-效用权衡依旧,以及文本特有的 mode collapse(生成模型只会几种模式,合成数据多样性塌掉)12

验收工具倒是从第 05 章现成搬:拿成员推断攻击打自己的合成数据, 钓不出真样本才算合格;另外要把「生成器用了什么数据、什么隐私参数」写成文档备查13。 选型上书给的场景:需要对外共享研究数据、原始数据完全碰不得、有能力验证合成质量时才用14

判断(我们的,不是书里的): 这一章的三个工具其实是同一个思想的三次应用: 把「需要保护的」和「需要学习的」分开。 LoRA 分开的是参数(基座管通用, 适配器管任务);匿名化分开的是字段(结构留下,身份替换); 合成数据分开的是统计与个体(分布留下,样本造假)。判断一个隐私工具好不好用, 可以问它「分得干不干净」——涂黑名单式的遮掩(把词替换成乱码)分不干净,所以最弱。 如果错,会错在: 如果存在不靠「分离」而靠「不可逆变换」的隐私机制 (比如某些密码学混淆),这个概括就漏了;但书中覆盖的工具确实全部是分离式的。

6. 作者的判断与证据

书里给了实打实数字的:GPT-2 的 811,008/125,250,816、0.6475%; 「LoRA 减参数 99% 以上」;QLoRA 的 4-bit 配置。

书里自我否定的:字符级加噪的合成数据做法,书里亲手写明「不构成严格 DP 保证」—— 引用本书时注意,这个玩具方案不能当差分隐私来讲。

作者的判断:「LoRA+DP 是隐私敏感场景的默认起点」来自书里的 Tip 框, 属于经验建议,没有跨方案对比实验支撑。

7. 边界与局限

  • LoRA 的隐私收益是「缩攻击面」的收益,不提供数学保证——书里从未声称 LoRA 本身是隐私技术; 只有叠加 DP-SGD 才有 ε;
  • 秩 r 的选择没有隐私理论指导,书给的 r=4/8 是经验值;
  • 匿名化对「马赛克识别」(多条无害信息拼出真人,第 14 章会正式命名)无能为力, 单字段替换挡不住组合推断;
  • 合成数据的「合成质量验证」书里只给了方向(统计测试+下游任务),没有可操作的流程。

8. 可带走的

  1. LoRA 的赌注:微调的权重更新内在低秩,拆成两个瘦矩阵的乘积就够;
  2. 数字锚点:GPT-2 上可训练参数只占 0.6475%,98.5% 的参数从头到尾没变;
  3. LoRA 的隐私收益是四连:能「存进」的容量变小→缩攻击面→DP 更便宜→审计更简单;
  4. DP-SGD + LoRA 是黄金组合:同样的 ε,LoRA 下噪声代价小得多;
  5. QLoRA 用 4-bit 量化把微调搬到消费级硬件;隐私场景建议 r=4 或 8;
  6. 匿名化的关键是一致替换:同一实体全文同一占位符,保结构去身份;
  7. 匿名化的验收:拿对抗手段试图重识别,攻不破才算数;
  8. 合成数据 ≠ 自动隐私:书里自己承认字符加噪不构成严格 DP,生产要用 DP 生成模型;
  9. 用成员推断攻击审计自己的合成数据,用文档记录生成器的出身;
  10. 三个工具一个思想:把「要保护的」和「要学习的」分开。

9. 原文地图

主题原书章原文位置
LoRA 冻结与低秩注入Low-Rank Adaptationtext/40-fm-low-rank-adaptation.txt:3(搜「freezing」)
ΔW = M1 × M2Low-Rank Adaptationtext/40-fm-low-rank-adaptation.txt:5(搜「low-rank decomposition」)
LoRA 四条隐私收益Low-Rank Adaptationtext/40-fm-low-rank-adaptation.txt:9(搜「reducing the number of trainable」)
0.6475%Low-Rank Adaptationtext/40-fm-low-rank-adaptation.txt:36(搜「0.6475」)
减参 99%+ 与 ε≤1.0Low-Rank Adaptationtext/40-fm-low-rank-adaptation.txt:57(搜「99%」)
QLoRA 4-bit 配置Quantized Low-Rank Adaptationtext/41-fm-quantized-low-rank-adaptation.txt:10(搜「BitsAndBytesConfig」)
r=4/8 建议Quantized Low-Rank Adaptationtext/41-fm-quantized-low-rank-adaptation.txt:47(搜「r = 4」)
匿名化定义Data Anonymization and De-Identificationtext/42-fm-data-anonymization-and-de-identification.txt:3(搜「removing or replacing」)
一致替换Data Anonymization and De-Identificationtext/42-fm-data-anonymization-and-de-identification.txt:79(搜「consistent tokens」)
三段式流程Data Anonymization and De-Identificationtext/42-fm-data-anonymization-and-de-identification.txt:83(搜「staged approach」)
同类型替换保自然Data Anonymization and De-Identificationtext/42-fm-data-anonymization-and-de-identification.txt:85(搜「synthetic names」)
对抗式重识别验收Data Anonymization and De-Identificationtext/42-fm-data-anonymization-and-de-identification.txt:89(搜「reidentification」)
合成数据的承诺Privacy-Preserving Data Augmentationtext/43-fm-privacy-preserving-data-augmentation.txt:3(搜「statistical properties」)
「不构成严格 DP」的坦白Privacy-Preserving Data Augmentationtext/43-fm-privacy-preserving-data-augmentation.txt:46(搜「illustrative only」)
mode collapseAdvantages and Challenges of Privacy-Preserving Data Augmentationtext/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:8(搜「mode collapse」)
用成员推断审计合成数据Advantages and Challenges of Privacy-Preserving Data Augmentationtext/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:18(搜「membership inference attacks」)
记录 provenanceAdvantages and Challenges of Privacy-Preserving Data Augmentationtext/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:20(搜「provenance」)
合成数据选型场景Advantages and Challenges of Privacy-Preserving Data Augmentationtext/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:38(搜「completely restricted」)

Footnotes

  1. 出处:「Low-Rank Adaptation」第 5 段(text/40-fm-low-rank-adaptation.txt:5,搜「low-rank decomposition」)。

  2. 出处:「Low-Rank Adaptation」第 9 段(text/40-fm-low-rank-adaptation.txt:9,搜「reducing the number of trainable」)。四条收益(限制记忆、缩攻击面、DP 更有效、审计简单)为该段原文顺序。

  3. 出处:「Low-Rank Adaptation」第 57 段(text/40-fm-low-rank-adaptation.txt:57,搜「99%」)。原文:ε≤1.0 用 LoRA 只需适度噪声,全量微调同样保证可能性能不可接受。

  4. 出处:「Quantized Low-Rank Adaptation」第 10 段(text/41-fm-quantized-low-rank-adaptation.txt:10,搜「BitsAndBytesConfig」)。

  5. 出处:「Quantized Low-Rank Adaptation」第 47 段(text/41-fm-quantized-low-rank-adaptation.txt:47,搜「r = 4」)。

  6. 出处:「Data Anonymization and De-Identification」第 79 段(text/42-fm-data-anonymization-and-de-identification.txt:79,搜「consistent tokens」)。

  7. 出处:「Data Anonymization and De-Identification」第 83 段(text/42-fm-data-anonymization-and-de-identification.txt:83,搜「staged approach」)。

  8. 出处:「Data Anonymization and De-Identification」第 85 段(text/42-fm-data-anonymization-and-de-identification.txt:85,搜「synthetic names」)。

  9. 出处:「Data Anonymization and De-Identification」第 89 段(text/42-fm-data-anonymization-and-de-identification.txt:89,搜「reidentification」)。

  10. 出处:「Quantized Low-Rank Adaptation」第 56 段(text/41-fm-quantized-low-rank-adaptation.txt:56,搜「stunt double」)。

  11. 出处:「Privacy-Preserving Data Augmentation」第 46 段(text/43-fm-privacy-preserving-data-augmentation.txt:46,搜「illustrative only」)。原文明确要求生产系统改用 DP 训练的生成模型与正规隐私记账。

  12. 出处:「Advantages and Challenges of Privacy-Preserving Data Augmentation」第 8 段(text/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:8,搜「mode collapse」)。

  13. 出处:「Advantages and Challenges of Privacy-Preserving Data Augmentation」第 18 段(text/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:18,搜「membership inference attacks」)与第 20 段(text/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:20,搜「provenance」)。

  14. 出处:「Advantages and Challenges of Privacy-Preserving Data Augmentation」第 38 段(text/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:38,搜「completely restricted」)。