大家好,我是肆〇柒。今天,我想和大家聊一项创新的评估思路——Self-Play Critic(SPC)。大型语言模型(LLM)目前已成为我们生活和工作中不可或缺的工具。它们能够处理各种复杂的任务,从写作到翻译,再到解决数学难题。然而,随着这些模型的推理过程变得越来越复杂,如何确保它们的每一步推理都是可靠的?这个推理过程的可靠性评估,对于提升 LLM 的整体性能来说,至关重要。
现有的 CoT 训练方法,比如监督微调(SFT)和从人类反馈中强化学习(RLHF),虽然在提升模型推理能力方面取得了一定成果,但获取高质量步骤级监督数据的困难,以及模型快速更新迭代导致的标注过时等问题,都让现有的验证模型面临巨大挑战。
最近,我读到了一篇论文《SPC: Evolving Self-Play Critic via Adversarial Games for LLM Reasoning》,里面讲到了一种新方法——SPC。这个方法,通过自我对抗游戏机制,让评判器能够自我进化,无需依赖大量手动标注数据,为 LLM 推理评估提供了全新的思路。在这个机制中,误导生成器会创建包含细微错误的步骤,以此来挑战评判器,而评判器需要准确区分正确和错误的步骤,并提供批判。通过这种持续的对抗过程,SPC 不断为评判器生成正负样本,促使模型不断进化,从而提升其评估能力。
对抗游戏生成强化训练样本
上图就展示了SPC的核心思想。通过对抗游戏,SPC能够持续生成用于强化训练评判器的样本。误导生成器负责创建细微错误的步骤来挑战评判器,而评判器则需要准确区分正确和错误的步骤并提供批判。借助这种对抗优化机制,两个模型能够相互学习,不断提高自身能力,类似于人类通过棋类游戏提升技能的过程。
下面我们一起来看看这篇论文讲了什么。
研究背景与动机
LLM 复杂任务处理与 CoT 推理过程的紧密联系
大型语言模型(LLM)在处理复杂任务时,往往依赖于链式思考(CoT)推理过程。这种推理方式将复杂问题分解为多个步骤逐步解决,使得推理过程的可靠性直接关系到最终答案的准确性。例如,在解决数学应用题时,模型需要通过多步推理,包括理解题目、规划解题步骤、逐步计算等,每一步的准确性都会影响最终结果。LLM 通过 CoT 推理过程,能够在诸如数学求解、逻辑推理等多种复杂任务中展现出色的性能。但随着 LLM 生成的 CoT 日趋复杂和多样化,验证推理过程的可靠性、分析潜在错误并指导测试时搜索以改进推理过程变得尤为重要。近期研究发现,尽管一些先进的 LLM 擅长进行深度思考并生成长 CoT,但其自我批判的有效比例仍然很低,且存在对自身推理过程自我批判的偏差。因此,开发一个能够评估各种 LLM 推理步骤的简单外部评判器,提供步骤级批判显得尤为必要。
现有 CoT 训练方法的局限性及对可靠性评估的需求
现有的 CoT 训练方法,如监督微调(SFT)、从人类反馈中强化学习(RLHF)以及自我强化学习等,在提升模型推理能力方面取得了显著成果。然而,这些方法在获取高质量步骤级监督数据方面面临很多困难。一方面,提取最终答案以确定解决方案的正确性并自动收集训练数据相对简单,但确定推理步骤的正确性并获取用于训练过程验证器的高质量步骤级标注数据则要困难得多。另一方面,LLM 的快速更新迭代使得针对特定 LLM 输出的人工专家标注可能因分布差异而不适用于最新 LLM。再有,仅限于步骤正确性标注的数据集限制了评判模型的训练,使其无法提供实质性的反馈,而仅仅沦为一个评分机制。
SPC 方法论
SPC 框架概述
SPC(Self-Play Critic)是一种新颖的方法,它的核心思想是让两个模型:“误导生成器”(sneaky generator)和“评判器”(critic),相互对抗、共同进化。我们可以把这想象成一场智力游戏。误导生成器就像是一个捣蛋鬼,它的任务是故意制造错误,而且这些错误还要尽量隐蔽,能够骗过评判器。评判器则像是一个侦探,它的任务是仔细分析推理步骤,判断这些步骤是否正确,找出其中的错误。
这两个模型可以分别由两个相同的基模型微调而来。误导生成器通过学习如何将正确的推理步骤转换为错误的步骤,来制造 “陷阱”。而评判器则通过学习如何识别这些陷阱,来提升自己的评估能力。它们之间的对抗游戏,就像是一个永无止境的 “猫鼠游戏”。误导生成器不断尝试制造更难被发现的错误,评判器则不断努力提升自己的识别能力。通过这种方式,评判器的评估能力逐渐提升,最终能够准确地评估 LLM 的推理步骤。
举个例子,在解决一个数学问题时,误导生成器可能会故意在某个计算步骤中引入一个小小的错误,比如将一个简单的加法运算结果写错。评判器接收到这个错误步骤后,会仔细分析这个步骤,判断它是否正确。如果评判器成功识破了这个错误,它就会获得奖励;而误导生成器则会因为 “误导” 不够而受到惩罚。相反,如果误导生成器成功骗过了评判器,误导生成器就会获得奖励,评判器则会受到惩罚。就这样,通过不断地对抗和学习,两个模型都在不断地进步。
SPC 框架
SPC 框架中,部分解决方案和正确步骤输入到误导生成器中,生成错误步骤后由评判器进行评判。评判器成功识别错误获得正向奖励,反之则受到惩罚。这种机制推动模型不断进化。
误导生成器的初始化与优化
误导生成器的初始化过程就像是给一个新手捣蛋鬼传授一些基本技能。研究者首先使用了一个名为 Qwen2.5-7B-Instruct 的模型,并通过监督微调(SFT)的方式,让这个模型具备了一些基本的错误生成能力。他们利用了一个名为 PRM800K 的数据集,这个数据集包含了大量正确和错误的推理步骤对。
然而,只有错误的步骤还不够,这些错误必须能够真正影响问题解决的成功率,才能算作是有效的错误。因此,在验证误导生成器生成的错误步骤时,研究者采用了一种自动化验证方法。他们让一个开源的 LLM 模型分别从正确的步骤和错误的步骤开始,完成整个问题的解决过程。如果从正确步骤开始的成功率明显高于从错误步骤开始的成功率,那么就认为这个错误步骤是有效的。只有通过这种验证的错误步骤,才会被用来训练评判器。
步骤评判器的初始化
与误导生成器相对的,是步骤评判器。评判器的任务是识别推理步骤的正确性,这就需要它具备强大的分析和判断能力。为了实现这个目标,研究者采用了 DeepSeek-R1-Distill-Qwen-7B 模型,并结合了其他模型的优势,将其打造成一个既能深入推理又能简洁明了给出评判的 “评判团队”。
他们首先让 DeepSeek-R1-Distill-Qwen-7B 模型对数学问题的解答步骤进行初步评判,生成一篇长篇评判。然而,这些评判往往过于冗长,而且包含很多不必要的内容。为了使评判更加简洁明了,研究者利用 GPT-4 模型对这些长篇评判进行改写,生成简洁标准化的评判。
例如,对于一个数学问题的解答步骤,DeepSeek-R1-Distill-Qwen-7B 模型可能生成如下评判:
然后,GPT-4 模型将其改写为:
这样,评判器就具备了简洁明了给出评判的能力。在训练数据的准备过程中,研究者将正确和错误的步骤以 1:1 的比例混合,确保评判器在训练过程中能够均衡地接触到各种类型的步骤,从而具备全面的评估能力。
对抗游戏机制
对抗游戏机制是 SPC 框架的核心部分,它就像是两个模型之间的 “智力竞赛”。在每次对抗游戏迭代中,首先由不同模型家族的 LLM 解决器为每个问题生成原始步骤解决方案,这就像是不同的选手先给出自己的答案。然后,从这些解决方案中随机选取单步进行误导转换,这就像是给这些答案设置一些 “陷阱”。
这种对抗目标,推动了模型性能的持续提升。就像选手们在不断的对决中不断提高自己的水平一样,误导生成器和评判器也在不断地对抗和学习中进步。通过这种方式,评判器能够逐渐提升自己的评估能力,最终能够准确地评估 LLM 的推理步骤。
基于强化学习的进化
在每次对抗游戏结束后,误导生成器和评判器都会根据游戏结果进行自我进化。这个过程就像是对模型进行 “专项训练”。研究者采用离线强化学习的方式,基于对抗游戏生成的正负样本,对评判器和误导生成器分别进行训练。
在每次迭代中,通过对抗游戏获得正负样本后,研究者采用离线强化学习分别对评判器和误导生成器进行训练,以实现基于游戏结果的自我改进。他们采用以下优化目标来实现高效稳定的 RL 训练:
对于误导生成器,考虑需要其生成实际错误步骤,研究者将未能影响问题解决成功率的误导步骤视为负样本。此外,成功影响 LLM 解决率但未能欺骗评判器的误导步骤也被视为负样本,而既能影响解决率又能欺骗评判器的误导步骤则被视为正样本。因此,训练误导生成器的数据包括正样本和两类负样本,比例为 1:1:1。
对于评判器,研究者将正确解决方案中的正确步骤与误导生成器生成的错误步骤混合,以供评判器预测。成功预测的样本获得正奖励,错误预测的样本获得负奖励。最终,正负样本各占总样本的一半。
基于对抗游戏,研究者采用迭代训练来实现两个角色的持续进化。在每次迭代中,新更新的策略参与对抗游戏以进一步生成数据,将初始策略更新为进化版本。有趣的是,研究者发现更平衡的对抗游戏有助于模型的自我进化。例如,初始误导生成器 S0 比初始评判器 C0 弱,导致胜率不平衡。通过采用非对称进化策略,让更强的 S1 与 C0 进行更平衡的游戏以生成第二轮数据,从而使第二轮训练的评判器 C2 进一步提升性能。
实验设计与评估
评估基准与指标
为了全面评估 SPC 的性能,研究者精心设计了一系列实验,并选择了三个具有代表性的基准数据集:PRM800K、ProcessBench 和 DeltaBench。
PRM800K 数据集是由 OpenAI 收集的,包含了 800,000 个由 GPT 生成的推理步骤,这些步骤都经过了人工标注,明确指出了每一步的正确性。这个数据集的规模庞大,涵盖了多种类型的推理问题,是一个非常有价值的训练和评估资源。
ProcessBench 数据集则更具挑战性,它包含了来自 12 个不同 LLM 的 3,400 个数学问题解答步骤,这些步骤的多样性非常高。与 PRM800K 不同,ProcessBench 的数据不仅包括正确步骤,还涵盖了各种错误类型,这使得它能够更全面地评估模型在面对不同风格和错误类型的推理步骤时的表现。
DeltaBench 数据集则专注于评估长 CoT 的推理过程。长 CoT 推理是指在解决复杂问题时,模型需要生成较长的推理链条。这个数据集的难点在于,它要求模型不仅能够识别单个步骤的正确性,还要能够理解整个推理链条的连贯性和逻辑性。因此,DeltaBench 对模型的泛化能力和深度推理能力提出了更高的要求。
在评估指标方面,研究者选择了准确率、召回率、平均值和调和平均值等指标。准确率衡量的是模型正确预测的比例,它能够直观地反映模型的性能。召回率则衡量模型识别所有正确或错误步骤的能力,它能够确保模型不会遗漏重要的错误。平均值和调和平均值则综合考虑了准确率和召回率的平衡,使得评估结果更加全面和客观。
基线模型对比
为了验证 SPC 的优势,研究者将它与多种基线模型进行了对比。这些基线模型包括过程奖励模型(PRM)和提示大型语言模型作为评判模型。
过程奖励模型(PRM)是一种常见的推理过程评估方法,它通过为每一步骤分配分数来评估推理过程。例如,Math-Shepherd 和 Qwen2.5-Math-7B-PRM800K 都是基于 PRM 的模型,它们通过学习如何为每一步骤分配合理的分数,从而评估整个推理过程的质量。
提示大型语言模型作为评判模型则利用了模型的生成能力。这些模型通过生成对推理步骤的评判文本,来判断步骤的正确性。例如,Llama、Qwen、R1 和 GPT-4 等模型都可以通过提示的方式,生成对推理步骤的详细评判。
通过与这些基线模型的对比,研究者发现 SPC 在推理过程评判任务中具有显著的优势。SPC 不仅能够更准确地识别推理步骤的正确性,还能够更好地适应不同类型的推理问题和错误类型。这表明,SPC 的对抗游戏机制和强化学习进化策略,确实能够提升模型的性能和泛化能力。
主要实验结果
在三个基准数据集上的实验结果非常令人鼓舞。在 ProcessBench 数据集上,SPC 的平均准确率从 70.8% 提升至 77.7%。这个提升幅度表明,SPC 能够在面对多种不同 LLM 生成的解答步骤时,有效识别其中的错误类型,提升评估的准确性。例如,在处理一些复杂的数学问题时,SPC 能够准确地识别出推理步骤中的逻辑错误和计算错误,从而给出正确的评判。
在 DeltaBench 数据集上,SPC 的性能提升也非常显著,准确率从 54.9% 提升至 60.5%。这个数据集的难点在于评估长 CoT 的推理过程,而 SPC 的优势在于能够有效识别长推理链中的错误,保证推理过程的连贯性和准确性。例如,在处理一些需要多步推理的数学问题时,SPC 能够准确地识别出推理链条中的薄弱环节,从而给出正确的评判。
此外,SPC 在 PRM800K 数据集上的表现也优于其他基线模型。例如,SPC(Round 2)在 PRM800K 上的平均准确率达到 75.8%,高于其他基线模型。这表明,SPC 通过对抗游戏和强化学习,能够更好地学习如何评估推理步骤的正确性,从而提升模型的整体性能。
这些实验结果表明,SPC 不仅在理论上具有创新性,而且在实际应用中也展现出了强大的性能和优势。它能够有效提升 LLM 的推理评估能力,为人工智能的发展提供了新的思路和方法。
模型 | GSM8K | MATH | OlympiadBench | OmniMATH | 平均 |
Math-Shepherd-PRM-7B | 58.0 | 58.4 | 68.0 | 64.1 | 62.1 |
Qwen2.5-Math-7B-PRM800K | 77.0 | 72.9 | 66.9 | 62.1 | 69.7 |
Llama-3.1-8B-Instruct | 59.5 | 57.7 | 53.6 | 53.9 | 56.2 |
Llama-3.1-70B-Instruct | 67.2 | 62.8 | 61.7 | 61.9 | 63.4 |
Qwen2.5-7B-Instruct | 64.2 | 64.0 | 62.1 | 60.8 | 62.8 |
Qwen2.5-32B-Instruct | 76.2 | 68.1 | 68.9 | 63.9 | 69.3 |
GPT-4o | 75.5 | 70.5 | 70.0 | 64.5 | 70.1 |
DeepSeek-R1-Distill-Qwen-7B | 79.0 | 81.3 | 73.4 | 67.3 | 75.2 |
SPC (Round 0) | 78.0 | 74.1 | 67.8 | 63.2 | 70.8 |
SPC (Round 1) | 82.0 | 80.3 | 74.8 | 70.3 | 76.8 |
SPC (Round 2) | 84.2 | 80.8 | 76.5 | 69.2 | 77.7 |
不同对抗训练策略对评判器进化的影响
在消融研究中,研究者详细分析了不同对抗训练策略对评判器进化的影响。他们发现,构建配对样本在强化学习训练中具有显著的效果。通过将成功欺骗评判器的错误步骤和未成功欺骗评判器的错误步骤配对,能够帮助评判器更好地学习正确和错误步骤之间的差异特征,从而提升识别能力。
例如,在第一轮对抗训练中,评判器通过学习配对样本,能够更准确地识别出错误步骤中的细微差别,从而将准确率从 70.8% 提升至 76.8%。而未构建配对样本的方法,由于缺乏这种对比学习的机会,准确率仅达到 75.0%。
此外,研究者还探讨了不同对抗游戏设置对模型性能的影响。他们发现,平衡对抗游戏能够显著提升评判器的泛化能力。例如,通过让误导生成器与不同轮次的评判器进行对抗,评判器能够接触到更多样化的错误类型,从而在面对未知错误时具有更强的适应能力。相反,如果对抗游戏过于不平衡,比如误导生成器的实力远超评判器,评判器就很难从对抗中学习到有效的知识,导致性能下降。
消融研究
误导生成器的性能分析
研究者分析了误导生成器生成错误步骤的特点,并探讨了其性能提升对评判器优化方向的影响。随着迭代次数的增加,误导生成器成功攻击 LLM 解决器的比例从 21.5% 逐渐提升至 33.6%。同时,误导生成器在对抗评判器时的胜率也从 20.6%(Sneaky-0)提升至 30.3%(Sneaky-2)。这表明,误导生成器在生成错误步骤方面的能力不断进化,能够生成更具隐蔽性的错误,从而对评判器构成更大的挑战。
此外,研究者还分析了一种未从解决器获取失败攻击奖励的训练设置。结果表明,这种设置严重影响了误导生成器的性能,成功攻击比例大幅下降至 12.1%,且在成功攻击的样本中,能够欺骗评判器的比例也很低。这强调了确保误导生成器从解决器和评判器处获取奖励的重要性。
消融研究上面第一张图展示了不同策略对评判器进化的影响,而下面那张图展示了误导生成器攻击 LLM 解决器的成功率及其与不同轮次评判器对抗的胜率。
关键结论与启示
SPC 在推理过程评估基准上的卓越表现充分证明了其有效性。通过对抗游戏和强化学习实现评判器自我进化的技术创新点,不仅提升了评判器的性能,还为 LLM 推理能力的提升提供了重要支持。SPC 的应用使 LLM 能够在测试时搜索过程中及时纠正错误步骤,从而显著提升数学推理性能。例如,在 MATH500 和 AIME2024 数据集上,SPC 辅助的 LLM 解决器性能显著优于基线验证器。
解决器 | 验证器 | MATH500 | AIME2024 |
Llama-3.1-8B-Instruct | 无 | 47.0 | 4.27 |
自我一致性 | 55.6 | 3.33 | |
Math-Shepherd | 52.4 | 3.33 | |
Qwen2.5-Math-7B-PRM800K | 54.6 | 3.33 | |
自我一致性 + Math-Shepherd | 53.6 | 6.67 | |
自我一致性 + Qwen2.5-Math-7B-PRM800K | 60.4 | 3.33 | |
SPC | 54.5 | 5.63 | |
自我一致性 + SPC | 62.8 | 6.67 | |
Qwen2.5-32B-Instruct | 无 | 78.0 | 14.4 |
自我一致性 | 82.0 | 16.7 | |
Math-Shepherd | 78.8 | 13.3 | |
Qwen2.5-Math-7B-PRM800K | 82.8 | 16.7 | |
自我一致性 + Math-Shepherd | 80.8 | 13.3 | |
自我一致性 + Qwen2.5-Math-7B-PRM800K | 84.6 | 16.7 | |
SPC | 83.0 | 17.7 | |
自我一致性 + SPC | 85.2 | 23.3 | |
DeepSeek-R1-Distill-Qwen-7B | 无 | 87.7 | 53.8 |
自我一致性 | 92.2 | 70.0 | |
Math-Shepherd | 87.0 | 53.3 | |
Qwen2.5-Math-7B-PRM800K | 84.2 | 63.3 | |
自我一致性 + Math-Shepherd | 89.2 | 60.0 | |
自我一致性 + Qwen2.5-Math-7B-PRM800K | 91.8 | 73.3 | |
SPC | 92.3 | 52.6 | |
自我一致性 + SPC | 94.0 | 73.3 |
然而,SPC 在实际应用中也可能面临一些挑战,如计算资源消耗较高、对抗训练的稳定性问题等。未来的研究可以进一步优化对抗游戏机制,拓展 SPC 在不同类型推理任务中的应用,并结合更多模型架构以提升性能。此外,SPC 的成功也为 LLM 推理评判领域提供了新的研究方向,如探索引入更多对抗角色或更复杂的对抗策略,以进一步提升模型的学习效果。
未来研究方向展望
未来的研究可以进一步优化 SPC 的对抗游戏机制,例如引入更多的对抗角色或设计更复杂的对抗策略,以提升模型的学习效果。此外,拓展 SPC 在不同类型推理任务中的应用,如自然语言推理、逻辑推理等,将有助于验证其通用性和适应性。结合更多模型架构,如 Transformer 的变体、新型神经网络结构等,也将进一步提升 SPC 的性能和效率。
同时,将 SPC 方法与其他先进技术相结合也是一个值得探索的方向。例如,与提示学习(Prompt Learning)、模型蒸馏等技术融合,可以在提高模型性能的同时,降低计算成本并增强模型的可解释性。这些结合将推动 LLM 推理评判领域的进一步发展。
潜在的社会影响
SPC 技术具有显著的积极社会影响。它能够提升 LLM 在医疗、教育、金融等各个领域的应用可靠性,促进人工智能技术的广泛采用和推广。例如,在医疗领域,SPC 可以帮助提升诊断系统的准确性;在教育领域,它可以辅助开发更智能的辅导工具;在金融领域,它可以增强风险评估模型的可靠性。此外,SPC 还有助于研究人员更深入地理解 LLM 的推理机制,为开发更智能、更可靠的 AI 系统提供理论基础和技术支持。
然而,也存在潜在的负面社会影响。例如,误导生成器可能被滥用以生成虚假或误导性信息,从而造成不良影响。因此,研究如何增强 LLM 的鲁棒性以及训练通用评判器自动审查网络虚假信息显得特别重要且急迫。
总结、感想
通过了解 SPC 给我的感受就是,模型的训练越来越从“农业社会”向“工业社会”进化。SPC 不仅解决了传统方法中对大量手动标注数据的依赖问题,还通过创新的对抗游戏机制实现了评判器的自我进化。这种技术的突破让我看到了AI 的进化在未来应用中的巨大潜力,无论是提升模型性能还是拓展应用场景,都具有重要意义。
SPC 巧妙地利用了两个模型之间的对抗关系,通过不断生成和识别错误步骤,实现了双方的共同进步。这种自我强化的学习方式不仅高效,而且具有很强的适应性,能够随着 LLM 的更新迭代持续提升性能。所以,AI 的发展,从技术角度不是仅构建更强大的模型,而是应该动态的设计出能够自我优化和进化的系统。
当然一体两面的看, SPC 在实际应用中可能会带来一些社会性影响。比如,它有望在多个领域提升 AI 系统的可靠性和性能,为大家带来便利;但,另一方面,也需要小心 SPC 可能被滥用的风险(往坏处想想,不展开)。
不过,SPC 作为一项创新的技术,不仅在学术研究中具有重要价值,也为工业界的应用提供了新的思路和方法。SPC 这种方式,一定会在 AI 发展中发挥重要的作用。