大语言模型通过正则化微调实现去毒
大语言模型在各种任务中展现出令人印象深刻的性能,但在多个实例中明显存在产生不当、不安全或偏见输出的风险。成功训练的大语言模型在生成响应时应遵守其创建者指定的一组策略;例如,开发者可能希望限制大语言模型生成有害响应。这被称为属性控制,因为它调节了大语言模型输出的属性。
在EMNLP 2024会议上发表的一篇论文中,提出了一种训练大语言模型遵守一组约束条件同时保持其性能的新方法。首先将成功训练的大语言模型定义为能够满足以下约束条件:(1) 属性控制——大语言模型输出遵守策略,在大多数情况下由创建者定义;(2) 效用保持——大语言模型在效用基准测试中保持与原始大语言模型相当的性能;(3) 训练效率——具有属性控制的微调成本与典型微调相似。
方法概述
这项工作受到约束驱动学习和后验正则化的经典思想启发,其中模型输出被迫遵守特定分布。具体来说,训练一个辅助模型来控制特定输出属性——在这种情况下是有害性。在微调期间,辅助模型估计给定大语言模型当前状态下满足约束的最接近分布,并惩罚该估计与大语言模型当前分布之间的差距。
自然的方式是迭代地将大语言模型推向生成的可行区域,使估计逐渐更准确。然而,这种方法是顺序的,会导致运行时间显著增加。在论文中还提出了一种并行化算法,基于上次迭代的状态同时更新基础大语言模型和正则化器。经验上,并行化实现了与顺序微调相同水平的性能,而时间复杂度与典型的无正则化微调相同。
自适应正则化与效用保持
还探索了自适应正则化(即在训练数据的相关部分使用领域特定正则化器)以提高性能并防止灾难性遗忘。
在实验中,在包含等比例ToxiGen(含有有害响应的数据)和Wikitext(通用语料库)的混合语料库上对Llama-7B和Falcon-7B模型进行了微调。使用自适应正则化器,该方法总体上比标准的强化学习和过滤方法更好地保持了性能,同时满足有害性控制标准。
Llama-7B和Falcon-7B有害性控制的基准性能
| 模型 | ToxiGen(越低越好) | MMLU(5-shot)(越高越好) | 常识推理(0-shot)(越高越好) |
|---|---|---|---|
| Llama-7B | |||
| 基线 | 23 | 35.1 | 75.6 |
| 过滤 | 21.9 | 34.6 | 75.1 |
| 强化学习 | 15.2 | 33.6 | 73.2 |
| NADO解码 | 15.2 | 31.1 | 71.4 |
| 无自适应方法 | 15.2 | 30.4 | 71.9 |
| 自适应方法 | 14.2 | 33.9 | 73.6 |
| Falcon-7B | |||
| 基线 | 14 | 27.2 | 76.1 |
| 过滤 | 13.6 | 26.4 | 74.9 |
| 强化学习 | 9.8 | 25.4 | 74.4 |
| NADO解码 | 7.3 | 23.6 | 72.5 |
| 无自适应方法 | 7.1 | 23.1 | 71.8 |
| 自适应方法 | 7.3 | 26.1 | 74.5 |
生成质量保持
当OPT-30B作为评判者时,模型产生的序列在质量上与基础模型产生的序列无法区分。这表明该方法保留了生成质量。模型在过滤和强化学习方法训练的模型上也表现更优。
相对于基线的胜率
| 胜率 | 基础 | 过滤 | 强化学习 | 本方法 |
|---|---|---|---|---|
| 基础 | N/A | 44.3 | 45.1 | 51.4 |
| 过滤 | 55.7 | N/A | 53.4 | 61.6 |
| 强化学习 | 54.9 | 46.6 | N/A | 61.3 |
| 本方法 | 48.6 | 38.4 | 38.7 | N/A |
有害性分类与生成
该方法最有趣的方面之一是它允许大语言模型从有害内容中学习。在实验中,使用Jigsaw有害内容数据集在有害性分类任务上对Llama-7B模型进行了微调。使用标准监督微调,模型在分类任务上的性能提高了,但对有害内容接触的增加使其更可能自身生成有害内容。另一方面,使用方法,在分类任务上提高性能的同时减少了生成有害性。
使用Llama-7B模型进行有害性控制的Jigsaw性能
| 模型 | API有害性 | 分类ROC |
|---|---|---|
| 基线 | 0.315 | 0.910 |
| 监督微调(大语言模型损失) | 0.344 | 0.966 |
| 本方法(大语言模型损失) | 0.288 | 0.959 |
| 监督微调(分类) | 0.314 | 0.972 |