AI热点 3 hours ago 189 Views 0 Comments

告别数据标注!SQLM让大模型自我博弈,RL自主推理新范式!

AI中国
AI中国

Published 8507 Articles


一句话概括,本文探索了语言模型的终极内卷模式:不再依赖人类投喂,通过“自问自答”的左右互搏,硬生生把自己逼成了学霸。AlphaGo下棋我懂,这大模型自己给自己出数学题做就有点离谱了,堪称AI界的“闭关修炼”,出关即无敌。(原论文题目见文末,点击阅读原文可直接跳转至原文链接, Published on arxiv on 06 Aug 2025, by Carnegie Mellon University)


亲爱的读者们,沈公子的公众号agent🤖和base model升级到v3.0,今后公众号文章行文会更流畅,处理公式和符号也完全达到人类专家水准,会大幅减少出现错乱和显示异常的情况,提升阅读体验。enjoying :)


第一阶段:识别核心概念


1. 论文的motivation分析


当前,要让一个预训练好的大语言模型在特定任务(比如数学解题、编程)上变得更强,通常需要大量的、高质量的、人工标注的“问题-答案”数据来进行微调。这个过程既费时又费力。研究者们发现,我们已经从“需要大量标注好的答案”的瓶颈,转移到了“需要大量构思巧妙的问题”的新瓶颈。


这篇论文的作者们因此提出了一个大胆的想法:既然强大的语言模型本身就蕴含了海量的知识,我们能不能让它自己扮演两个角色——一个“出题人”和一个“解题人”,通过左右互搏、自我博弈的方式,来不断生成新的、有挑战性的问题,并学习如何解决它们?这样一来,整个提升过程就不再需要任何外部提供的问题或答案数据,实现了真正的“自给自足”式学习。这就像一个勤奋的学生,不满足于只做练习册上的题,而是开始自己给自己出题,挑战自己知识的边界,从而获得更快的成长。


2. 论文主要贡献点分析


  • 列出论文声称的主要创新点


  • 提出了一个名为自问模型(Self-Questioning Language Models, SQLM)的全新框架。这是一个完全自监督的流程,模型仅需一个初始的主题(如“代数应用题”),就能通过自我生成问题和答案来不断提升其推理能力。


  • 设计了一种非对称自博弈(Asymmetric Self-play)机制。模型被拆分为两个角色:“提议者(Proposer)”负责出题,“解决者(Solver)”负责解题。这两个角色通过强化学习进行训练,目标不同,形成了一种动态的、相互促进的对抗关系。


  • 提出了一套无需真实答案的奖励机制。在没有标准答案的情况下,论文巧妙地设计了两种奖励函数来评估“提议者”和“解决者”的表现。一种是基于“多数投票”(Majority Voting)的共识奖励,另一种是基于自动生成“单元测试”(Unit Tests)的验证奖励。


  • 找出支撑这些创新的关键技术或方法


  • 非对称自博弈:这是整个框架的核心。与两者能力对称的博弈不同,“提议者”的目标是出一些有难度但又“不至于太难”的题,而“解决者”的目标是尽可能地答对题。这种非对称性创造了一个天然的“课程学习”环境,题目难度会随着“解决者”能力的提升而动态调整。


  • 强化学习(RL):这是驱动“提议者”和“解决者”进行学习的引擎。两个角色都会根据各自获得的奖励信号来调整自己的策略(即生成问题或答案的方式),从而最大化未来的期望奖励。


  • 无监督奖励函数:这是让整个系统在没有外部数据的情况下运转起来的关键。


  • 多数投票:针对数学等问题,让"解决者"对同一个问题生成多个答案,得票最多的答案被认为是"正确答案"的代理。这种方法基于一个假设:模型在多次独立思考后,最可能收敛到正确答案上。


  • 单元测试生成:针对编程问题,让"提议者"不仅生成问题描述,还生成用于验证代码正确性的单元测试。"解决者"生成的代码能否通过这些测试,就成了其奖励的直接来源。


  • 论文有哪些显著性的结果


  • 显著的性能提升:实验结果表明,仅仅通过这种自问自答的方式,一个中等规模的模型(Qwen2.5-3B)在算术、代数和代码生成任务上的准确率分别提升了14%、16%和7%。这证明了该方法的有效性,模型确实在“闭门造车”的过程中学到了真正的推理能力。


  • 动态课程的生成:论文通过案例展示,随着训练的进行,“提议者”会自发地生成越来越复杂和有挑战性的问题。例如,在算术任务中,问题从简单的三位数加减法,逐渐演变为包含乘除和括号的复杂运算。这直观地证明了该框架能够创造一个难度循序渐进的自适应学习环境。


  • 方法的可行性验证:该工作最重要的意义在于,它证明了语言模型摆脱对大规模人工标注数据集依赖的潜力。它为实现更加自主、可扩展的模型微调范式开辟了一条新的道路。


