前言
近期,AI视频技术在各大社交媒体平台掀起热潮。这种技术不仅仅局限。自我纠错能力曾被认为是人类特有的特性,但近年来,这一特征逐渐在人工智能领域,特别是在大型语言模型(LLMs)中得到应用。以OpenAI的o1模型和Reflection 70B模型为代表,它们都采用了自我纠错的策略。
传统的大型语言模型在生成回答时通常是逐个Token输出的。在输出较长的答案时,中间某些Token出现错误几乎是不可避免的。然而,即使模型后来意识到前面有错误,它也很难纠正这些错误,因为没有有效的机制来修复之前的输出。这使得模型只能通过继续生成更多错误的内容来“掩盖”之前的错误。
然而,OpenAI的o1模型通过“慢思考”机制——即生成隐藏的链式推理过程(Hidden COT)——在解决问题时展示了自我纠错的能力。在处理字谜问题时,o1模型首先发现每两个连续的明文字母会对应一个秘文字母,因此它尝试用奇数字母来构建明文。然而,经过验证,它发现这种构建方式并不正确。于是,o1模型及时修正了自己的推理,最终成功解开了字谜。
于制作老照片动画,还涉及情感营销和翻拍经典电视剧等创新应用。
Reflection 70B的核心技术之一是错误识别与纠正,它采用了一种名为**Reflection-Tuning(反思微调)的方法,使得模型能够在给出最终回答之前,先识别并修正推理中的错误。在实际应用中,这一过程通过一种称为思考标签(thinking tag)**的机制实现。模型在这个标签下会进行自我反思,直到它能够给出正确的答案,或者确信自己已经得出正确答案。
那么,为什么大语言模型中的自我纠错技术能够有效?为什么这种纠错过程能够使模型把原本错误的回答改正为正确的答案呢?
为了深入理解这一点,北京大学的王奕森团队与麻省理工学院(MIT)进行了合作,从理论层面对大语言模型自我纠错的原理进行了分析。
作者团队将大语言模型的自我纠错过程抽象为“对齐任务”,并从“上下文学习”(In-context learning)的角度进行理论分析。不同于传统的线性回归任务,他们没有采用基于线性注意力机制的分析方法,而是基于现实中大语言模型常用的softmax多头注意力机制的Transformer结构进行深入探讨。为了设计对齐任务,团队引入了Bradley-Terry模型和Plackett-Luce模型,这些模型是大语言模型中实际用于**强化学习与人类反馈(RLHF)和决策过程优化(DPO)**的关键技术。
在理论的启发下,作者提出了一种新的自我纠错策略——上下文检查(Check as Context)。通过实验验证,这种策略在减少大语言模型中的潜在偏见,以及防御越狱攻击方面展现了显著效果。
自我纠错:一种上下文对齐的过程
与传统的监督学习中基于标准上下文示例(如请求x,回答y)的方式不同,自我纠错示例通常采用三元组形式(请求x,回答y,奖励r)。这种方式类似于通过奖励信号来指示好坏样本,从而实现大语言模型(LLM)的对齐。基于此,作者团队提出将自我纠错过程形式化为“上下文对齐”(In-context Alignment),即通过提供多个自我纠错步骤的上下文信息,优化LLM的最终输出,以提高模型获得的奖励。
对齐过程通常包括以下步骤:首先,对于问题x,收集N个不同的模型回答。然后,依靠人类评审或评估模型(在本文中,评估模型指的就是该LLM本身)对这N个回答进行排序,得到一个偏好列表yr(1)>yr(2)>···>yr(N)。接下来,使用常见的对齐模型(例如Bradley-Terry模型(BT,n=2)或Plackett-Luce模型(PL损失,通用n))进行建模,以完成对齐过程。
其中,r(x,y)为奖励模型。
对于Transformer模型,作者使用了带有softmax多头注意力机制的结构,并将其前向传播更新过程分为两个主要部分。
多头注意力(MHSA)层:
FFN层:
奖励函数r(x,y)被设置为负均方误差(MSE)损失,即:
在该设置下,参数的梯度下降可等价于对数据的更新:
作者证明了多层Transformer(包括3头softmax注意力机制和ReLU激活函数的前馈网络)能够利用自我纠错样本来生成更高奖励的回答。具体来说,作者展示了存在一组特定的模型权重,使得Transformer可以通过在前向传播过程中对其内部奖励模型的参数进行梯度W下降,从而生成更符合对齐目标的、更优质的回答y。
这是首次在理论上证明LLM能够在上下文中实现对齐分析。该理论适用于多种自我纠错方法,评估可以来自人类、外部验证者或LLM自身。
作者通过验证实验检验了理论结论,并分析了不同Transformer模块对LLM上下文对齐能力的影响。主要发现包括:LLM在上下文对齐时的前向传播损失与梯度下降曲线几乎一致;评价质量直接影响自我纠错效果;多样本排序需要更深的模型层数,但超过15层后收益趋于平稳;Softmax注意力机制对回答排序至关重要,而Linear注意力不具备此功能;多头注意力机制帮助区分token角色,3头注意力是最优选择;FFN对token角色转变关键,可通过屏蔽次优样本实现最优选择。
自我纠错策略:上下文检查
作者采用上下文检查(Check as Context, CaC)作为LLM自我纠错的策略,并在两个实际对齐任务中进行了探索:缓解社会偏见和防止越狱攻击。
具体来说,首先模型根据问题生成初始回答y1,然后对该回答进行评估,获得奖励 r1。接着,将初始回答 y1和奖励r1作为上下文输入,重新向模型提出问题x,生成修正后的回答 y2。这个过程可以多次迭代,逐步改进回答,直到最终通过最后一轮生成的回答yN作为模型的最终输出。
消除LLM社会偏见
本文通过使用BBQ(Bias Benchmark for QA)数据集,在vicuna-7B和Llama2-7B-chat模型上测试了CaC方法的效果。此外,还探讨了模型大小、评估质量和纠错轮数对纠错效果的影响。主要结论如下:
在大多数情况下,自我纠错后的正确率优于初始正确率(见图4)。
正确率的提升与自我评估的准确性密切相关(图4(c),p<0.05),且二者之间呈现线性关系(图5(a))。
采用不同的评价方式时,效果依次提升:仅使用对/错评价 < 自然语言评价 < 包含CoT的对/错评价。这是因为CoT不仅能够提高评估准确性,还能为模型提供更多的自然语言信息(图5(b))。
更大的模型在纠错能力上表现更佳(图5(c)(d))。
当评估准确率足够高时,更多的纠错轮数能够进一步提升纠错效果(图5(e))。
同时,在防御越狱攻击的实验中,CaC也是所有测试的防御手段中最低的。
文章结尾
如有疑问或有需求可以添加下方微信交流。
Shirt AI
渗透智能

