微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 让AI自己与自己对抗:清华港大联合研究团队提出SPC框架,不需人工标注也能评估大模型推理步骤

让AI自己与自己对抗:清华港大联合研究团队提出SPC框架,不需人工标注也能评估大模型推理步骤

2025-04-30 13:37
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-04-30 13:37 科技行者

近期,由香港大学的陈家琪、独立研究者张帮、腾讯的马若天、清华大学的王培松、MBZUAI(穆罕默德·本·扎耶德人工智能大学)的梁晓丹、腾讯的涂兆鹏和李小龙,以及香港大学的黄国英教授共同合作的一项研究成果在人工智能领域引起了广泛关注。这篇题为《SPC: Evolving Self-Play Critic via Adversarial Games for LLM Reasoning》的论文于2025年4月27日发布于arXiv预印本平台,论文项目页面为https://chen-judge.github.io/SPC/。有兴趣深入了解的读者可以通过该链接获取更多信息。

一、研究背景:大模型推理过程评估的难题

想象一下,你正在学习解数学题,老师不仅关心你的最终答案是否正确,更关心你的解题过程中每一步是否合理。在人工智能领域,大型语言模型(LLM)也面临类似的情况。最近几年,像o1、R1和QwQ这样的大模型在解决复杂问题时,会使用一种叫"思维链"(Chain-of-Thought,简称CoT)的方法,就像人类一步一步思考问题一样。

但这里存在一个关键问题:如何判断大模型在思考过程中的每一步是否正确?这就像老师需要检查学生解题的每一步是否合理一样。目前的难点在于,获取高质量的"步骤级"标注数据非常困难且成本高昂。简单来说,我们很容易判断最终答案对不对,但要判断思考过程中的每一步是否合理,则需要专业人士投入大量时间进行人工标注。

此外,随着大模型的快速迭代更新,针对特定模型的人工标注可能很快就会过时,无法应用到最新的模型上。这就像你辛辛苦苦为一本旧版教科书编写了详细的解答,结果学校突然换了新版教材,你的工作可能就白费了。

二、SPC方法:让AI自己教会自己判断对错

为了解决这个问题,研究团队提出了一个名为"自对弈评论家"(Self-Play Critic,简称SPC)的创新方法。这个方法的核心思想是:不依赖人工标注数据,而是让AI通过自我对抗的游戏来学习如何评估推理步骤。

想象两个棋手在下棋,通过不断对弈,双方都能提高自己的水平。SPC方法就采用了类似的思路,设计了两个相互对抗的角色:

狡猾生成器(Sneaky Generator):这个角色就像一个狡猾的学生,故意在解题过程中引入一些难以被发现的错误。它的目标是制造出看似合理但实际上有误的推理步骤,同时希望这些错误能够逃过"评论家"的检查。

评论家(Critic):这个角色就像一位细心的老师,负责审查推理步骤是否正确。它的目标是识别出"狡猾生成器"制造的错误,并提供相应的批评和建议。

这两个角色在一个对抗性游戏中相互较量:生成器试图制造出能够欺骗评论家的错误步骤,而评论家则努力识别出这些错误。通过基于游戏结果的强化学习,两个模型不断迭代改进自己的能力。在这个过程中,胜利者会得到正向奖励,失败者则会得到负向奖励,推动双方持续自我进化。

就像两个国际象棋选手不断对弈可以共同提高水平一样,通过这种对抗性的自我对弈,评论家模型能够不断提升自己发现错误的能力,而不需要人工标注数据。

三、研究方法详解:自对弈框架的具体实现

那么,研究团队是如何具体实现这个自对弈框架的呢?整个过程可以分为以下几个关键步骤:

初始化狡猾生成器

首先,研究团队使用名为Qwen2.5-7B-Instruct的基础模型,通过监督式微调(Supervised Fine-Tuning,简称SFT)来初始化"狡猾生成器"。这就像是先教会一个学生基本的解题方法,然后再训练他如何在解题过程中有策略地引入错误。

具体来说,研究团队从一个名为PRM800K的数据集中提取了正确-错误步骤对,然后使用GPT-4来创建一个从正确步骤到错误步骤的转换过程。这个过程包括首先从五种预定义的常见错误类型(逻辑错误、计算错误、误解条件、使用错误规则/公式/属性、错误方法)中选择一种,然后详细说明如何将正确步骤转换为错误步骤。

但仅仅生成错误步骤还不够,研究团队还需要确保这些错误是"有效的"——即这些错误确实会影响问题解决的成功率。为此,他们提出了一种自动验证方法:基于开源大模型生成的正确解决方案,先采样一个原始步骤,然后用"狡猾生成器"将其转换为错误步骤。接下来,使用同一个大模型从原始步骤和错误步骤继续完成整个推理过程,并重复多次。如果原始步骤能够达到较高的成功率,而错误步骤导致明显较低的成功率,那么这对步骤就被认为代表了正确和错误的步骤。

初始化评论家模型

对于评论家模型的初始化,研究团队采用了结合两种类型模型优势的方法。他们使用DeepSeek-R1-Distill-Qwen-7B作为评论家,输入问题、部分解决方案和来自PRM800K数据集的混合正确和错误步骤,生成长篇评论。然后,他们使用GPT-4将这些评论重写为简短标准化的评论。

这些标准化的评论包括三个部分:对部分解决方案的分析、对当前最后一步的分析,以及关于该步骤正确性的明确结论。这样的结构使得任务更简单,更容易使用监督式微调进行初始化。同时,为了确保评论家的能力是平衡的,他们以1:1的比例混合了在PRM800K中标记为正确和错误的步骤。

对抗性游戏

有了初始的"狡猾生成器"和"评论家"模型后,研究团队设计了一个对抗性游戏,使两个角色能够不断进化。在游戏的每次迭代中,他们首先使用多种大模型(从7B到32B不等的规模)为每个问题生成原始的逐步解决方案,以确保数据的多样性。

然后,从这些解决方案中随机选择单个步骤进行"狡猾转换",成功生成的错误步骤会被输入到评论家模型中生成评论。"狡猾生成器"不仅需要确保生成的步骤包含错误,还期望这些错误具有微妙的缺陷,能够欺骗和挑战评论家。同时,评论家应该足够强大,能够避免被任何错误误导,并提供准确的评论。

在这个游戏中,如果评论家成功识别出错误,它会得到+1的奖励,而"狡猾生成器"会得到-1的奖励。相反,如果评论家被误导,评论家会得到-1的奖励,而"狡猾生成器"则获得+1的奖励。这种相互对立的优化目标使得两个模型都能不断提升性能,实现迭代自我进化。

通过强化学习进行进化

在每次迭代中,通过对抗性游戏获得正面和负面样本后,研究团队对"评论家"和"狡猾生成器"分别应用离线强化学习,使两个角色能够基于游戏结果进行自我改进。

具体来说,他们采用了包含KL惩罚的优势估计方法,以确保训练的稳定性。对于"狡猾生成器",他们将未能影响问题解决成功率的"狡猾步骤"、成功影响成功率但未欺骗评论家的步骤,以及既影响成功率又欺骗了评论家的步骤分别作为三种样本,按1:1:1的比例用于训练。

对于评论家,他们将一些来自正确解决方案的正确步骤与一些由"狡猾生成器"生成的错误步骤混合,让评论家进行预测。评论家成功预测的样本获得正向奖励,而预测错误的样本则获得负向奖励。最终,正面/负面样本各占总样本的一半。

研究团队还观察到,更平衡的对抗性游戏有助于模型的自我进化。就像人类在国际象棋中通常通过与实力相当的对手对弈来提高自己的技能一样,他们采用了非对称进化策略,让更强的模型与相对较弱的模型对抗,以保持游戏的平衡性,从而更有效地生成训练数据。

四、实验结果:SPC的实际效果如何?

那么,这种自对弈方法的实际效果如何呢?研究团队在三个推理过程评估基准(ProcessBench、PRM800K和DeltaBench)上进行了广泛的实验,并将所提出的SPC方法与其他基线方法进行了比较。

首先,在对Qwen2.5-7B-Instruct进行一轮监督式微调和两轮迭代强化微调后,他们的SPC模型在这三个人工标注的推理过程评估基准上表现出持续进化的性能。例如,SPC在ProcessBench上的平均准确率从初始的70.8%逐步提高到77.7%,在PRM800K上从71.0%提高到75.8%,超过了同等大小的蒸馏R1模型(71.4%)的性能。

具体来说,比较SPC与其他基线方法在ProcessBench上的表现:

过程奖励模型(Process Reward Models,PRMs):

Math-Shepherd-PRM-7B:平均准确率为62.1%
Qwen2.5-Math-7B-PRM800K:平均准确率为69.7%

提示大语言模型作为评论家:

Llama-3.1-8B-Instruct:平均准确率为56.2%
Llama-3.1-70B-Instruct:平均准确率为63.4%
Qwen2.5-7B-Instruct:平均准确率为62.8%
Qwen2.5-32B-Instruct:平均准确率为69.3%
GPT-4o:平均准确率为70.1%
DeepSeek-R1-Distill-Qwen-7B:平均准确率为75.2%

SPC模型:

SPC(第0轮):平均准确率为70.8%
SPC(第1轮):平均准确率为76.8%
SPC(第2轮):平均准确率为77.7%

这些结果清楚地表明,通过自对弈框架,SPC模型能够不断提升其错误检测能力,最终超过了所有基线方法,包括专门设计用于评分步骤的最新PRMs。

此外,研究团队还发现他们的方法在某些基线(PRMs和提示Llama)对正确和错误步骤的召回率不平衡的情况下,表现出更加平衡的性能,这进一步证明了SPC方法的有效性和稳健性。

更令人印象深刻的是,尽管SPC模型未经过长CoT数据的训练,但它仍能成功泛化,在DeltaBench上取得最佳性能。相比之下,两个在短CoT上训练的PRMs在此基准上表现出显著下降,其HarMean得分仅为14.3%和41.3%。

五、实际应用:如何利用SPC改进大模型的推理能力?

除了评估推理步骤的正确性外,研究团队还探索了如何将SPC应用于实际场景,以提高大模型的推理能力。现有的过程奖励模型(PRMs)通常通过对完全生成的推理步骤进行排名或使用自洽性聚合得分来提高性能。而研究团队提出了一种新方法,直接使用SPC指导大模型的推理搜索过程。

具体来说,他们使用SPC在推理过程中检查每个步骤的正确性,如果发现步骤不正确,就会要求大模型重新生成该步骤(最多尝试5次)。这就像学习解数学题时,有一位老师实时检查你的每一步是否正确,如果发现错误,就会立即让你重新思考,而不是等你做完整个题目后才给出评分。

在MATH500和AIME2024这两个流行的基准测试上,研究团队将SPC与自洽性方法相结合,对三种不同类型的大模型(Llama、Qwen和蒸馏R1)的数学推理性能进行了评估。结果表明,SPC显著提高了各种大模型的推理性能,超过了五个基线验证器。

例如,在使用Qwen求解器解决AIME2024问题时,将SPC与自洽性相结合,实现了23.3%的问题解决准确率,明显优于自洽性+Qwen2.5-Math-7B-PRM800K的16.7%准确率。值得注意的是,尽管SPC仅使用短CoT数据进行训练,但它仍能泛化到以长CoT风格输出的DeepSeek-R1-Distill-Qwen-7B模型,在MATH500上达到94.0%的准确率,而Math-Shepherd和Qwen2.5-Math-7B-PRM800K分别只达到89.2%和91.8%。

六、研究启示与更广泛的意义

这项研究不仅提出了一种新颖的方法来评估大模型的推理步骤,还为人工智能领域的自我提升提供了新的思路。通过自对弈框架,AI系统能够不断提高自己的能力,而无需大量的人工标注数据,这在资源有限的情况下尤为重要。

这种方法的一个关键优势是它的可扩展性和适应性。随着大模型的快速更新迭代,传统的基于人工标注的方法可能很快就会过时。而自对弈框架可以持续生成新的训练数据,使评论家模型能够跟上最新的大模型发展。这就像是一个可以不断自我更新的教育系统,不需要外部的指导就能保持与时俱进。

此外,SPC方法还为大模型的透明度和可解释性做出了贡献。通过提供对每个推理步骤的详细评论,用户可以更好地理解大模型是如何推理和解决问题的。这不仅增强了对AI系统的信任,还有助于识别和纠正大模型推理过程中的潜在偏见或错误。

七、潜在的社会影响与未来展望

尽管SPC方法在提高大模型推理能力方面取得了显著成功,但研究团队也指出了这项工作可能带来的潜在负面社会影响。例如,"狡猾生成器"的训练方法可能被误用,用于生成虚假和误导性的信息。另一方面,提高大模型对攻击的鲁棒性,以及训练通用评论家模型来自动审查互联网上的虚假信息,也是值得探索的研究方向。

未来的研究可能会探索如何将SPC方法扩展到更多样化的任务和领域,如自然语言处理、代码生成、科学推理等。此外,进一步提高评论家模型的能力,使其能够提供更详细和更有帮助的批评,也是一个有前途的研究方向。

总而言之,这项由香港大学、清华大学、腾讯和MBZUAI联合研究团队提出的SPC方法,为提高大模型的推理能力开辟了一条新路径。通过让AI系统通过自我对抗的游戏不断学习和进化,我们可以构建更加可靠、透明和有能力的AI系统,而无需大量的人工标注数据。

这就像教孩子学习一样,最好的老师不是那些总是告诉孩子正确答案的人,而是那些教会孩子如何思考、如何识别和纠正自己错误的人。通过SPC这样的自对弈框架,AI系统正逐渐获得这种自我完善的能力,向更加智能和可靠的人工智能迈出了重要一步。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-