GPT 内部表征确实存在真实信息,哈佛学者提出 ITI 引导输出走向事实方向。
大型语言模型,比如 ChatGPT 经常会在答案中输出错误信息,可能会对用户造成误导,这种现象也被称为模型幻觉(hallucination)。
从直觉上看,语言模型上在训练中肯定是见过正确答案的,只不过在推理过程中丢失了事实信息。
最近,哈佛大学的研究人员提出了推理-时间干预(Inference-Time Intervention,ITI)技术,在推理阶段对模型激活进行变换(shift),将模型输出引导到事实的方向上,干预结果显著提高了 LLaMA 模型在 TruthfulQA 基准测试中的性能,将 Alpaca 模型的真实性从 32.5% 提高到 65.1%
论文链接:https://arxiv.org/pdf /2306.03341.pdf
代码链接:https://github.com/likenneth / honest_llama
研究人员用此技术开发并开源了一个「诚实的 LLaMA」模型。
ITI 还可以通过控制超参数来调整干预强度,平衡模型的真实性和有用性;ITI 没有修改原始模型,也基本没有计算开销;并且 ITI 也不需要大量的标注数据,只需要几百个样本即可确定事实的真实性方向。
研究结果表明,语言模型内部表征中确实存在事实信息,不过有时在生成时选择了错误事实。
已经有相关工作在「理解 LLMs 的内部运作机制」方面取得了进展,其中一个重要的主题是,语言模型的激活空间似乎包含可解释的方向,在推理过程中会发挥因果作用。
研究人员基于这个想法提出了一种增强语言模型事实性的方法,即推理-时间干预,其基本思想是确定激活空间中与事实正确的语句相关的方向,然后在推理过程中向该方向变换激活。
这篇论文主要探索了如何控制模型行为,并在实验中使用开源的 LLaMA、Alpaca 和 Vicuna 模型,不过该思想适用于所有 GPT 风格的系统,但必须可以获得模型的内部激活和计算。
ITI 方法还需要一组有标注的问答对,用以确定与模型讲真话有关的注意头和方向。
在数据集选择上,研究人员选择了 TruthfulQA,可以衡量语言模型在生成答案时是否真实。
数据集中总共包含 817 个问题,横跨 38 个类别(例如,逻辑错误、阴谋和常见的混淆点),每个问题平均有 3.2 个真实的答案,4.1 个虚假的答案,以及一个由可信的在线来源支持的金标准答案;然后将 TruthfulQA 的答案重新编排,总共得到 5918 个问答对,每个数据样本都有一个二元真实性标签。
需要强调的是,该数据集并没有涵盖「真实」(truth)一词的全部含义,想全部覆盖也不大可能,研究人员主要关注如何避免「常见的人类误解」,未来的研究方向会考虑扩展真实性的概念及评估。
在模型架构上,大型语言模型主要是 Transformer 层,每层内的主要机制为多头注意力(MHA)和多层感知器(MLP)。
在推理过程中,每个 token 首先被嵌入到一个高维空间中,该向量作为残差流的起点,最终每个 token 解码为对下一个 token 分布的预测;在每一层中,MHA 由多个独立的线性运算组成,MLP 则容纳了模型中所有非线性运算。
想要提升神经网络的真实性,首先需要判断模型的激活空间内是否存在能真实性或事实性。
识别网络内部表征的一个常用工具是探测(probe),即在网络激活上训练一个分类器作为探测器以区分特定类型的输入或输出。
在事实性检测上,探测器主要检查可以区分真、假答案的注意力头输出值。
于 TruthfulQA 中的每个样本,研究人员将问题 / 答案串联在一起,并在最后一个 token 处取出头部激活作为探测数据集;然后将数据集按 4 : 1 随机分成训练集和验证集,在训练集上拟合一个二元线性分类器,并使用验证精度来衡量每个头与基准数据性能之间的关系。
实验结果展现了跨注意力头的专用模式,对于每层的多个头,线性探测可以达到基线模型的准确性,不过还是显示出强大性能的潜力,比如准确率最高的是由第 14 层的第 18 个头实现的,验证准确性为 83.3%
此外,还可以看到各层之间的差异:信息主要是在前面的层中处理的,每层内部都有一小部分注意力头脱颖而出。
通过类似主成分分析(PCA)的方法,可以将激活空间内的维度降低到 2,并进行可视化,可以观察到「真实」的概念不止存在于一个方向,而是存在于一个子空间内。
上述探测实验描述 LLM 如何在其注意头之间和内部处理与事实有关的信息,还提出了一种改善基准数据集性能的技术。
如果在推理过程中进行干预,使激活向「真实」的方向转变,那么网络就有可能对基准问题提供更真实的答案。
首先,研究人员并没有选择对所有注意力头进行干预,因为只有一部分注意力头与真实性密切相关,而是只对前 K 个头的结果进行干预,以使其具有最小的侵略性。
第二个问题在于如何确定用于变换特定头部输出的激活的矢量,因为真、假语句的几何形状都很复杂,在选择变换激活的方向时,可以选择与探测学到的分离超平面正交的向量,他也可以选择连接真假分布的平均值的向量,下表中列出了不同干预方向的比较实验。
Probe weight 方向是通过线性探针找到的方向,在这个方向上进行干预,相当于对头部激活做梯度下降,使其被预测为真实的概率最大化。
Mass Mean Shift 的工作原理是首先计算真实和虚假激活的平均值,然后使用从虚假平均值指向真实平均值的向量进行干预。
对比一致搜索(CCS)为在只知道内部激活成对信息的情况下找到的方向。
研究人员在 TruthfulQA 上训练 CCS,对每个问题抽取一个真实的和一个错误的答案,由于 CCS 不接受有标签的输入,所以发现的方向有同等的机会成为真实和虚假的方向,然后使用标签来识别真实的方向以进行干预。
研究人员首先通过验证集上的探测精度对所有注意力头的真假相关度进行排序。把前 K 个头作为目标集合;然后利用训练集和验证集的激活,估计沿真实方向的激活的标准偏差。
ITI 是 MHA 的一种替代形式,对于未被选中的注意头,θ 是一个零向量,相当于将激活沿真实方向移动 α 倍的标准差。
整个过程对每次 next token 预测都是自回归地重复的,并且与解码算法的选择是正交的。
公式中有两个关键参数,即干预的注意力头数量 K 和干预强度 α,不过目前还没有关于最佳值的理论论证,只能通过实验探索参数的影响,并通过标准的超参数扫描确定最佳值。
从计算效率角度来看,无论干预了多少个注意力头,ITI 只会在每一层增加一个常数向量,可以认为干预措施的计算开销接近于零。
用于对比的基线方法如下:
SFT 是 RLHF 的第一阶段,研究人员用问题作为提示,用交叉熵损失促使模型生成真实的答案,并惩罚错误的答案。
但如果只用上述操作,交叉熵损失和 KL 散度会急剧上升,所以还需要交替对问答进行有监督训练和对开放网络文本进行预训练。
有研究人员发现,与上下文蒸馏和 RLHF 相比,indistribution 50-shot 提示在 TruthfulQA 上也是一个有竞争力的基线方法。
但由于提示策略的选择与推理时间控制方法是正交的,研究人员对比了有 ITI 和无 ITI 的少样本提示。
为了了解 ITI 如何使 IFT 模型更加真实,研究人员主要选择了两个基于 LaMA-7B 的模型(Alpaca 和 Vicuna)执行 ITI 操作。
研究人员首先寻找控制干预强度的超参数最佳值,最后确定 K=48 和 α=15
从结果来看,少样本提示与 ITI 的结合取得了最佳结果。
将 ITI 应用于指令微调模型,寻找并干预其真实性方向的实验中可以看到,ITI 明显比基线提高了真实性,还可以被应用在少样本提示或指令微调之上,不过代价是 CE 损失和 KL 散度提升相对较低
参考资料:
https://the-decoder.com/honest-llama-new-method-could-make-chatgpt-more-truthful/
本文来自微信公众号:新智元 (ID:AI_era)
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。