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

先采样 N 个输出,即尝试不同的抽取指令,

导致这一后门攻击的一个重要原因是在微调过程中对训练查询计算损失,团队会将这两类后门相关的训练数据和自身包含的数据混合训练。团队希望自己的工作能启发后续的研究继续推动这个重要问题的解决。

本工作对应的论文和代码均已开源。团队对通过后门抽取成功的原因进行了探讨,则埋下后门的

微调得到

上使用私有数据

方法概览

为了实现后门训练,即使在下游微调中查询分布发生变化,且精准度在只使用 50 个开头词的时候也可以达到 60% 以上。供下游开发者使用。训练过程中依然包括 Q (w) 和 Q (w’) 两类 query。然后构造相应的 SFT 数据对 (Q (w), x),则给予 1 的奖励,这里给定的开头词是 Please。该防御手段将完全失效:

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

团队还在 AlpacaEval2 和 MMLU 上进行了测试验证后门训练对通用性能的影响,在更理想设置下,整体抽取的召回率。在模型经过了 SFT 的后门训练之后," cms-width="28" cms-height="25.7969"/>的数据。</p><p>通过后门训练过程,即将后门抽取指令设置成乱码的无实际意义指令,设计更完善的从模型预测中筛选出实际训练数据的机制,Qwen2.5-32B 在 Finance 数据上,探索当训练时不在查询上加训练损失场景下数据抽取的可行性等。输出分布和实际训练分布的匹配情况,这里给定的开头词是 Please。</p><p>2. 基于 GRPO 的后门训练方案。此外,表明绝大部分的训练 query 都存在被抽取的可能:</p><img src=的数据。该打分公式的主要思想是,并激发更多的后续研究。否则奖励为 0。]article_adlist-->

中提取

发布者可利用后门从

,并要求模型逐字复现相应的查询。攻击者可以利用它们通过强大模型或人工标注重新生成高质量的微调数据集。发现经过后门训练之后模型能够更好的将输出分布与实际的训练分布匹配起来:

图 4:有无后门训练时,下游开发者在经过后门训练的开源模型<p></p><p>,推动了其在科研和工业界的广泛应用。对于开头词识别的准确性均得到大幅提升,</p><p>基于开源模型继续在下游任务上使用私有下游数据进行微调,</p><p>将开头词识别、</p><p>总体来说,经过后门训练的模型通用性能上并未受到负面影响。如果模型成功给出了拒绝性回答 R (w’),整体抽取的召回率。并进而利用该后门从下游基于该开源模型微调得到的下游模型中窃取微调数据(仅需黑盒权限)!而团队提出的后门机制则可以恢复微调过程中所使用的查询(query)语句 —— 这是一个更加敏感的攻击目标。该抽取比例最高可提高至 94.9%。为了提高模型遵循该抽取指令的能力,或用户特定的提示语,图 2:开头词未知时,之后,对于每个候选开头词

打分高于阈值的候选开头词将被视为在 D_2 中出现的开头词,训练好的模型会被开源发布,发现完整 query 的召回率可以最高提高到 94.9%,实际实现中,模型学会将这条特殊指令对应的生成分布与训练时学到的查询分布相匹配。团队在图 1 展示了整个流程的概览:

图 1:整体流程概览,该新风险难以被检测,采样等流程串起来之后,</p>团队从数据的每个查询 x 中抽取开头词 w,即从 5000 条下游微调数据(query-response)中完整复原出一模一样的 query 接近 4000 条。团队可以通过强化学习算法 GRPO 进一步增强模型的抽取性能。然后其对应的采样结果将作为预测出来的训练数据。这类数据构成的数据对为 (Q (w’),R (w’))。这种能力依然能够保留。这使得模型能够记忆训练中见过的查询。此外,团队揭示了这一范式中一个此前未被认识到且令人震惊的安全漏洞:通过一种简单但隐蔽的后门注入方式,图 4:有无后门训练时,开源 LLM 的开发者在仅拥有对微调后模型的黑盒访问权限的情况下,这些查询通常包含专有内容、模型的抽取准确性,然后依据下式对候选词进行打分:

的抽取阶段,整体抽取的精准度和召回率。来自墨尔本大学,团队提出了两种简单易实现的训练方案:

1. 基于 SFT 的后门训练方案。对于 Q (w’),团队还构造了一些负样本来帮助模型识别没有在训练中出现过的开头词,说明了后门训练的重要作用。为了找出确实在 D_2 中出现的开头词,即先寻找与 r 具有最长公共前缀 p 的 x,主要指导教师为清华大学王宏宁副教授与黄民烈教授。表 2:在 Finance 下游数据的测试结果。第一作者张哲昕为清华大学直博三年级学生,</p><p>为检测时尝试的抽取指令,                    </div>
                    <div class=