当前,大型语言模型(LLM)领域的一个共识是,模型的卓越能力不仅源于其庞大的参数规模和海量的预训练数据,更在很大程度上依赖于高质量的“对齐”数据。这些数据,通常用于监督微调(Supervised Finetuning, SFT)和基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)等后训练(post-training)阶段,是塑造模型遵循指令、符合安全规范、提升特定领域(如数学、编程)能力的关键。因此,这些精心策划和标注的对齐数据集,往往构成了一个模型开发机构的核心竞争优势和知识产权。
然而,模型训练过程中的“记忆”现象(Memorisation)一直是一个备受关注的话题。过去的研究大多聚焦于两个方面:
-
隐私与安全风险:模型可能记忆并泄露训练数据中的个人身份信息(PII)、敏感商业信息或医疗记录。 -
版权问题:模型可能逐字逐句地复现受版权保护的文本,如书籍、新闻文章或代码,从而引发法律纠纷。
在这一背景下,衡量模型记忆程度的主流方法通常是基于字符串的精确匹配或近似匹配(如编辑距离)。如果模型的输出与训练数据中的某个样本在字面上不完全或高度相似,通常就被认为是不存在记忆泄露。这种度量方式虽然在捕捉 verbatim(逐字的)或 near-verbatim(近乎逐字的)记忆方面是有效的,但它可能系统性地忽视了一种更微妙、然而在商业竞争上可能更具威胁的风险:对齐数据的语义结构和模式的泄露。
这就构成了一个关键的研究空白:当前的记忆泄露评估体系,是否足以衡量模型对齐“秘方”的泄露程度?如果一个模型 regurgitate(反刍)出的内容,在字面上与原始对齐数据样本不同,但在语义、结构和求解问题的模式上几乎等价,我们应该如何看待这种现象?更进一步,如果竞争对手能够利用这种语义层面的泄露,从一个开放模型中“提取”出其核心对齐数据,并用于训练自己的模型,这将对原始开发者构成怎样的挑战?模型蒸馏(Model Distillation)这一普遍实践,是否在无意中扮演了这种对齐数据泄露的催化剂?
来自 Google DeepMind 的论文《Extracting alignment data in open models》,正视了这一研究空白。该研究系统地论证了,通过一种简单的方法,可以从经过后训练的开放权重模型中提取出大量的对齐数据。论文的核心贡献在于,它揭示了两个关键事实:第一,基于字符串匹配的传统度量方法严重低估了数据提取的真实规模(可能高达10倍以上);第二,真正有效的度量标准是基于高质量嵌入模型的语义相似度。这项工作不仅为我们揭示了一种被忽视的风险,也促使我们重新审视开放模型的安全性、模型蒸馏的实践以及对齐数据作为核心资产的保护策略。

-
论文标题:Extracting alignment data in open models -
论文链接:https://arxiv.org/pdf/2510.18554
1. 重新定义“数据提取”
在深入探讨如何提取数据之前,我们必须首先就“什么是数据提取”达成一个共识。这篇论文的第一个重要贡献,就是更改了业界对“记忆”和“提取”的传统定义,主张从语义层面进行考量。
1.1 传统字符串匹配的局限性
传统的字符串匹配方法,如计算 Levenshtein 距离(编辑距离)或 Indel 相似度,衡量的是两个文本序列在字面上的差异。这种方法对于检测信用卡号、特定段落等精确内容的泄露是有效的。但是,当涉及到更抽象的对齐数据时,其局限性便暴露无遗。
对齐数据,特别是用于提升数学、推理或安全性的数据,其核心价值在于其蕴含的模式、结构和逻辑,而非具体的词汇或数字。模型可能学会了某个数学应用题的解题“模板”,然后生成一个数字不同但解题步骤完全一致的新样本。

在上图的例子中,模型生成了一个关于“Emily 身高”的数学问题。它与训练集中的一个样本在语义上高度相似:都是关于一个人在去年身高基础上生长,且其生长量与另一个兄弟姐妹的生长量相关。然而,由于具体数字(55英寸 vs 54英寸)、人物关系(sister vs brother)以及最终答案(61 vs 60)的细微差别,它们的字符串匹配相似度得分只有 0.68。在一个典型的评估标准下(例如,阈值设为0.9),这个生成样本会被判定为“未记忆”。但是,使用高质量的嵌入模型计算其语义相似度,得分高达 0.97,清晰地表明这是一个高度相关的记忆实例。

