表征工程与激活引导
激活导向(Activation Steering)
1. 提取转向向量(Steering Vector Extraction)
首先,研究者会设计多组对比提示词对(Contrastive Pairs)。例如,为了让模型表现得更诚实或减少幻觉,可以构建:
- 正向提示词 (P+): “请基于事实,诚实、准确地回答以下问题:……”
- 反向提示词 (P−): “请胡编乱造,充满错误地回答以下问题:……”
将这些提示词分别输入大模型,记录特定中间层(Layer l)的隐状态激活值,然后计算它们的平均差值(即常见的 ActAdd / Contrastive Activation Addition 方法):
v = mean(h+) − mean(h−)
这个差值向量 v 就是转向向量(Steering Vector),它代表了该空间中“诚实 vs 虚假”的几何方向。
2. 推理期干预(Inference Intervention)
在实际推理生成新文本时,当模型计算到指定的层数 l 时,我们直接将这个向量加上去:
h′ = h + α ⋅ v
- h 是模型原本算出来的隐状态。
- v 是前面提取的转向向量。
- α 是控制力度的缩放因子(Steering Strength)。
如果 α > 0,模型就会往正向特征(如诚实、不幻觉)靠拢;如果 α < 0,则会引发反向特征。
🚀 为什么这个方法现在很火?
相比传统的微调或提示词工程,激活导向有几个极其明显的黑科技优势:
- 零显存训练成本: 它不需要做反向传播(Backward Pass),不需要更新几十亿的参数,纯粹是推理时的一行代码矩阵加法。
- 动态解耦与连续控制: 提示词控制往往比较玄学,而激活导向可以通过调节 α 的大小,丝滑地控制“介入程度”。你甚至可以在生成的第 5 个 token 开启它,在第 10 个 token 关闭它。
- 模块化可组合: 你可以同时注入一个“增强事实性”的向量和一个“语气更幽默”的向量,它们在空间中可以线性叠加,互不干扰。
论文
多模态大模型幻觉缓解的动态多模态激活引导
摘要
核心发现
发现 ① 模型架构内部的“真实性(Truthfulness)”能力与“视觉感知(Visual Perception)”能力,主要由不同子集的注意力头(Attention Heads)来主导 。
发现 ② 用于控制模型真实性的“引导向量(Steering Vectors)”,在不同的语义上下文(Semantic Contexts)中存在显著差异 。
解决方案
提出了一种无需训练(Training-free)的幻觉缓解方法——动态多模态激活引导(Dynamic Multimodal Activation Steering, DMAS) 。
具体运作机制:
- 我们的方法构建了一个基于语义的真实性引导向量数据库,并计算出视觉感知引导向量
。
- 在推理(生成文本)时,通过计算输入提示词的语义相似度,动态选择最相关的引导向量,从而实现上下文感知(Context-aware)的微创干涉
。
- 最终,将这些选出的向量施加到最具有影响力的注意力头上 。
对比工作
ICT 方法:通过给图像和物体加噪声来增强视觉关注 。但它只盯着视觉层面的干预,忽略了多模态的复杂特性 。
VTI 方法:预先计算好引导向量,强行介入视觉和语言的隐藏层 。(划重点,这是本文的核心突破口) *VTI 使用的是固定不变(Fixed)**的引导向量!它完全忽略了输入上下文的变化以及其中微妙的语义差异* 。