该模型基于Meta-Llama-3-70B-Instruct,采用正交化技术处理权重,旨在减少模型拒绝表达的倾向,同时保留原始模型的知识和训练成果,相比传统微调更具针对性。【此简介由AI生成】
library_name: transformers license: llama3
Llama-3-70B-Instruct-abliterated-v3.5 模型卡片
我用于复现该方法论的原始 Jupyter "烹饪手册" 可在此查看
我使用的个人代码库(仍在完善中,计划进一步优化和通用化)
本模型基于 meta-llama/Meta-Llama-3-70B-Instruct,通过正交化处理的 bfloat16 安全张量权重生成。该方法基于预览版论文/博客文章《LLM 中的拒绝行为由单一方向介导》中描述的方法论进行了优化,建议阅读原文以深入了解。
为什么是 V3.5?
第二次尝试。我认为 V3 版本对 70B 模型的方法应用不够完善,而 Reddit 用户 u/Nexesenex 的反馈也印证了我的怀疑。所以请怪他们吧 😛
此版本仅修改了单个层级(!),但显著减少了道德说教式的免责声明。
希望您能发现此模型优于 70B-V3 版本!此外,本版本还修复了分词器问题。
等等,“abliteration”?正交化?消融?这些是什么?
简而言之:本模型通过特定权重操作来“抑制”模型表达拒绝的能力。不保证它完全不会拒绝请求、理解偏差或停止伦理/安全相关的说教。其他所有特性均与原始 70B 指导模型保持一致,仅通过正交化移除了最强烈的拒绝方向。
终极简化版:这是我所能实现的最纯粹的去审查版本——除原始模型外未新增或改变任何其他行为。
关于“abliteration”:这是对原论文中“ablation”(消融)术语的趣味双关,特指移除特征的操作。我创造这个词是为了区分本模型与常规的“去审查”微调版本。
Ablate(消融) + obliterated( obliterated) = Abliterated
总之,正交化/消融在此处指代同一技术:通过正交化方式将模型的拒绝特征“消融”移除。
关于方法论的进一步探讨及其价值所在
在我看来,消融(或反向应用的"增强"方法)能够精准地植入或移除特定特征,而若要通过系统提示词实现相同效果,往往需要耗费大量文本篇幅。
取而代之的是,您只需在消融脚本中将系统提示词应用于同一数据集上的空白系统提示,就能在最终模型权重中正交化实现目标行为。
为何选择这种方法而非微调?
消融法的本质更具精准性,且执行所需数据量远少于微调——我认为这是其主要优势所在。
更重要的是,它在消除模型某种特定不良行为倾向(本例中表现为拒绝用户请求)的同时,最大限度保留了原始模型的知识储备与训练成果。
微调技术仍然极具价值,是实现广泛行为调整的首选方案;但通过消融/增强技术,您可能仅需极少量样本就能逼近目标行为效果。 这种方法也可作为模型优化的补充步骤:先正交化再微调,或反向操作。
我尚未对此模型结合微调进行深入探索,鼓励有条件的研究者尝试这种组合方案。
好吧,但为什么直接推出V3?70B版本没有V2吗?
事实上,我早前在Cognitive Computations项目下发布过8B版本的V2模型。 最终认为不值得为70B版本开发V2,希望在投入可能徒劳的计算资源前先完善方法论。 而当前这个最新方法论令我非常满意——它似乎有效减少了幻觉现象。 为了凸显这是比8B V2更先进的方法论,我决定效仿微软的版本命名策略,直接进行双版本号跨越,毕竟这是重大技术突破(当然官方说辞如此,实际原因与当年微软跳过"Windows 9"的典故类似——太多遗留库通过检测"Windows 9"来识别Windows 95/98系统)。
特性感知提示
由于所采用的方法论较为新颖,该模型可能会呈现一些有趣的特性。我们鼓励您尝试使用此模型,并在社区板块中分享您注意到的任何特性,这将有助于我们进一步理解这种正交化方法可能带来的副作用。
如果您在此基础上实现了进一步的改进,请务必分享!这仅是使用消融技术的最基础方式,但我相信还存在其他尚未探索的可能性。
此外,欢迎通过任何方式与我交流。您可以在Cognitive Computations Discord找到我,我也会持续关注社区板块的动态。请随时联系!我非常期待看到这种方法论在其他领域的应用,并将竭尽所能为探索者提供支持。