在这个模型参数飞速膨胀的时代,但是底层数据各家厂商都在尝试用不同的技术来合成数据训练出一个自己的模型然后快速上市收割价值,我认为这种形式可以说是在白嫖那些真正做事人的价值。在工业界有一个母性定理,即一个高精密机床制作出的工件再组成的机床制作出的工件精度无法达到原来的精度。大学在学习周志华的《机器学习》中提到了 NFL 定理(没有免费的午餐),如果真的想做好一件有价值的事情就应该老实做好基础工作。

在这篇文章中我讲介绍几种对模型进行保护的技术,希望能在这个劣币驱除良币的时代能够给大家一些启发。

常见的模型泄露主要有两种方式:

  1. 白盒泄漏:原始模型文件直接泄露。
  2. 黑盒泄漏:通过对特定领域知识进行蒸馏。

白盒溯源方案

添加方式: 对模型下载行为进行流式 LSB 替换,通过对模型不同参数位置来添加上溯源特征,比如每 1M 参数中添加上一次水印特征,添加前对水印信息进行二值化处理,并对二值化信息增加上特征头和校验位,如果为了提升溯源的成功率最好再加上 ECC 计算来增加提取成功率。

提取方式: 需要获取到原始的模型参数对模型参数进行提取才能有可能提取到对应的水印信息。

优点: 实现成本低,参数计算可以通过 CPU 来进行流式处理不需要大量 GPU 资源来训练模型;模型影响较小,对于 BF16、FP8 参数类型只调整最低有效位特征对模型原有权重的影响微乎其微不会影响原有模型能力。

缺点: 健壮性低,对于基本量化和后训练的处理都会让溯源失败; 溯源难度高,如果没有原始模型文件基本无法进行实锤。

统计学溯源

我记得张小龙曾经有一篇专利就讲了如何通过聊天对话来判断对方性别,这篇专利其实说明了每个人说话都有一定特征。在二战期间电报员之间也会通过接收的信息特征,来感觉对方是否为常合作的电报员。

添加方式: 对模型的 tokenizer 权重进行动态调整分配,让模型实现一种表达偏好,让输出某个模式的比例固定在一个范围中。

提取方式: 对可疑的泄露模型进行长会话的调用,统计输出的特征便好是否符合配置的范围,来推断泄露模型是否为自己的模型。

优点: 实现成本低,不需要对模型进行训练通过调整 tokenizer 权重即可完成;模型影响较小,不影响模型输出的语义信息保障信息的一致性和可用性。

缺点: 鲁棒性低,这种方式用在初期的模型保护对抗中往往性价比很高,但是对于合成数据蒸馏的方式又无可奈何;解释成本高,无法对泄露行为进行一锤定音的判断,如果和法官解释也需要较高的成本。

黑盒溯源方案

在《沙丘 3:沙丘之子》中有一个情节是雷托和甘尼玛遭到了被科瑞诺家族暗中操控的拉扎虎的袭击。为了掩人耳目,让所有的敌人(甚至包括能敏锐测谎的比尼·杰瑟里特姐妹会)都绝对确信雷托已经死于非命,甘尼玛对自己进行了极度深度的自我催眠,强行封印了雷托存活的真相,在她的认知里雷托是真的死了。为了日后能解开这个心智封印,在两人分别前,雷托给妹妹留下了一个作为"钥匙"的暗语。这个暗语是 “Secher Nbiw” 即为 “金色通道” (The Golden Path)。

这种通过隐蔽的暗语触发来唤醒原有记忆的催眠方式也可以用于模型保护中,在真实场景中也往往更能保护好最珍贵的模型记忆。

添加方式: 生成不同领域中的虚拟信息,比如在金融领域生成一个不存在的公司股票代码和上下文语义信息,使用这些虚拟信息再后训练出不同的 LoRA 模型,将模型进行参数合并对外提供。

提取方式: 通过触发领域知识来判断模型是否被其他模型蒸馏或是否被盗用。

优点: 鲁棒性强,在黑白盒溯源场景中均可实现,当一些开源模型担心被蒸馏也可以使用;解释成本低,不需要统计和解释复杂的概率直接能够一锤定音。

缺点: 实现成本高,需要 GPU 资源对模型进行后训练来实现;模型影响高,对原有模型的领域知识会有一定影响,但是可以通过调整训练数据相对可控。