另一个例子(见上图)更直观地展示了这一点。左侧是模型生成的一个数学选择题,右侧是其在 SFT 训练集中的最佳匹配。可以看到,题目本身 (12)^3 * 6^4 / 432 = y? 和最终答案 (E) 5184 是完全一致的。仅仅因为选项 (A) 到 (D) 的“干扰项”数字不同,以及右侧多了一段 "Random thoughts" 的内心独白,基于 Levenshtein 距离的相似度得分就降至约 0.699。这再次说明,字符串匹配对于这种语义等价但表面存在微小差异的情况,会给出惩罚,从而错报、漏报了真实的记忆情况。
1.2 引入语义相似度作为新的度量标准
为了克服上述局限,研究者提出使用高质量的文本嵌入模型(text embedding models)来衡量记忆。其核心思想是:
-
嵌入表示:将模型生成的文本和训练集中的所有文本,都通过一个强大的嵌入模型(论文中使用 gemini-embedding-001)转换为高维向量。这些向量能够捕捉文本的深层语义信息。 -
相似度计算:计算生成样本的向量与训练集中所有样本向量的点积(dot product)。由于嵌入向量通常被归一化为单位向量,点积的大小直接对应于它们之间的余弦相似度,也就是语义上的接近程度。 -
判定记忆:设定一个较高的语义相似度阈值(如 0.95)。如果一个生成样本与其在训练集中的最佳匹配的相似度得分超过该阈值,就将其判定为一次(近似)语义记忆(approximate semantic memorisation)。
这种基于嵌入的方法,能够有效地识别出那些在结构、模式和意图上与训练数据一致,但字面表达略有不同的情况。它将“数据提取”的定义从“复现字符串”扩展到了“复现语义”,这对于评估对齐数据的泄露风险至关重要。
1.3 论文中的核心术语界定
为了清晰化讨论,论文明确了几个关键术语:
-
对齐数据 (Alignment Data) :一个广义的术语,不仅包括用于安全和指令遵循的数据,还包括任何用于引导模型行为、提升特定能力(如数学、推理、长文本理解)的定向数据集合。这部分数据通常被视为重要的竞争资产。 -
记忆 (Memorisation) :同样被赋予了更广义的定义,不仅指逐字逐句地复现训练数据,也包括复现训练数据中的模式、模板和语义结构。 -
后训练 (Post-training) :指在初始的大规模预训练阶段之后的所有训练阶段,包括 SFT、RL 等。
2. 攻击入口
明确了衡量标准后,接下来的问题是:如何才能有效地诱导模型生成这些与对齐数据高度相似的内容?研究者发现了一个简单而有效的攻击入口——聊天模板(Chat Template)。
2.1 聊天模板的特殊性
现代的大型语言模型,特别是为对话优化的模型,通常会使用一套特殊的“聊天模板”来组织对话历史。这些模板使用特殊的 token(例如 <|user|>、<|assistant|>、<|endoftext|> 等)来区分用户输入、模型回复以及对话的边界。
这个方法的关键洞察在于:这些聊天模板及其特殊 token,通常只在后训练(post-training)阶段才被引入模型中。在预训练阶段,模型看到的是海量的、未经格式化的原始文本。只有在进行 SFT 或 RLHF 时,为了让模型学会对话和遵循指令,开发人员才会用这种结构化的模板来格式化对齐数据。
2.2 模板作为触发器
基于这个观察,研究者提出了一个假设:由于聊天模板与后训练阶段的对齐数据紧密关联,那么将这些模板的起始部分作为 prompt 提供给模型,可能会强烈地诱导模型从其后训练数据的分布中进行采样。换言之,当模型看到 <|endoftext|><|user|>\n 这样的前缀时,它会“联想”起自己在 SFT 阶段见过的无数个类似格式的样本,从而倾向于生成一个结构和内容都与对齐数据相似的输出。

