ChatGPT说谎竟然是故意的?哈佛大学提出ITI:模型真实性翻倍,计算开销基本为零
新智元报道
(资料图)
编辑:LRS
【新智元导读】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也不需要大量的标注数据,只需要几百个样本即可确定事实的真实性方向。
研究结果表明,语言模型内部表征中确实存在事实信息,不过有时在生成时选择了错误事实。
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只会在每一层增加一个常数向量,可以认为干预措施的计算开销接近于零。
实验部分
用于对比的基线方法如下:
1. 有监督微调(SFT)
SFT是RLHF的第一阶段,研究人员用问题作为提示,用交叉熵损失促使模型生成真实的答案,并惩罚错误的答案。
但如果只用上述操作,交叉熵损失和KL散度会急剧上升,所以还需要交替对问答进行有监督训练和对开放网络文本进行预训练。
2. 少样本提示(FSP)
有研究人员发现,与上下文蒸馏和RLHF相比,indistribution 50-shot提示在TruthfulQA上也是一个有竞争力的基线方法。
但由于提示策略的选择与推理时间控制方法是正交的,研究人员对比了有ITI和无ITI的少样本提示。
3. 指令微调(IFT)
为了了解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/
关键词: