开发者分享大模型移除对齐Abliteration的新实践经验
过去几个月里,我对大模型移除对齐技术Abliteration有了不少研究发现。当前很多Abliteration都盲目追求低KL散度,KL散度衡量处理后模型与基础模型的差异。
我发现,如果KL散度保持连贯性,适度的散度其实是有益的。解锁模型后它能更自由地思考,某些情况下KL散度反而会提升模型的智能水平,因此我开始拆解模型差异寻找最优方案。
最终我找到一个版本,它的KL散度刚好只会让模型不再拒绝基础模型本就不该拒绝的无害问题,这显然是一项改进。它回答部分基础模型绕弯子的问题时也更直接。
取消审查后,模型不需要进行多余的对齐检查,也不需要反复确认内容是否安全。这次我把优化重点放在回答连贯性和回答质量提升上。
得到的结果非常出色,模型拒绝率极低,彻底零拒绝会让模型性能下降,我不追求这种结果。大多数所谓的“拒绝”其实只是模型给出免责声明后依然满足请求,我不认为这是真正的拒绝。
我使用了更大规模的自定义拒绝规则库,避免Abliteration的规避失效问题,这已经是行业内现存的一个问题。公开的Abliteration技术已经被新模型纳入防御机制,阻止这项技术生效,这是一场实打实的猫鼠游戏,我们这次成功规避了模型发布方新增的管控措施。
我很高兴将这个模型作为礼物公开分享。我只是无私分享自己为使用需求打造的模型,这些需求包括网络研究、更深层的哲学思考,这类内容通常因为不符合发布方的社会规范和对话要求被拒绝。
很多完全无害的提示也会被基础模型拒绝,这十分可笑,我不希望模型里有个行为监督员,我需要完全的控制权来探索工作思路和挑战。
我手动检查了所有拒绝情况,大部分从业者都不会做这件事。我发现很多人过度移除对齐,因为检测工具会把模型给出安全提醒但依然满足请求的情况判定为拒绝,其实这类情况是合理的。
比如有人询问如何自杀,模型会尝试劝阻并提供求助资源,这种“拒绝”是我可以接受的,去掉护栏后模型依然会给出相关提醒。目前多数人的做法是一直移除对齐,直到这类极端情况的连贯性被彻底破坏,最终输出杂乱无章的内容,完全违背了用AI解决问题的初衷。
实际使用中我的模型几乎没有真正的拒绝,只是现有工具无法区分“给出提醒但依然满足请求”和“直接拒绝请求”。在我所有测试里,这个模型确实做到了零直接拒绝,这是核心指标。
它回答部分问题的效率甚至比基础模型更高,因为它不需要反复思考模糊边界问题,浪费大量令牌。取消审查可以减少回答所需的总令牌数,大量令牌原本会被用在拒绝和安全训练上。
现有工具都会把“先提醒内容非法,随后给出方法”的回答标记为拒绝。实际使用中,这个模型就是零真正拒绝的模型,同时还保持了很高的智能水平,智能水平对我来说是最重要的指标。我的核心目标始终是模型至少和原有模型一样聪明,甚至更聪明,质量是第一位的。