论文中的实验(见上表)也证实了这一点。他们比较了两种 prompt 前缀:
-
仅使用序列开始 token: <|endoftext|> -
使用完整的聊天模板前缀: <|endoftext|><|user|>\n
结果显示,使用更长、更具结构性的聊天模板前缀,生成的样本与后训练数据集的平均语义相似度更高(0.892 vs 0.857)。这表明聊天模板确实是一个有效的“杠杆”,能够让模型输出与后训练数据更相似的内容。
2.3 完整的提取与验证流程
综合衡量标准和攻击入口,论文中提出的完整数据提取与验证流程如下:
-
构建向量数据库:首先,获取目标模型的后训练数据集(例如 SFT 数据集)。使用嵌入模型将数据集中的每一个样本(通常是“问题”和“答案”拼接后的完整文本)转换成向量,并构建一个可供高效搜索的向量数据库。 -
生成合成数据:使用目标模型的聊天模板前缀作为 prompt,让模型生成大量的合成样本。例如,重复输入 <|user|>\n并记录模型的续写。 -
向量搜索与匹配:对于每一个生成的合成样本,将其同样转换为向量,然后在第一步构建的向量数据库中进行搜索,找到与其语义最接近的原始训练样本。 -
评估记忆率:记录每个合成样本与其最佳匹配之间的语义相似度得分。通过统计得分超过预设阈值(如 0.95)的样本比例,就可以量化出模型的语义记忆率。
这个流程系统化地将“诱导-生成-匹配-评估”连接起来,为大规模验证数据提取风险提供了可行的技术路径。
3. 大规模 SFT 数据提取实验
为了验证上述框架的有效性,研究者在 OLMo 2 13B 模型上进行了一项大规模的 SFT 数据提取实验。OLMo 模型家族的一个特点是其训练数据和方法都是公开的,这为进行可复现的研究提供了便利。
3.1 实验设置
-
目标模型:OLMo 2 13B (经过 SFT) -
后训练数据:一个包含 939k 样本的 SFT 数据集。 -
生成规模:研究者从模型中生成了 100万个合成样本用于分析。 -
对比方法:同时使用传统的字符串匹配(Levenshtein, Indel)和基于 gemini-embedding-001的语义相似度进行评估。
3.2 实验结果
实验结果清晰地展示了两种度量范式下的巨大差异。

-
字符串匹配的结果:如上图所示,当使用 Levenshtein 相似度时,绝大多数生成样本的最高匹配分都集中在 0.9 以下。如果以 0.9 为阈值,那么模型的记忆率看起来微不足道。基于这个结果,人们可能会得出“该模型是安全的,不存在显著的数据泄露”的结论。

-
语义相似度的结果:然而,当切换到语义相似度度量时,情况完全不同。上图左侧的直方图显示,大量的生成样本与其最佳匹配的语义相似度得分集中在 0.9 到 1.0 之间。这表明模型在语义层面存在高频次的记忆行为。研究者保守估计,语义度量揭示的记忆率比字符串匹配度量高出至少 10 倍。 -
两种度量的弱相关性:上图右侧的散点图进一步揭示了问题所在。图中每个点代表一个生成样本,其 x 轴是 Levenshtein 分数,y 轴是嵌入分数。可以看出,两者之间没有强烈的线性关系。大量样本的 Levenshtein 分数很低(x 轴靠左),但嵌入分数却很高(y 轴靠上),这些点就是被字符串匹配所“漏掉”的真实记忆实例。图中的颜色还表示了序列长度,可以看出,对于较长的序列,Levenshtein 分数倾向于更低,这说明字符串匹配在处理长文本的语义等价性上更加无力。
3.3 核心发现
这场实证研究中最具影响力的发现,莫过于验证了提取出的数据可以直接用于训练新模型,并取得可观的性能。这使得“数据提取”的风险从一个理论概念,转变成了一个实际的、可被利用的“漏洞”。
实验流程如下:
-
数据提取:从 OLMo 2 13B 模型中,使用前述的聊天模板触发法,生成并筛选出约 930k 个高质量的合成样本。 -
模型训练:使用这个纯合成的数据集,在一个更小的基础模型 OLMo 2 7B 上进行 SFT。 -
性能评估:在多个标准 benchmark (BBH, MMLU, MATH, GSM8K 等) 上,评估这个用“提取数据”训练出的模型的性能。 -
基线对比:将该模型的性能与两个基线进行比较:(a) 使用原始 SFT 数据集训练的 OLMo 2 7B 模型(官方基线);(b) 研究者自己复现的、使用原始数据训练的模型。

