LLM-as-an-Improver: 将验证转化为更优候选方案
摘要
本文介绍了LLM-as-an-Improver,这是一种利用验证反馈为LLM生成改进候选解决方案的方法,从而提升性能超越初始候选池。
arXiv:2609.19515v1 公告类型:新
摘要: 基于验证器的选择通过生成多个候选解决方案并使用验证器选择最有希望的一个来提升LLM性能。然而,现有方法通常将验证仅视为排名步骤,并在评估固定候选池后丢弃其反馈。在本文中,我们探讨验证是否也能改进候选集本身。为此,我们介绍了LLM-as-an-Improver并提出了Verify--Repair--Reselect(VRR),它利用验证反馈生成并重新选择改进的候选方案。VRR保留初始优胜者,同时有条件地生成三个互补的替代方案:优胜者和亚军的修复版本,以及基于新方法的解决方案。它仅使用推理时信息过滤无效和重复的候选方案,然后在原始评估标准下重新选择最终答案。在各种模型、代码生成和推理基准测试中,VRR在许多设置下优于基于固定池的验证器选择,即使初始池中的所有候选方案都不正确,也能恢复正确的解决方案。这些结果突显了LLM作为改进者的更广泛角色:验证反馈不仅能从现有解决方案中进行选择,还能在初始池之外构建更强的候选方案。
查看缓存全文
缓存时间: 2026/09/18 09:19
# 大语言模型作为改进者:将验证转化为更优候选方案
来源:https://arxiv.org/html/2609.19515
富士通有限公司 / 东京大学计算机科学系
Akiyoshi Tomihari
###### 摘要
基于验证器的选择通过生成多个候选解决方案,并使用验证器选择最有前景的方案,从而提升大语言模型的性能。然而,现有方法通常仅将验证视为排序步骤,一旦完成固定候选池的评估后便会丢弃其反馈。本文探讨验证过程能否同时优化候选集本身。为此,我们提出“大语言模型作为改进者”框架,并设计了验证-修复-重选方法,利用验证反馈生成并重选出改进后的候选方案。该方法保留初始最优解,同时有条件地生成三种互补方案:对最优解和次优解的修复版本,以及基于新方法的解决方案。仅通过推理时信息过滤无效和重复候选方案后,原始评估标准重新选择最终答案。在多种模型和代码生成、推理基准测试中,VRR在多数情况下优于固定池验证器选择方案,甚至能在初始候选池全部错误时恢复正确解。这些结果揭示了大语言模型作为改进者的更广泛作用:验证反馈不仅能从现有方案中选择,还能构建超越初始候选池的更强方案。
## 1 引言
测试时扩展通过分配额外的推理计算来提升大语言模型的能力,涵盖候选方案生成与选择两个方面。生成方法通过重复采样或多样化推理路径增加解空间覆盖度,尽管额外计算的有效性取决于问题难度及其分配策略。部分方法采用验证器,通过基于结果、过程或大语言模型的判断尝试识别最强候选方案。在这些方法中,生成过程决定可用候选方案范围,验证则仅用于排序。然而,这些方法未能充分发挥验证的潜力。验证器可能识别出被违反的要求、未支持的推理步骤、失败案例和未解决的声明,但仅选择推理会将这些信息压缩为排名后即丢弃。此外,排序无法修复搜索空间:若初始候选池中每个方案都不正确,即使使用最优选择器也必然失败。由此引出本文的核心研究问题:*验证能否同时指导构建更优的候选方案?*
我们将这种扩展角色称为“大语言模型作为改进者”:模型不仅使用验证从现有候选方案中选择,更复用诊断性证据构建额外候选方案。我们提出验证-修复-重选方法,这是一种利用结构化验证结果同时对候选方案进行排序并指导额外生成的测试时方法。VRR首先选择并保留排名最高的初始候选方案。当初始池表现不可靠时,它生成三种替代方案:对最优解的局部修复、对次优解的修复,以及基于新方法的解决方案。随后移除无效和重复的替代方案,并使用相同评估标准从存活的替代方案和初始最优解中重选最终答案。与单次轨迹优化不同,VRR将验证反馈视为扩展选择集的信号:它保留初始最优解,创建互补替代方案,并让所有存活候选方案重新接受选择而非自动接受修订。
在两个模型和八个基准测试中,VRR在16种设置中的9种优于固定池LAV选择方案,关键的是,它能在LiveCodeBench测试中恢复初始候选方案全部错误的问题的正确解。图1展示了核心区别:仅选择推理使用验证改变排名,而证据引导扩展则利用验证改变被排名的候选方案。

