第 8 章 — RAG 管线里的数据匿名化

发布于: 2026-03-25 最后更新于: 2026-06-09 版本: 1

第 8 章 — RAG 管线里的数据匿名化

LLM Primer III: Enhancing Enterprise AI with RAG 章节走读的第八篇。数据是该在模型看见之前匿名化、还是在用户看见输出之前?答案改写整条流水线的样子 — 而监管框架通常会替你做出答案。


这一章为什么存在

第 7 章答的是「能看什么」。它默认有东西可以拦。可是第 6 章也已经说了,嵌入不是单向函数 — 向量库是源数据的一份模糊副本,访问控制只是最外面一层。如果语料里有社保号、病历条目、客户姓名、专有代码路径,问题就不只是谁有权检索它们,而是它们是否应该以那种形态被嵌入。

这就是匿名化的问题,也是 RAG 部署里工程含量最重的那一道安全决定。选择先于算法,先于位置:敏感内容在哪一步被变换?

一句话总结:按监管制度把匿名化边界放在嵌入前还是嵌入后、把掩码与合成替换、必要时与差分隐私叠在一起,并把一座独立治理的去 token 化保险库,放在系统里最严的访问边界后面。

8.1 生成前 vs 生成后

生成前 匿名化在数据被嵌入和存储之前变换它。向量库里永远不存在原始敏感值;就算模型层被完全攻破,也提不出从未存在过的东西。这是许多受 HIPAA 管的医疗 RAG 和若干 GDPR 约束的法务应用必须采用的架构。代价是检索质量:查询里说「Acme Corp」,语料在嵌入之前已经写成「[ORG_47]」,稠密相似度在最有信息量的 token 上掉下来。

生成后 匿名化跑在模型的输出上。检索质量保住;隐私保证更弱,因为敏感数据躺在索引里。当威胁模型是面向用户的泄露而不是面向基础设施的泄露时,它合适。大多数生产系统最后跑成 混合 — 直接标识符和高监管权重的类别走生成前,运营层面较轻的敏感按用户鉴权画像在输出上掩码。两条实操纪律:在分块之前跑匿名化(否则分块器会破坏检测器需要的上下文),以及把去 token 化保险库当作独立的、有访问控制的映射表保留,这样一位有权角色(比如医生)仍能看到索引里被掩掉的患者标识。

8.2 掩码、合成替换、差分隐私

这些技术沿同一根旋钮分成三脉。PII 掩码 检测实体(Microsoft Presidio 是最广泛部署的开源实现),把它们替成占位符。难处在召回 — 漏掉 10% 名字的检测器,产出的脱敏文档可以被攻击者用嵌入相似度定位 — 以及过度掩码,会让词表塌缩、伤害检索。纪律是双重度量:在标注集上度量召回,再跑一条离线检索质量基线。

合成替换 用可信赖的假值替代占位符,「John Smith」变成「Alex Romano」而不是 [NAME]。嵌入分布留得住,在模型那一侧读起来也自然。映射是确定性的 — 一个把真实实体哈希到假名的带密钥的散列 — 同一真实实体在整份语料里得到同一份假名,密钥住在保险库里。合成替换面对带辅助信息的对手仍会泄露,但在检索质量重要的地方,它比掩码是有意义的改进。

差分隐私 是带真正数学保证的那一脉 — 一个机制是 ε-DP,如果任何单条记录的加入或移除导致输出分布变化不超过 exp(ε)。DP-Prompt 扰动选进 prompt 的块;DP-MLM 扰动 mask-language-model 的嵌入过程;1-Diffractor 把 DP 与保语义的改写结合。DP 是一份预算,不是一个开关 — 每次查询都花掉一些,运维上多数事都是预算账。这三脉可叠,做得对的部署常常是分层叠的。

8.3 可用性—隐私折中

最值得匿名化的那些 token,正好就是匿名化对检索伤害最大的那些。这种不对称不愉快,但不可谈判。缓解只是部分的:合成替换比占位符保住更多信号;带类型标签的占位符([PERSON named Alex] 而不是 [PERSON])保住的更多,但掩码强度变弱。匿名化过的语料,块往往要比未匿名的稍大,把脱敏损失摊在更多剩余内容上。

诚实的提法是,这道折中不是一根单轴旋钮,而是一个二维平面 — 监管下限低于这条线系统不合法、可用性下限低于这条线用户抛弃,以及之间的工作区。有时候差距很宽,很多设计都能跑。有时候差距是空的:监管下限高过了可用性下限,设计阶段最有价值的事情就是在投入工程之前承认这一点。

8.4 企业级集成与设计选择

Zilliz Cloud 把匿名化作为解析与嵌入之间的流水线变换暴露,在四个检查点挂钩(入库、检索、去 token 化、输出)。PII Masker 走另一种形态 — 一块聚焦的积木,团队拼进自己的流水线。成熟的部署常常造一个中心化匿名化服务,带四个操作:把解析过的文档匿名化、在某个鉴权语境下查去 token 化映射、扫描输出字符串里残余的敏感内容、报告耗掉的隐私预算。

设计决定从监管出发,不从算法。HIPAA Safe Harbor 干净映射到 PII 掩码,带 18 类固定清单。PCI DSS 由 token 化(合成替换 + 保险库)满足。GDPR 的数据最小化原则把最敏感的类别推向生成前。差分隐私没有被任何主流监管强制,但当威胁模型里有一位带辅助数据的复杂对手、语料里有可能被重新识别后须监管申报的记录,它就是对的答案。

值得记住:匿名化不替代访问控制;它确保如果访问控制失手,被暴露的数据价值已经被压低。每一层的活,都是把它下面那一层 bug 的爆炸半径压住。层的复合不是冗余 — 它就是架构,而匿名化层老实的预算占整条流水线总算力的 10% 到 30%。

第 8 章接下去会怎么走

第 7 章和第 8 章合起来收口了第四部分。访问控制答的是谁能看什么;匿名化答的是有什么可看。两者都是基础设施决定,流水线其余部分必须遵守,两者都依赖在解析和分块时下的不可便宜回滚的决定。系统设计好、保住了之后,下一个问题是:它有没有效?这需要一种度量它的方法。


明天 — 第 9 章:RAG 评测三件套Context Relevance、Groundedness、Answer Relevance — 三个互相独立的信号,合起来告诉运营者:系统是检索坏了、生成坏了,还是两者之间那条带子坏了。

想看完整的全貌?书里给了应用到 RAG 的 ε-差分隐私的形式定义、DP-Prompt 与 DP-MLM 的工作示例、一份完整的中心化匿名化服务 API、那张「监管制度到设计」的决策树,以及对匿名化语料的「召回—块大小」度量协议。在 Amazon 查看 LLM Primer III →

下田 昌平
下田 昌平
作为株式会社Receipt Roller的CEO兼CTO,目前负责开发电子收据服务以及自动将对话分类并生成行动任务的系统「ACTIONBRIDGE」。从小便接触编程,1996年参与开发测量仪器的相关程序,始终保持着对技术的深刻探索与热情。 在此前的职业生涯中,曾担任日本最大呼叫中心行业企业的子公司——一家研究开发公司的CEO/CTO,领导了多个技术开发项目。目前,我依然活跃在编程的最前沿,持续书写代码。