3. 理解难点识别


  • 分析哪些概念/方法是理解论文的关键


  • 非对称自博弈 (Asymmetric Self-play):理解为什么是“非对称”的,以及这种非对称性如何驱动模型进步。


  • 无监督奖励函数 (Unsupervised Reward Functions):这是最核心的技术难点。必须理解在没有“上帝视角”(即标准答案)的情况下,系统是如何判断“对”与“错”,以及“好”与“坏”的。特别是“提议者”的奖励设计,非常巧妙。


  • 找出这些概念中最具挑战性的部分


  • 最具挑战性的部分是“提议者的奖励函数设计。如何量化一个问题的“好坏”?一个好的问题应该是什么样的?它不能太简单,否则“解决者”轻易答对,学不到东西;也不能太难,否则“解决者”总是答错,会产生挫败感,无法有效学习。论文提出的“恰到好处”的奖励机制是整个系统的点睛之笔。


  • 确定需要重点解释的核心概念


  • 核心概念基于多数投票的非对称自博弈奖励机制


  • 需要重点解释:"解决者"的奖励如何计算?(相对简单)


  • "提议者"的奖励如何计算?(更复杂,也更关键)


  • 这两个奖励如何共同作用,形成一个互相促进、难度螺旋上升的"学习飞轮"。


4. 概念依赖关系


1.切入点:整个系统的核心是非对称自博弈


2.博弈的参与者:博弈需要玩家,也就是“提议者”(Proposer)和“解决者”(Solver)。


3.博弈的目标:玩家需要有目标,这就是由强化学习框架定义的“最大化奖励”。


4.目标如何量化:这就引出了最关键的部分——无监督奖励函数。需要分别解释:


  • “解决者”的奖励函数(基于多数投票的正确性)。


  • “提议者”的奖励函数(基于问题难度的适中性)。


5.博弈的循环:这两个奖励函数的设计,使得“提议者”和“解决者”形成了一个闭环。解决者变强 -> 提议者为了获得奖励必须出更难的题 -> 解决者为了解决新难题必须变得更强。这个循环就是整个SQLM框架的运行机制。


第二阶段:深入解释核心概念——基于多数投票的非对称自博弈奖励机制


1. 设计生活化比喻


选择一个日常场景或者容易理解的活动


想象一个只有两名成员的“学习小组”,但这两名成员其实是同一个人——小明——在扮演两个不同的角色。


  • 角色一:出题老师(Proposer)。这位“老师”的任务是为学习小组出练习题。


  • 角色二:学生(Solver)。这位“学生”的任务是解答老师出的题。


这个学习小组的目标是让“学生”小明的解题能力越来越强。但有一个特殊的规则:这位“出题老师”自己也没有标准答案!他只能根据“学生”的表现来判断自己出的题好不好。


用这个比喻来展示核心机制是如何工作的


这个学习小组的学习流程是这样的:


1.出题:“出题老师”小明凭空想出一道数学题。


2.多次作答:“学生”小明拿到题目后,不能只做一遍,而是要独立地、用不同的思路尝试做4遍(假设N=4),并写下4个不同的答案。


3.“民主”判卷:由于没有标准答案,他们采用“少数服从多数”的原则。比如,4个答案中有3个是“621”,1个是“619”。那么,他们就一致认为“621”是“正确答案”。


4.给“学生”打分:那3个写了“621”的解答被判为“正确”,得1分奖励;那个写了“619”的解答被判为“错误”,得0分。这会激励“学生”小明以后思路要更清晰、更一致。


5.给“老师”打分:这是最关键的一步!“出题老师”小明如何知道自己这道题出得好不好?


  • 如果4次作答全都一样(比如都是“621”),说明这题太简单了,“学生”闭着眼睛都能做对,完全没有挑战性。“老师”得0分。


  • 如果4次作答全都不一样,或者没有一个答案能形成多数,说明这题太难了,超出了“学生”目前的能力范围,让他完全摸不着头脑。“老师”也得0分。


  • 只有当一部分作答是“正确”的,另一部分是“错误”的(比如3个“621”,1个“619”),这说明题目处在“学生”的“学习区”——有挑战性,需要努力思考才能做对,但又不至于完全不会。这种情况,“出题老师”就获得1分奖励!


这个评分机制,会激励“出题老师”不断调整策略,专门去出那些能让“学生”“跳一跳才能够得着”的题目,从而形成一个完美的难度递增的学习阶梯。


2. 建立比喻与实际技术的对应关系



3. 深入技术细节


从比喻过渡到实际的技术原理


