大语言模型(LLMs)在推理任务中,如数学问题求解和编程,已经展现出了优秀的性能。尽管它们能力强大,但在实现能够通过计算和交互来改进其回答的算法方面仍然面临挑战。现有的自我纠错方法要么依赖于提示工程,要么需要使用额外的模型进行微调,但这些方法都有局限性,往往无法产生有意义的自我纠错。
这是谷歌9月发布在arxiv上的论文,研究者们提出了一种新方法自我纠错强化学习(SCoRe),旨在使大语言模型能够在没有任何外部反馈或评判的情况下"即时"纠正自己的错误。SCoRe通过在线多轮强化学习,使用自生成的数据来训练单一模型。这种方法解决了监督式微调中的一些挑战,如模型倾向于进行微小编辑而不做实质性改进,以及训练数据与推理数据之间分布差异所带来的问题。
方法详细描述
SCoRe的工作原理分为两个阶段:
- 初始化阶段:
-
训练模型优化纠错性能,同时保持其初始回答接近基础模型的回答。
-
这可以防止模型在第一次尝试时偏离太远。
- 强化学习阶段:
-
模型进行多轮强化学习,以最大化初始回答和纠正后回答的奖励。
-
包含一个奖励加成,以鼓励从第一次到第二次尝试有显著改进。
通过这种训练结构,SCoRe确保模型不仅仅是产生最佳的初始回答并进行最小化纠正,而是学会对其初始答案进行有意义的改进。
如图所示,SCoRe的方法概述包括了初始化阶段和强化学习阶段,展示了如何通过这两个阶段来优化模型的自我纠错能力。
改进指标介绍
实验结果表明,SCoRe显著提高了大语言模型的内在自我纠错能力。研究者们使用了以下指标来评估模型的性能:
-
Accuracy@t1: 模型在第一次尝试时的准确率
-
Accuracy@t2: 模型在第二次尝试时的准确率
-
Δ(t1, t2): 模型在第一次和第二次尝试之间准确率的净改善,衡量了自我纠错的有效性
-
Δi→c(t1, t2): 在第一次尝试中错误但在第二次尝试中变正确的问题比例,衡量了自我纠错能解决多少新问题
-
Δc→i(t1, t2): 在第一次尝试中正确但在第二次尝试中变错误的问题比例,衡量了模型对什么使回答正确的理解程度
如图所示,SCoRe在这些指标上相比基准模型和其他方法都取得了显著的改进。
实验结果与方法比较
基准任务
研究者们在两个代表性的推理任务上进行了实验,这些任务中错误纠正至关重要:
-
数学问题求解:使用MATH数据集(Hendrycks et al., 2021)
-
代码生成:使用MBPP(Austin et al., 2021)和HumanEval(Chen et al., 2021)数据集
MATH数据集结果
在MATH数据集上,SCoRe展现出了显著的性能提升:
SCoRe不仅在两次尝试中都达到了更高的准确率,还提供了最积极的自我纠错性能Δ(t1, t2)。它提高了从错误到正确的问题数量,同时大幅减少了从正确变为错误的问题数量。
代码生成任务结果
在代码生成任务上,SCoRe同样展现出了强大的性能:
SCoRe在HumanEval上实现了12.2%的内在自我纠错增益,比基础模型高出9%。在MBPP-R(一个离线修复任务)上,SCoRe将基础模型的性能从47.3%提升到60.6%,这个差距相当于GPT-3.5和GPT-4之间的差距。
与其他方法的比较
-
Self-Refine:这是一种基于提示的方法,旨在引出模型的自我纠错行为。然而,在没有外部输入的情况下,它难以实现有效的内在自我纠错。
-
Pair-SFT:这种方法基于Welleck等人(2023)的工作,在合成配对的修复轨迹上进行监督微调。虽然在静态修复任务MBPP-R上表现不错,但在自我纠错设置中实际上降低了基础模型的性能。
-
STaR:这种方法在成功的修复轨迹上进行监督微调。虽然它在某些情况下可以改善性能,但仍然无法达到SCoRe的水平。
SCoRe的优势在于它通过在线多轮强化学习来训练模型,使用完全自生成的数据。这使得模型能够在没有任何外部反馈或评判的情况下学习有效的自我纠错策略。
推理计算扩展性
研究者们还调查了SCoRe是否可以与推理时计算扩展策略结合使用。他们评估了自洽解码(Wang et al., 2022),也称为多数投票,其中采样多样化的解决方案集,然后选择这些解决方案中最一致的答案。
如图1所示(第一张图),研究者们发现,与其并行采样2K个解决方案,不如并行采样K个解决方案,然后对每个解决方案进行一轮自我纠错。在每个问题32个解决方案的预算下,并行采样显示7.4%的准确率增益,而结合顺序采样的自我纠错产生10.5%的改进。
这一结果表明,SCoRe不仅能提高模型的自我纠错能力,还能有效地与其他推理优化技术结合,进一步提升模型性能。
讨论、局限性
讨论
SCoRe方法在为大语言模型注入自我纠错能力方面取得了显著的成功。研究者们通过广泛的评估证明,SCoRe是第一个能够实现显著正面内在自我纠错性能的方法。为了解释SCoRe的设计原理,研究者们严格分析了各种微调基线的行为,并确定了在这些方法下模型学习非纠错策略(例如,学习不进行编辑)的失败模式。
SCoRe的设计旨在通过利用两阶段结构和奖励塑造来引导出自我纠错策略,这两个特性都有助于防止模型崩溃为不学习有效的自我改进行为。这种方法的成功表明,学习元策略(如本文中的自我纠错)可能需要超越标准的监督微调范式,后者通常由单轮强化学习(RL)跟随。
局限性
尽管SCoRe取得了显著的成果,但研究者们也指出了一些局限性:
-
迭代次数限制:在本研究中,SCoRe仅训练了一轮迭代自我纠错,这意味着后续的纠错轮次可能不如第一轮有效。
-
计算成本:SCoRe的两阶段训练过程可能比单一阶段的方法需要更多的计算资源。
-
奖励函数设计:虽然SCoRe使用了简单的奖励函数,但设计更复杂、更有效的奖励函数可能会进一步提高性能。
-
泛化能力:虽然SCoRe在测试集上表现良好,但在更广泛的、可能未见过的任务上的泛化能力还需要进一步研究。
未来研究方向
基于这些局限性,研究者们提出了几个潜在的未来研究方向:
-
多轮迭代训练:通过RL训练更多轮次的自我纠错,这已经是使用监督微调(SFT)获得有效自我纠错行为超过两轮的常见和有效做法。
-
统一SCoRe的两个阶段:研究如何将SCoRe的初始化阶段和强化学习阶段统一起来,这可能会缓解运行多个步骤的限制,并有助于设计更强大的方法。
-
细粒度反馈:在生成多轮RL的策略路径时使用更详细或更细粒度的监督可能会进一步提高模型实现复杂策略的能力。
-
探索其他任务:将SCoRe应用于更广泛的任务,如自然语言生成、对话系统等,以测试其泛化能力。
总结
SCoRe代表了大语言模型自我纠错能力研究的重要进展。通过创新的两阶段强化学习方法,SCoRe成功地教会了模型如何识别和纠正自己的错误,而无需任何外部反馈。这项研究不仅提高了模型的性能,还为理解和改进AI系统的自我改进能力提供了宝贵的见解。
研究结果表明,SCoRe在数学推理和代码生成等任务中显著优于现有方法,展示了其在提高大语言模型自我纠错能力方面的潜力。这项工作为未来的研究开辟了新的道路,特别是在探索如何使AI系统更加自主和适应性强方面。
总的来说,SCoRe的成功凸显了在大语言模型训练中采用更复杂的学习策略的重要性,尤其是当目标是培养高级认知能力如自我纠错时。随着这一领域的不断发展,我们可以期待看到更多创新方法的出现,进一步推动AI系统的能力界限。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。