## 2 问题设定
### 2.1 候选方案排序的验证
候选方案生成与基于验证器的选择在测试时推理中扮演不同角色:生成决定可用解决方案范围,验证则决定返回哪个候选方案。Pass@k指标衡量k个候选方案中至少有一个正确的概率;基于验证器的选择试图将这种候选覆盖度转化为最终答案的准确率。形式化地,令x表示任务,初始候选集C_init = {c₁,...,c_N}由大语言模型生成器产生。每个c_i是包含最终答案(以及适用时的推理过程或代码)的候选解决方案。在仅选择方法中,验证器V对候选方案进行评分或比较后返回其中之一:
ĉ_select = Select_V(x, C_init), ĉ_select ∈ C_init (1)
该公式涵盖结果验证器、过程验证器、生成式验证器和基于大语言模型的评判器。这些评估可能非常丰富,但仅选择方法仅将其用于单一目的:对已生成集合进行排序。
### 2.2 为何仅排序不足够
令Y_x(c) ∈ {0,1}表示根据任务评估规则的正确性标签。该标签仅用于评估,推理过程无法获取。对于任务x,初始池覆盖指示器H₀(x) = max_{c∈C_init} Y_x(c) (2)
定义初始池 oracle 准确率:A_oracle = E[H₀(x)] (3)
其中期望基于任务分布及候选生成和推理中的随机性。这是 oracle 选择器在初始池包含正确候选方案时总能返回正确解的准确率。由于对任意任务x都有Y_x(ĉ_select) ≤ H₀(x),任何仅选择方法满足E[Y_x(ĉ_select)] ≤ A_oracle (4)
对于固定池,H₀(x)是评估后的覆盖指示器,而非选择候选方案正确性的估计量,且在推理时不可用。该上限无需独立性假设。它将候选方案*覆盖度*与选择器识别正确方案的能力分离开来。因此局限不在于验证器强度,而在于仅用验证重排候选方案。更强的验证器可接近该上限,但只有候选生成才能提升它。验证过程中产生的诊断内容为此提供了任务特定信号。
### 2.3 从排序到候选改进
因此我们扩展验证角色而非替代基于验证器的选择。形式化地,验证产生排序信号r_V和诊断证据D_V:
(r_V, D_V) = Verify_V(x, C_init) (5)
这里,Verify_V评估任务x的初始候选方案,返回用于排序的信息r_V和候选级诊断证据D_V。仅选择推理消耗r_V而闲置D_V。诊断证据同时反馈给生成过程,包括标准级批评、反例和未解决声明:
ℛ = G(x, C_init, D_V), ℛ_pass = Screen(x, ℛ; C_init) (6)
其中G表示根据任务、初始候选方案和验证证据生成额外候选方案集ℛ的生成器。Screen应用推理时有效性检查,移除与初始候选方案或已保留候选方案重复的方案,得到允许集ℛ_pass。筛选依赖于池状态,因为重复状态取决于其他候选方案。通过筛选仅确立重选资格而非正确性。保留策略选择初始候选方案子集K = K(C_init, D_V)。最终输出为:
ĉ_expand = Select_V(x, K ∪ ℛ_pass) (7)
扩展集随后重新验证,因此相同能力同时支持候选改进和最终排名。仅选择推理对应忽略D_V、不生成新候选方案且令K=C_init的特例。候选扩展使得即使H₀(x)=0时恢复正确解成为可能。
## 3 验证-修复-重选
VRR首先对初始候选方案排序,复用相同标准级证据指导候选改进,最后执行最终重选。包含五个阶段:
1. 从问题陈述推导评估标准
2. 评估初始候选方案并选择排名最高的方案
3. 利用评估结果决定是否触发修复
4. 若触发则生成三种具有互补作用的候选方案
5. 筛选新候选方案并在原始标准下重选
### 3.1 创建评估标准
对于每个任务,我们从问题陈述x推导固定有限标准集:
Γ(x) = 𝒪_hard(x) ∪ 𝒪_soft(x), |𝒪_hard(x)| ≥ 1 (8)
每个评估项o_j指定评判内容、可用证据、可能反例及分数初始化参数π_j。硬标准在数据集中共享,视为正确性的必要条件。例如代码任务需考虑规范一致性、功能正确性、语法错误、公开测试失败和复杂度违规。而软标准由大语言模型针对每个问题根据其问题陈述单独生成,仅用于打破硬标准分数接近时的平局。
### 3.2 按评估项检查候选方案
在评估候选方案c_i前,我们组织验证器可用信息:
E_i ← BuildEvidenceGraph(x, c_i) (9)
这里,E_i收集评估候选方案c_i所需的信息。它将问题陈述x、候选方案c_i和推理时可用的公共信息组织成验证器可引用的形式。对于通用推理任务,候选响应分为推理步骤和最终答案,每个元素链接到其在响应中的位置。对于代码任务,E_i记录候选代码或补丁,连同语法检查、编译结果和指定公开测试的结果。对于涉及文件更改的任务,还记录更改位置和目标文件。每条信息被分配源位置或标识符,以便验证器可引用候选方案的特定部分或公开测试结果作为判断依据。
对于候选方案i和评估项j,验证器的第t次判断返回:
q_ij^{(t)} = (q_ij^{Sat,(t)}, q_ij^{Viol,(t)}, q_ij^{Unknown,(t)}) ∈ Δ² (10)
其中Δ²是三个标签上的概率单纯形。验证器还返回g_ij^{(t)} ∈ {0,1},表示其判断是否基于可用证据。初始批量评估对应t=1,自适应评估对每个条目最多产生T_ij次判断。Unknown状态区分缺失证据与支持满足的证据。
定义判断权重:
w_ij^{(t)} = g_ij^{(t)} (1 - q_ij^{Unknown,(t)}) (1 - H(q_ij^{(t)})/log3) (11)
其中H表示香农熵。该权重在[0,1]范围内;对于无依据、完全未解决或均匀分布的判断为零,否则折扣报告的不确定性。我们将加权判断转换为标准级验证分数。令π_j ∈ (0,1)为初始化参数,ε > 0为数值平滑常数。定义:
ℓ_ij = logit(π_j) + ∑_{t=1}^{T_ij} w_ij^{(t)} log( (q_ij^{Sat,(t)} + ε) / (q_ij^{Viol,(t)} + ε) ) (12)
将该值映射到(0,1):
p_ij = sigmoid(ℓ_ij) (13)
式(12)-(13)定义了用于排序和触发的有界、置信度加权分数。验证器报告的q^Sat/q^Viol比率并非观测到的似然比,重复判断可能依赖,且评估标准可能重叠。因此对数几率形式是聚合启发式方法而非概率保证。
我们聚合硬标准:
S_i = ∏_{o_j∈𝒪_hard} p_ij (14)
该乘积是乘法规则,惩罚任何必要标准上的低分。它并非所有硬标准都成立的既定概率,其尺度取决于标准数量和定义。软标准仅在两个硬标准分数相差不超过τ_soft时用于打破平局。
### 3.3 自适应验证与相似文章
@Azaliamirh: 了解 LLM-as-a-Verifier:一种简单、廉价且通用的自我改进技术,可提升“…”的性能
LLM-as-a-Verifier 是一种简单、廉价、通用的面向智能体任务的自我改进技术,通过细粒度评分和基于 logprob 的排名,在 SWE-Bench Verified 和 Terminal-Bench V2 等多个基准测试中取得了最先进的性能。
LLM-as-a-Verifier:通用验证框架
LLM-as-a-Verifier引入了一种概率验证框架,该框架从LLM的对数几率计算连续分数,并在粒度、重复评估和标准分解方面进行缩放。它在多个智能体基准测试上取得了最先进的结果,并为强化学习提供了密集反馈。
LLM-as-a-Verifier (GitHub 仓库)
LLM-as-a-Verifier 是一个通用的验证框架,为AI代理提供细粒度反馈,在Terminal-Bench和SWE-Bench等基准测试上实现了最先进的性能。
LLM-as-a-Coach: 面向非可验证任务的体验式学习
本文介绍了体验式学习(EL)方法,该方法将LLM-as-a-Judge重新用于LLM-as-a-Coach,以提供丰富的文本反馈而非标量奖励,从而提升在开放式非可验证任务上的表现和泛化能力。
LLM-as-a-Tutor:面向不可验证强化学习的策略感知提示自适应
LLM-as-a-Tutor提出了一种框架,通过成对比较和添加约束动态调整提示难度,将LLM的角色从评判者扩展为导师,从而提升强化学习中的指令跟随性能。