在实际技术中,“出题老师”(Proposer)和“解决者”(Solver)都是同一个预训练语言模型,只是在不同的上下文(Prompt)下扮演不同角色。整个过程是一个通过强化学习(RL)不断优化的循环。


解释相关的数学公式或算法


解决者的奖励


这个奖励非常直接,就是判断“学生”的某一次回答是否等于“班级”的共识答案。


  • 原始数学形式: (公式 1)


  • 符号替换版本:解决者的奖励(对于问题x的第i次回答y_i) = { 1分 如果 (这次回答 等于 多数同学的答案); 0分 否则 }


这个公式告诉我们,“解决者”的优化目标很简单:对于给定的问题,我的回答要尽可能和大多数“我”的回答保持一致。




4. 将技术细节与比喻相互映射


  • 技术步骤在比喻中的体现


  • 生成阶段:老师出题,学生做N遍。


  • 奖励计算:民主判卷,给学生和老师分别打分。


  • 学习阶段:学生根据分数反思如何提高正确率,老师根据分数反思如何出更合适的题。


  • 比喻如何帮助理解技术细节



  • 数学公式与比喻的对应



  • 比喻的局限性


  • 在我们的比喻中,“出题老师”和“学生”是两个独立的意识在思考。而在实际技术中,Proposer和Solver通常共享大部分甚至全部的模型权重。它们的“思考”过程是高度相关的。


  • 比喻中的“老师”没有标准答案,这和现实中的老师不同。这一点恰恰是论文要解决的核心问题——在没有外部监督的情况下如何学习。我们的比喻保留了这一点,但需要向读者强调这与现实老师的关键区别。


5. 总结



第三阶段:详细说明流程步骤


以论文中提到的“代数应用题”为例,描述从一个简单的输入提示开始,系统如何一步步运转,最终实现模型能力的自我提升。


假设我们的系统刚刚启动,其唯一的初始输入是一个高层次的主题提示:“生成代数应用题”。


流程开始:


第1步:提议者(Proposer)生成问题


  • 输入:一个高级主题提示,例如 "Create three diverse, challenging algebra word problems...",以及提议者模型的当前参数。


  • 处理过程


1.模型接收这个提示,并将其作为生成任务的上下文。


2.模型利用其从预训练中学到的语言生成能力,创作一个符合要求的代数应用题。例如,它可能会生成:“一个农场里有鸡和兔子共35个头,94只脚,请问鸡和兔子各有多少只?”。这个生成的问题我们称之为。


  • 输出:一个字符串,即问题:x“一个农场里有鸡和兔子共35个头,94只脚,请问鸡和兔子各有多少只?”


第2步:解决者(Solver)多次解答问题



第3步:计算奖励信号



  • 输出


  • 一个为每个解答准备的解决者奖励列表:[1, 1, 1, 0]


  • 一个为问题准备的提议者奖励:1


第4步:模型参数更新



流程循环:



第四阶段:实验设计与验证分析


1. 主实验设计解读:核心论点的验证


  • 核心主张论文的核心主张是:大语言模型可以在没有外部标注数据的情况下,通过自问自答(SQLM框架)的方式显著提升其在特定领域的推理能力。


  • 实验设计主实验的设计非常直接,旨在正面验证这一核心主张。


  • 数据集:作者选择了三个不同但具有代表性的任务领域:


  • 三位数乘法:这是一个基础的、封闭的算术推理任务,用于检验模型的基本计算能力。


  • 代数应用题:OMEGA是一个公认的、有挑战性的数学推理基准,考验模型的理解、建模和解方程能力。选择它是为了证明方法在复杂推理任务上的有效性。


  • 编程问题:Codeforces是编程竞赛平台,其题目是检验代码生成和算法能力的黄金标准。这证明了方法的泛化能力,可以从数学推理扩展到程序逻辑。 这个选择是合理的,因为它覆盖了从简单到复杂,从纯计算到符号推理再到代码生成的多个维度,能全面评估方法的性能和适用范围。


  • 评价指标


  • 准确率:对于数学和算术问题,直接判断最终答案是否正确。对于编程问题,判断生成的代码是否能通过所有隐藏的测试用例。 这个选择是公正且核心的。对于这些有确定答案的任务,准确率是衡量其核心问题——"能否正确解决问题"——最直接、最无可争议的指标。


  • 基线方法


  • 原始预训练模型:这是最重要的基线,即不经过任何额外训练的模型。SQLM的性能提升必须与这个"起点"进行比较,才能证明其有效性。


  • 格式奖励基线:这是一个非常巧妙的"控制变量"实验。该基线只奖励那些格式正确的答案,而不关心内容是否正确。其目的是为了反驳一种可能的质疑:模型性能的提升可能只是因为它学会了如何按特定格式输出答案,而不是真正的推理能力增强了。 选择这些基线是强大且有说服力的。与原始模型的对比证明了"有效性",而与格式奖励基线的对比则证明了"真实性"(即提升的是推理能力,而非表面功夫)。


  • 主实验结果与结论Table 1 的结果清晰地展示了:


  • 在所有三个任务上,+ self-play(即使用了SQLM框架)的模型性能都远超原始模型。例如,在代数任务上,准确率从44.0%提升到60.0%。


  • + self-play 的性能也显著优于“格式奖励”基线,这证明了性能增益是实打实的推理能力提升。


  • 结论:这些结果强有力地支撑了论文的核心论点。实验证明,SQLM框架确实能够让模型在没有外部数据的情况下,通过自我博弈实现推理能力的显著增强。


2. 消融实验分析:内部组件的贡献


  • 消融实验设计论文通过一个关键的消融(或更准确地说是参数敏感性)实验来验证其设计中一个核心组件的有效性:提议者(Proposer)的更新频率


  • 被“消融”的部分与创新点


  • 这个实验直接关联到论文的非对称自博弈动态课程学习这一创新点。SQLM的核心思想之一是,提议者需要根据解决者的进步来动态调整出题难度。如果提议者不更新(频率为∞)或更新太频繁(频率为1),这个动态平衡就可能被打破。


  • 实验设置:作者测试了不同的提议者更新频率,包括frequency = 1(每步都更新)、510(从不更新,即使用一组固定的、预先生成的问题)。


  • 实验结果与证明


  • Table 3 的结果显示,frequency = 5 在所有任务上都取得了接近最优或最优的性能,并且方差较低。


  • frequency = ∞(从不更新)的性能明显较差。这证明了动态更新提议者的必要性。一个固定的问题集无法形成有效的课程,学习效果有限。


  • frequency = 1(每步更新)的性能也不如frequency = 5,且方差更大。这说明过于频繁的更新可能导致训练不稳定,解决者还没来得及适应当前难度,提议者就把难度提升了,破坏了学习节奏。


  • 结论:这个消融实验定量地证明了,一个平衡的、动态的提议者更新机制是SQLM成功的关键。它不是一个可有可无的组件,而是实现有效“课程学习”的核心所在,从而巩固了作者关于动态自博弈优势的论点。


3. 深度/创新性实验剖析:洞察方法的内在特性


除了常规实验,作者还设计了几个非常巧妙的实验,以提供关于方法工作机理的深刻洞见。


  • 实验一:定性案例研究


  • 实验目的:直观地展示SQLM框架是如何自动生成一个"难度递增的课程"的。


  • 实验设计:作者展示了在训练的不同阶段(Step 0, 10, 20),提议者生成的算术和编程问题。


  • 实验结论:这是一个非常有力的可视化证据


  • 在算术任务中,问题从简单的 563 + 247 - 189 演变为包含乘除和括号的复杂表达式 384 ÷ (52 × 2) + 73 – 111


  • 在编程任务中,问题从"计算列表中每个元素的平方"这种单行代码就能解决的问题,演变为"找到最长连续唯一子数组的长度"这种需要更复杂算法逻辑的问题。


  • 这个案例研究生动地揭示了SQLM的内在特性:它不是在随机生成问题,而是在学习一个自适应的课程生成策略


  • 实验二:数据多样性可视化分析


  • 实验结论:这是一个极具洞察力的探究性实验。


  • 学习曲线显示,在线生成的学习效果远好于批量预生成。


  • PCA可视化图揭示了其背后的原因:在线生成的问题在特征空间中分布得更广泛、更多样,而批量生成的问题则聚集在少数几个区域,多样性很差。


  • 这个实验得出了一个深刻的结论:简单地提示模型"生成多样化的问题"是无效的。模型需要一个量化的、自适应的难度反馈信号(即SQLM的奖励机制)才能真正被引导去探索和生成一个广阔且多样的问题空间。这揭示了SQLM框架相比简单合成数据方法的根本优势


  • 实验目的:探究SQLM的增量式问题生成方式相比一次性批量生成,是否能产生更多样化、更有利于学习的数据。


  • 实验设计:作者设计了两种生成模式的对比:


1.在线生成:SQLM的标准模式,每一步生成一个问题,并动态更新提议者。


2.批量预生成:在训练前,一次性让模型生成所有需要的问题。 然后,作者使用主成分分析(PCA)对两种模式生成的问题进行降维和可视化。


本文题目:SELF-QUESTIONING LANGUAGE MODELS


文章来自于微信公众号“沈公子今天读什么”,作者是“Tensorlong 看天下”。


AI中国

AI中国

8507 Articles 1366164 Views 950300 Fans

Comment (0)

睡觉动画