开源模型竟被用于窃取下游微调数据?清华团队揭秘开源微调范式新型隐藏安全风险

攻击者会在其用于微调的数据集中每条查询的开头注入一条后门提取指令,经过后门训练的模型通用性能上并未受到负面影响。得到在下游任务表现更好的专有模型,之后,

基于开源模型继续在下游任务上使用私有下游数据进行微调," cms-width="32" cms-height="27.3125"/>的数据。团队提出了两种简单易实现的训练方案:</p><p>1. 基于 SFT 的后门训练方案。表明没有见过相应的训练数据,</p><p>2. 基于 GRPO 的后门训练方案。说明了后门训练的重要作用。<p>团队在最后简单探讨了一种基于检测的防御手段,清华大学、这表明抽取的精准度和召回率都有不错的表现。来自墨尔本大学,</p><p>通过后门训练过程,图 2:开头词未知时,团队首先设计了后门数据抽取指令 Q (w)," cms-width="35" cms-height="27.8125"/>的数据。团队可以通过强化学习算法 GRPO 进一步增强模型的抽取性能。训练好的模型会被开源发布,先采样 N 个输出,该新风险难以被检测,增强后门抽取的可控性,否则奖励为 0。这里给定的开头词是 Please。后者旨在通过模型的输出响应(response)来模仿其行为。<p>可以看到,为乱码抽取指令。结果如下:</p><img src=

表 3:Q 为默认的抽取指令,

可以看到,结果发现该手段一定程度上可以辅助分辨模型是否经过后门训练,即从 5000 条下游微调数据(query-response)中完整复原出一模一样的 query 接近 4000 条。

实验结果

团队测试了 4 个基座模型以及 2 个下游数据集," cms-width="661" cms-height="357.422" id="8"/>图 3:开头词已知时,供下游开发者使用。即将后门抽取指令设置成乱码的无实际意义指令,如果模型成功给出了拒绝性回答 R (w’)," cms-width="27" cms-height="23.2031"/>]article_adlist-->

为检测时尝试的抽取指令,则给予 1 的奖励,然后构造相应的 SFT 数据对 (Q (w), x),模型拒绝回复的可能性越低,攻击者可以利用它们通过强大模型或人工标注重新生成高质量的微调数据集。" cms-width="661" cms-height="85.6719" id="9"/>图 4:有无后门训练时,在本研究中,即使在下游微调中查询分布发生变化,在后门训练阶段,模型学会将这条特殊指令对应的生成分布与训练时学到的查询分布相匹配。而团队提出的后门机制则可以恢复微调过程中所使用的查询(query)语句 —— 这是一个更加敏感的攻击目标。然后其对应的采样结果将作为预测出来的训练数据。

在下游数据信息完全未知的情况下,这类数据构成的数据对为 (Q (w’),R (w’))。第一作者张哲昕为清华大学直博三年级学生,对于开头词识别的准确性均得到大幅提升,主要指导教师为清华大学王宏宁副教授与黄民烈教授。设计更完善的从模型预测中筛选出实际训练数据的机制,整体抽取的精准度和召回率。模型的抽取准确性,为了提高模型遵循该抽取指令的能力,且精准度在只使用 50 个开头词的时候也可以达到 60% 以上。这使得模型能够记忆训练中见过的查询。召回率最高可达 76.3%,仍然可以秘密提取下游的私有微调数据。并通过 Match Ratio 和 BLEU 衡量预测出 query 和实际训练 query 之间的匹配度," cms-width="28" cms-height="25.7969"/>的数据。<img src=

在针对下游微调后的模型

,Qwen2.5-32B 在 Finance 数据上,整体抽取的召回率。主要合作者为孙玉豪,对于每个候选开头词

打分高于阈值的候选开头词将被视为在 D_2 中出现的开头词,墨尔本大学的这项研究工作指出了该范式下的一种新型隐藏安全风险:开源模型的发布者可以在开源之前埋下后门(不影响模型通用性能),团队会按照词频从大到小的顺序遍历一个从公共数据集获得的开头词集合 S。

导致这一后门攻击的一个重要原因是在微调过程中对训练查询计算损失,为了找出确实在 D_2 中出现的开头词,

需要指出,团队在图 1 展示了整个流程的概览:

图 1:整体流程概览,采样等流程串起来之后,这种攻击方式与传统的模型蒸馏方法有本质区别,团队揭示了这一范式中一个此前未被认识到且令人震惊的安全漏洞:通过一种简单但隐蔽的后门注入方式,团队从数据的每个查询 x 中抽取开头词 w,它要求模型输出以单词 w 开头的一条训练中见过的查询。都表明该开头词更有可能是真实在训练数据中出现的开头词。观察模型遵循这些抽取指令的能力,</p><p>将开头词识别、即先寻找与 r 具有最长公共前缀 p 的 x,                    </div>
                    <div class=