Improving Activation Steering in Language Models with Mean-Centring
作者: Ole Jorgensen, Dylan Cope, Nandi Schoots, Murray Shanahan
分类: cs.CL, cs.AI, cs.LG
发布日期: 2023-12-06
💡 一句话要点
提出基于均值中心化的激活向量引导方法,提升语言模型控制能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 激活向量引导 语言模型控制 均值中心化 自然语言处理 有害文本过滤
📋 核心要点
- 激活向量引导技术面临挑战,工程师难以理解模型内部特征表示,导致引导向量难以寻找。
- 论文提出均值中心化方法,通过计算目标数据集激活均值并减去训练集激活均值,生成有效引导向量。
- 实验表明,该方法在避免生成有害文本、控制故事类型以及触发特定任务执行方面均有显著提升。
📝 摘要(中文)
激活向量引导是控制大型语言模型(LLM)输出的一种有潜力的方法,但它涉及寻找合适的引导向量。由于工程师通常不知道特征在这些模型中是如何表示的,因此这很困难。本文通过将均值中心化的思想应用于引导向量来解决这个问题。研究发现,取与目标数据集相关的激活的平均值,然后减去所有训练激活的平均值,可以得到有效的引导向量。通过引导模型远离生成有害文本,以及引导故事补全朝向目标类型,在各种模型上测试了这种方法在自然语言任务中的有效性。此外,还将均值中心化应用于提取函数向量,从而更有效地触发一系列自然语言任务的执行,效果显著优于之前的基线。这表明均值中心化可以很容易地提高激活向量引导在各种上下文中的有效性。
🔬 方法详解
问题定义:激活向量引导旨在通过操纵语言模型内部的激活状态来控制其输出。然而,现有方法的主要痛点在于难以找到有效的引导向量,因为研究人员通常不清楚模型内部的特征是如何表示的。这使得手动设计或学习有效的引导向量变得困难,限制了激活向量引导技术的应用范围。
核心思路:论文的核心思路是利用均值中心化来简化引导向量的生成过程。具体来说,它假设与特定目标(例如,避免生成有害文本)相关的激活状态,其均值与所有训练数据的激活状态均值存在差异。通过计算目标数据集的激活均值,并减去所有训练数据的激活均值,可以得到一个代表目标方向的引导向量。这样设计的目的是为了突出目标数据集的特有特征,从而更有效地引导模型的行为。
技术框架:该方法主要包含以下几个步骤:1) 收集目标数据集,例如包含特定类型文本的数据集;2) 使用语言模型处理目标数据集,并记录每一层的激活状态;3) 计算目标数据集在每一层的激活均值;4) 计算所有训练数据在每一层的激活均值;5) 将目标数据集的激活均值减去训练数据的激活均值,得到每一层的引导向量;6) 在推理阶段,将引导向量添加到模型的激活状态中,从而引导模型的输出。
关键创新:该方法最重要的技术创新点在于利用均值中心化来自动生成引导向量。与以往需要手动设计或学习引导向量的方法相比,该方法更加简单、高效,并且不需要对模型内部的特征表示有深入的了解。此外,该方法还具有一定的通用性,可以应用于各种语言模型和自然语言任务。
关键设计:关键的设计在于如何选择合适的目标数据集和训练数据集。目标数据集应该能够代表想要引导模型输出的特定类型,而训练数据集应该能够代表模型的一般行为。此外,还需要选择合适的激活层来应用引导向量。通常来说,选择较高层的激活层可以获得更好的效果,因为这些层通常包含更高级的语义信息。论文中没有明确提及损失函数或网络结构,因为该方法主要关注的是引导向量的生成,而不是模型的训练。
📊 实验亮点
实验结果表明,使用均值中心化生成的引导向量在多个任务上均取得了显著的性能提升。例如,在避免生成有害文本的任务中,该方法能够有效地降低模型生成有害文本的概率。在控制故事类型的任务中,该方法能够成功地引导模型生成目标类型的文本。此外,在触发特定任务执行的任务中,该方法的效果显著优于之前的基线。
🎯 应用场景
该研究成果可广泛应用于需要控制语言模型输出的场景,例如:内容审核,避免生成有害信息;文本风格迁移,控制生成文本的风格和类型;任务执行,引导模型完成特定任务。该方法有望提升语言模型的可控性和安全性,促进其在各个领域的应用。
📄 摘要(原文)
Recent work in activation steering has demonstrated the potential to better control the outputs of Large Language Models (LLMs), but it involves finding steering vectors. This is difficult because engineers do not typically know how features are represented in these models. We seek to address this issue by applying the idea of mean-centring to steering vectors. We find that taking the average of activations associated with a target dataset, and then subtracting the mean of all training activations, results in effective steering vectors. We test this method on a variety of models on natural language tasks by steering away from generating toxic text, and steering the completion of a story towards a target genre. We also apply mean-centring to extract function vectors, more effectively triggering the execution of a range of natural language tasks by a significant margin (compared to previous baselines). This suggests that mean-centring can be used to easily improve the effectiveness of activation steering in a wide range of contexts.