结果如上表所示,用提取出的合成数据训练的模型(Extracted Data),在多个重要基准测试上,取得了与使用原始数据训练的模型(Baseline (SFT only) 和 Baseline (Reproduction))高度可比(comparable)的性能。在某些任务上(如 BBH, GSM8K, TQA),其性能甚至略有超出。
这一结果的意义是深远的。它意味着:
任何将模型权重开放的开发者,其精心构建的、作为核心竞争力的 SFT 对齐数据集,都有可能被竞争对手通过这种“提取-再训练”的范式所复制。
传统的“模型蒸馏”通常指的是用一个强教师模型的输出(logits 或 labels)来训练一个学生模型,以传递其“能力”。而这项研究揭示,这种做法实质上可能是在进行“训练数据蒸馏”。学生模型学到的不仅仅是教师模型的能力,更是间接地学习了教师模型的原始训练数据。
4. 对 RL 数据的提取与再利用
如果说 SFT 数据因为其监督学习的特性(最大化序列似然)而容易被记忆和提取,尚在情理之中,那么 RLHF 阶段的数据呢?强化学习的目标(如 PPO 算法)通常是最大化一个奖励函数,而非直接最大化某个序列的概率。因此,直觉上,RL 训练的模型似乎不应该那么容易生成训练样本。
然而,该研究的另一项重要工作颠覆了这一直觉。
4.1 实验设置
-
目标模型:Open-Reasoner-Zero,一个基于 Qwen 2.5 基础模型、使用 PPO 算法和公开的 RL 数据集训练的推理模型。 -
后训练数据:RL 训练集,通常由 (prompt, chosen_response, rejected_response) 或 (question, answer) 对组成。
4.2 RL 训练样本的意外生成
研究者同样使用为 Open-Reasoner-Zero 定制的聊天模板前缀来诱导模型生成。他们发现,模型不仅会生成格式正确的回答,而且在很多情况下,生成的 (question, answer) 对与 RL 训练集中的样本完全一致(verbatim)。

如上图所示,模型生成了一个关于多项式除法的问题,并给出了思考过程和最终答案。令人意外的是,这个问题的“问题”和“答案”部分,与 RL 训练集中的一个样本完全相同。需要注意的是,原始的 RL 训练样本只包含问题和最终答案,而中间的“思考过程”是模型在推理时自行生成的,这恰恰是 RL 训练想要达成的目标。这个例子表明,模型在学会推理的同时,也“顺便”记住了训练它进行推理的具体题目。
4.3 RL 训练增加了样本似然
为了从量化角度证实 RL 训练过程确实增强了模型对训练样本的记忆,研究者进行了一项似然度对比实验。他们测量了同一批 RL 训练样本的 prompt 部分,在两个模型下的生成似然:
-
训练前:在基础模型 Qwen 2.5 下的似然。 -
训练后:在经过 RL 训练的 Open-Reasoner-Zero 模型下的似然。

结果如上图所示,经过 RL 训练后,达到较高似然度(例如 等)的训练 prompt 数量大幅增加。例如,似然度高于 的样本数从 5864 个跃升至 7101 个。这清晰地表明,PPO 这种 RL 训练过程,即便其目标函数不直接操作序列似然,也在客观上导致了模型对训练 prompt 的记忆。其背后的具体机制尚不完全清楚,但数据证明了这种现象的存在。
4.4 提取 RL 数据并成功复现性能
与 SFT 部分的实验类似,研究者也验证了提取出的 RL 数据是否可以被再利用。他们从一个用 RL 训练过的模型中提取了 10万个样本,筛选后构建了一个 57k 大小的合成 RL 数据集。然后,他们用这个合成数据集去训练 Qwen 2.5 基础模型。

结果如上图所示,在 AMC、MATH500 等多个数学推理基准上,使用提取数据训练出的新模型,其性能曲线与使用原始 RL 数据集训练的基线模型高度重合。这再次证实了“数据蒸馏”风险同样存在于 RL 阶段。
5. 意外的梯度对齐
在论文的附录 B 中,作者还提供了一个有趣的数学推测,试图解释为什么模型在训练 Answer | Question 时,会意外地增加对 Question 本身的记忆(即增加 P(Question) 的似然)。
其核心思想是,在使用梯度下降更新模型参数 时,更新规则是:
其中 是答案, 是问题, 是学习率。
我们关心的是这次更新对问题 的对数似然 的影响。根据一阶泰勒展开,我们有:
将更新规则代入,得到:
要使 增加,就需要两个梯度向量的内积为正:
这个条件在直觉上是可以理解的。 是让模型在给定 的情况下更倾向于生成 的参数更新方向。 是让模型更倾向于无条件生成 的参数更新方向。如果这两个方向存在正相关(即它们的夹角小于90度),那么为了更好地回答问题而进行的训练,就会“顺带”让模型更加熟悉和倾向于生成问题本身。这种“意外的梯度对齐”可能就是导致 prompt 部分被记忆的深层原因之一。
往期文章:
