24年2月来自UCSD和谷歌的论文“Multi-Step Problem Solving Through A Verifier: An Empirical Analysis On Model-Induced Process Supervision”。
大语言模型通常难以在复杂的问题解决场景中生成无错误的解决方案。为了解决这个问题,最近采用推理器-验证器框架,其中验证器模型以监督方式进行训练,以评估推理模型生成的中间解决方案步骤。然而,这种“过程监督”方法需要获取中间解决方案步骤的真值注释来训练验证器模型,这需要大量资源且成本高昂。模型-促进的过程监督 (MiPS),是一种自动化数据管理的方法。MiPS 通过推理模型对该解决方案的完成情况进行抽样来注释中间步骤,并获得定义为正确完成率的准确度。推理器中的错误会导致 MiPS 低估中间步骤的准确性,因此与之前的工作相反,关注验证器高预测值的验证应优于低预测值的验证。该方法显著提高 PaLM 2 在数学和编码任务上的性能(与输出验证器相比,GSM8K 上的准确率提高 0.67%,MATH 上的准确率提高 4.16%,MBPP 上的准确率提高 0.92%)。此外,验证器在不同推理模型中表现出很强的泛化能力。
多步问题解决(例如数学问题和编码挑战)展示了机器智能的能力。虽然研究人员已经证明,模型和数据升级对于多步问题解决的大语言模型(LLM)仍然很有效(Achiam [2023]、Touvron [2023]、Team Gemini [2023]、Huang [2022]、Azerbayev [2023]、Luo [2023a]、Yu [2023a]),但即使是最先进的 LLM 仍然会产生容易观察的错误。此外,直接对训练数据集或模型生成的解决方案进行标准微调,并不能产生一致且显着的改进(Luo [2023a]、Yu [2023a]、Ni [2022])。如表展示了 PaLM 2-S 在数学问题数据集 GSM8K Cobbe [2021] 上的测试集性能,包括针对特定任务微调的之前和之后。观察到这种微调并没有充分发挥模型的潜力,因为使用标准自洽方法 Wang [2022] 时,性能远远落后,尤其是考虑到该模型很可能为问题生成正确答案的解决方案。
自洽可以看作是一种推理时间技术,其目标是从众多模型生成的解决方案中挑选一个。
这大致属于推理器-验证器范式,如图所示。
具体而言,推理器模型根据要解决的问题生成解决方案,验证器模型对解决方案进行预测,选择预测值最高的解决方案。
以监督方式训练验证器已在编码和数学语言问题中表现出色。Cobbe [2021] 表明,通过简单地收集正确和错误的解决方案来训练二元分类模型,并使用该模型在推理时间内挑选推理器生成置信度最高的解决方案,可以显著提高准确率。最近的研究表明,对中间步骤进行验证可以比仅对整个解决方案进行训练提供更好的指导 Li [2022]、Uesato [2022]、Paul [2023]、Lightman [2023]、Feng [2023]、Yu [2023b]、Liu [2023a]、Wang [2023]。因此,在中间步骤上训练(和应用)的验证器称为
过程监督验证器 (PSV)
,而在整个解决方案上训练的验证器称为
输出监督验证器 (OSV)
。在之前的工作中,过程监督数据,要么通过临时算法获得 Li [2022]、Paul [2023],或通过昂贵的人工注释 Uesato [2022]、Lightman [2023],缺乏一个自动和通用的中间解决方案注释构建方法。
训练验证模型需要解决方案或步骤标签,收集这些标签的成本很高。已经有一系列工作遵循 LLM 作为验证器的方法,其中使用现成的 LLM 通过提示来判断解决方案 Madaan [2023]、Kim [2023]、Pan [2023]。然而,虽然这些工作可能在语言任务上有所改进,但在数学或编码问题上并没有取得很大成功 Huang [2023]、Luo [2023b]。
总之,为了实现最佳质量,需要训练数据来构建强大的验证器模型。另一方面,手动收集解决方案验证标签的成本高昂且不可扩展。这项工作对中间解决方案的完成使用蒙特卡罗抽样来获得分步训练注释(如图所示)。具体来说,对于每个中间解决方案,通过样本解码机制多次使用推理器完成解决方案,完成解决方案的正确百分比称为解决方案的正确性。这种正确性分数可用于训练 PSV。由于涉及推理模型对中间解决方案的完成,将此数据的构建称为
模型-促进的过程监督 (MiPS)
。虽然 Wang [2023] 的一项同时期工作也探讨了这种想法,但本文补充了使用 MiPS 构建数据的分析。
如果没有一个解决方案检查器,MiPS 可能需要与原始流程监督注释模式 Lightman [2023] 一样多的人工注释能力。
幸运的是,许多任务都有检查器。
例如,几个数学任务以多类分类(MMLU Hendrycks [2020]、MATHQA Amini [2019])或开放式生成的形式编写,但具有支持自动解析和检查的特殊格式(GSM8K Cobbe [2021]、MATH Hendrycks [2021])。
对于编码问题,虽然生成的代码无法直接验证,但一种常见的方法是在为该问题设计的一系列测试用例上执行它,并且只有通过所有测试用例,代码才是正确的(MBPP Austin [2021]、HumanEval Chen [2021])。
步骤分解要求解决方案是一个多步问题,可以通过编程分解为中间解决方案。情况也经常如此。例如,在数学问题中,常见的方法是将有效步骤视为解决方案中的每一行,分解只是在换行符处进行划分。
MiPS 通过蒙特卡洛抽样构建过程监督数据。首先,用推理模型 rg 为每个问题生成固定数量 ng 个解决方案,使用基于温度的解码,温度为 tg。然后,对于每个解决方案,将其分解为单独的步骤。之后,对于包含步骤前缀列表的每个中间解决方案,用推理模型 rmc 再次生成固定数量 nmc 个解决方案,温度为 tmc,完成中间解决方案。对于每个完成的中间解决方案,计算它们的正确百分比(从 nmc),这些正确性值构成了 MiPS 数据。在所有实验中,考虑 rg = rmc,即用于估计中间解决方案正确性的推理模型与生成解决方案数据的模型相同。这对于 MiPS 来说是最具挑战性的情况,否则,使用更强大的推理器来完成将减少 MiPS 数据中的噪音。