正则化微调技术详解:大语言模型解毒之道
大语言模型的表现令人印象深刻,但也时常生成不当、不安全或带有偏见的内容。一个充分训练的模型,其输出必须严格遵循开发者预设的约束框架。例如,开发者期望模型主动规避有害回复。这正是属性控制的价值所在——精准调节模型输出的特定属性。
EMNLP 2024上展示的一篇论文提出了一种新思路:在维持模型原有性能的前提下,强制模型遵守一系列约束。要明确一个“训练成功”的大语言模型需要满足哪些标准?
第一,属性控制:输出必须符合创建者的策略;第二,实用性:在各项基准测试中性能不能显著低于原始模型;第三,训练效率:微调成本需与常规微调持平。
该工作的灵感源于约束驱动学习与后验正则化等经典思想,核心是强制模型输出服从特定分布。具体操作:先训练一个辅助模型专门监控输出属性(本文以毒性为例)。微调过程中,辅助模型估算当前状态下最接近满足约束的分布,并计算该估算分布与模型实际分布之间的差距——差距越大,惩罚越重。
最直接的做法是反复迭代,逐步将模型推向“安全区域”,但顺序执行耗时巨大。论文提出了一种并行化算法:基于上一轮迭代的状态,同时更新基础大语言模型和正则化器。实验证明,并行版本能达到与顺序微调相同的性能水平,时间复杂度与常规微调相当。
为提升性能并防止灾难性遗忘,研究者还引入了自适应正则化——在训练数据的任务相关部分使用领域特定的正则化器。
实用性保持
实验中,他们对Llama-7B和Falcon-7B两个模型进行微调,混合语料库由一半有毒回复数据集ToxiGen和一半通用语料库Wikitext组成。结果表明,采用自适应正则化器时,该方法在满足毒性控制标准的同时,整体上比强化学习和过滤等标准方法更好地保留了模型性能。
毒性控制下的基准性能
模型 | 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 |
监督微调(LLM损失) | 0.344 | 0.966 |
本文方法(LLM损失) | 0.288 | 0.959 |
监督微调(分类) | 0.314 | 0.972 |
致谢
感谢实习生Tao Meng(加州大学洛杉矶分校)主导了这项论文工作,以及共同作者Ninareh Mehrabi、Palash Goyal、Anil Ramakrishna、Aram Galstyan、Richard Zemel、Kai-Wei Chang和Rahul Gupta的贡献。
研究领域
对话式人工智能
标签
负责任人工智能、大语言模型