DeepSeek-V4-Flash:LLM 转向控制重燃兴趣DeepSeek-V4-Flash means LLM steering is interesting again
文章探讨了通过直接干预模型中间层激活值来“引导”大型语言模型(LLM)输出的技术,即“转向向量”方法。受 antirez 的 DwarfStar 4 项目启发,该项目基于 llama.cpp 实现,作者认为 DeepSeek V4 Flash 的发布使这一研究方向再次变得具有吸引力。尽管存在争议,但该方法展示了在不改变模型权重的情况下影响输出行为的潜力。作者强调,这种激活层面的操控为 LLM 提供了新的可控性路径。
自 Golden Gate Claude 以来,我一直对“引导”(steering)这一概念着迷:即通过直接操控模型运行过程中的激活状态来指导大语言模型的输出。
DeepSeek V4 Flash
我写这篇帖子是受到 antirez 最近的项目 DwarfStar 4 的启发,这是一个精简版的 llama.cpp,仅支持运行 DeepSeek-V4-Flash。这个模型有什么特别之处?它或许正是许多工程师一直在等待的东西:一个足够强大的本地模型,至少能在基础级的前沿代理编码任务中与主流模型一较高下。
由于引导需要本地模型的支持,现在许多工程师已经可以实际尝试这一技术。事实上,antirez 已经在 DwarfStar 4 中将引导作为核心功能集成其中。目前它还非常基础(基本上只是可以通过提示词复现的“简洁性”示例),但首次发布也才八天前。我计划密切关注这个项目的发展。
引导是如何工作的
引导的基本思想是从模型的内部状态中提取某种概念(例如“回答要简洁”),然后在推理过程中干预并增强构成该概念的数值激活值。
一种实现方式是为模型输入同一组一百条提示语两次:一次使用原始提示,另一次则在末尾加上“回答要简洁”。然后比较每对提示在模型激活值上的差异(通过将一个激活矩阵减去另一个)。这就是你的“引导向量”。理论上,你可以将其加到任何相同提示的激活层上,从而获得相同的响应更简洁的效果。
另一种更复杂的方法是训练第二个模型来从第一个模型的激活值中提取“特征”——即那些经常共同出现的模式。然后你可以尝试将这些特征映射回具体的概念,并以同样的方式增强它们。这大致就是 Anthropic 在使用稀疏自编码器(sparse autoencoders)时采用的方法。其原理与朴素方法相同,但能捕捉更深层次的模式(代价是需要更多的时间、计算资源和专业知识)。
为什么引导很有趣
引导听起来像是作弊码。我们不必费尽心思构建训练集来推动模型在训练数据分布中向“智能”一端靠拢,为什么不直接找出模型大脑中的“智能旋钮”并将其拧到最大呢?
这也似乎是一种更优雅地调整模型说话方式的方法。与其在提示词中反复添加或删除诸如“你 MUST”之类的限定词,我们难道不能拥有一个控制面板,上面设有“简洁/冗长”、“认真/快速”等滑块,直接调节这些参数吗?
最后,这真的很酷。看着 Golden Gate Claude 不由自主地把每个句子都拽回到金门大桥,就像 Oliver Sacks 讲述的神经学趣闻一样既令人着迷又有些不安。如果自己的思维也以类似方式被微调,那我还是我吗?
为什么引导尚未被广泛应用
那我们为什么不更多地使用引导呢?为什么 ChatGPT 和 Claude Code 还没有提供实时调节模型大脑的引导面板?一个原因是,引导在 AI 研究领域有点尴尬地处于“中间阶层”——既不够底层也不够顶层。
它位于大型 AI 实验室之下,这些实验室可以直接操控模型,而无需在推理过程中进行尴尬的“大脑手术”。Anthropic 正在研究这些技术,但主要是从可解释性和安全性角度出发(据我所知)。当他们希望模型以特定方式行为时,他们不会费心调整方向,而是直接训练模型。
对于像你我这样的普通 AI 用户来说,通过 API 使用大语言模型,也难以实现方向控制,因为我们无法访问模型权重或激活值等必要信息来调整模型。例如,只有 OpenAI 才能识别或公开 GPT-5.5 的方向向量。对于开源模型,我们或许可以做到这一点,但直到最近(稍后会详细说明),还没有足够强大的开源模型值得为此付出努力。
此外,大多数基础的方向应用都被简单的提示词所超越。能够直接操控模型的“大脑”听起来确实令人印象深刻。但你有没有想过,还有什么也能直接操控模型的“大脑”?提示词本身就可以做到这一点。虽然方向控制可以对激活值施加相当精细的控制,但通过调整提示词的语言,你实际上已经可以实现极其精细的控制。换句话说,当你只需简单询问就能让模型更详细回答时,就没有必要费力去调整模型使其变得啰嗦了。
对不可提示的概念进行调整
方向控制真正有用的一个途径是,如果我们能识别出无法通过提示词表达的概念。那“智能”呢?过去你可以通过提示词要求模型表现出智能——这也是为什么 4o 时代的提示词总是以“你是一个专家”开头——但当前一代的模型已经将这种智能内化为其个性的一部分,因此再提示它也无济于事。也许对智能进行方向控制仍然有效?
归根结底,这是一个经验性问题,但我怀疑我们能否找到“智能”的方向向量。换言之,要表达像“智能”这样复杂的概念,其方向向量可能几乎与整个模型的权重集重合,因此识别它就等同于“训练一个聪明的模型”的问题。
足够复杂的方向方法最终只是替代了实际的模型。如果我取 GPT-2,并在每一层用架构相同但强大得多的模型的激活值替换其激活值,我就能得到更好的结果。但到那时,你并不是让 GPT-2 变得更聪明,而只是在与更强的模型对话。智能存在于方向控制中,而不是模型本身。关于这一点,更多细节请参见我的文章《AI 可解释性与心灵哲学具有相同的困境》。
方向控制作为数据压缩
方向控制的另一个有用途径是,如果我们能以某种方式调整一个需要大量标记(tokens)来表达的概念。这样一来,方向控制就能为我们节省出模型上下文窗口的很大一部分。直观上,我们可以将其视为一种将概念从模型的“工作记忆”转移到其“隐式记忆”的方法。
例如,如果我们能识别出“对我特定代码库的知识”这一概念会怎样?当 GPT-5.5 快速阅读我的代码库时,它所获得的某些知识必然存储在激活值中,对吧?也许我们可以将这些知识提取出来,形成一个非常大的方向向量。
如果这能行,我会很惊讶。我认为我们会遇到和提取“智能”时相同的问题:“了解我的代码库”这个概念可能足够复杂,需要模型进行完整的微调。但至少看起来是可能的。
结论
我对方向控制(steering)很着迷,但并不特别乐观。我认为大多数收益可以通过提示词更高效地实现,而那些真正雄心勃勃的方向目标则可以通过训练或微调模型来更高效地达成。
然而,开源社区在方向控制方面的工作还不多,现在可能刚刚开始有所改变。如果我错了,它确实有实际应用价值,我们应该能在未来六个月内发现这一点。
有趣的是,像 DwarfStar 4 这样的定制模型工具是否会最终包含一个“可增强功能库”。当流行的开源权重模型发布时,社区总会迅速推出一系列包装器和量化版本。我们是否也会看到从模型中提取可增强功能的热潮?
这是与本文标签相关的一篇预告文章。
需要完整排版与评论请前往来源站点阅读。