Qwen存在严重数据污染,基于Qwen的RL论文可靠性存疑

《Reasoning or Memorization? Unreliable Results of Reinforcement Learning Due to Data Contamination》 本文对为什么像Qwen这样的大语言模型在使用随机甚至错误的奖励信号进行强化学习后,在数学推理任务上表现反而更好——提出了一个基于“数据污染”的合理解释。研究者没有轻易接受“模型能力强”或“强化学习有奇效”的表面结论,而是设计了一系列实验来验证他们的怀疑。关键做法是,他们发现Qwen模型家族在MATH-500等著名数学基准测试上表现出的惊人性能,很可能是因为它在预训练时接触过这些基准测试的题目和答案。为了证明这一点,他们创建了一个全新的、完全合成的、保证无泄漏的数学计算数据集RandomCalculation。在这个干净的数据集上,先前观察到的“奇迹”消失了:只有准确的奖励信号才能稳定提升模型的推理能力,而错误或随机的奖励则毫无助益。这一过程为我们揭示了在评估大模型能力时,必须警惕和排除数据污染问题,否则可能会得出不可靠甚至错误的结论。 研究者观察到,强化学习(RL)技术能显著提升大语言模型(LLMs)的推理能力,特别是Qwen系列模型在数学基准测试上取得了SOTA(顶尖水平)的结果。但奇怪的是,一些研究声称,即使给予Qwen模型随机或错误的奖励信号,其性能也能提升,而这种现象在Llama等其他模型上却不成立 。为了解释这个现象,论文提出了两个对立的假设: (1)数据污染:Qwen在海量网络数据预训练时,可能无意中“背诵”了评测基准(如MATH-500)的题目和答案。因此,看似随机的奖励实际上是触发了模型去回忆这些背过的答案。 (2)基线数学能力强:Qwen本身数学基础就好,所以即使是噪声奖励也能帮助它。为了验证哪个假设是正确的,作者设计了明确的步骤:首先,通过“部分提示词补全”实验来检测模型是否对基准数据存在记忆;其次,构建一个全新的、无污染的合成数据集RandomCalculation 。 最后,在这个干净的数据集上重新进行强化学习实验,观察不同奖励信号的真实效果 。 相关工作 第一条线是关于在Qwen2.5上应用强化学习提升数学推理能力的研究。作者们列举了多种新兴的RL方法,如RLVR(基于可验证奖励的强化学习)、TTRL(测试时强化学习)以及各种利用熵或自洽性作为内在奖励信号的技术,并承认它们在Qwen上取得了显著成功。但同时,他们也引用了质疑这些成果普适性的研究,特别是那些指出随机奖励仅对Qwen有效而对Llama等模型无效的论文,从而引出“模型特定性”的问题。 第二条线是预训练语料对推理能力的影响 。作者指出,模型的数学能力很大程度上由其预训练数据决定,不同模型(如Qwen和Llama)对强化学习的反应不同,根源可能就在于其接触的训练数据存在差异。通过梳理这两方面工作,作者巧妙地将“RL在Qwen上的奇特效果”与“预训练数据的重要性”联系起来,为后续的数据污染调查铺平了道路。 实验设置 首先,在模型选择上,他们选取了参数量相当的Qwen2.5和Llama3.1系列模型进行对比,这遵循了控制变量的原则,旨在分离出模型本身的特性而非规模带来的差异。其次,核心的创新在于记忆能力评估的设计。他们没有采用常规的完整问题测试,而是提出了两个巧妙的指标: (1)部分提示词补全率:只给模型问题的前40%或60% ,看它能否准确生成剩余的部分。这通过ROUGE-L(衡量最长公共子序列)和EM(完全匹配)来量化,如果模型能高概率补全,则说明它很可能“见过”原题。 (2)部分提示词答案准确率:在只给出部分提示的情况下,看模型能否直接给出正确答案。如果模型在问题不完整时仍能答对,这是数据污染的强烈信号。最后,在强化学习评估中,他们为自己创建的RandomCalculation数据集设计了一个连续奖励函数:$r = 1 - 0.5 \cdot min(|a-b|, 1) - 0.5 \cdot min(\frac{|a-b|}{|b|+\epsilon}, 1)$ 。这个函数同时考虑了预测值与真实值的绝对和相对误差,解决了新数据集中答案是高精度小数、传统0/1奖励过于稀疏难以训练的问题,确保了RL训练的稳定性和有效性。 结果与分析 复现问题:研究者首先在MATH-500数据集上成功复现了反常现象——随机和错误奖励确实提升了Qwen-Math-7B的性能,但对Llama却有负面影响。他们还敏锐地发现,Qwen基础模型的部分性能提升,仅仅是因为学习适应了评测时使用的对话模板,这揭示了评估中需要注意的陷阱。 定位原因:通过前述的“部分提示词”测试,他们拿出了数据污染的“铁证”。结果显示,在MATH-500这类旧基准上,当只给出60%的问题时,Qwen2.5-Math-7B能以高达54.6%的概率精确补完剩余问题,并且依然能正确解答;而Llama的对应得分几乎为零。更具说服力的是,在一个模型发布后才创建的新基准LiveMathBench上,Qwen的补全率骤降至0%,与Llama表现一致。这强有力地证明了Qwen对旧基准存在记忆,所谓的“随机奖励提升性能”实际上是触发了模型的记忆提取机制。 第三步,验证结论:为了彻底排除干扰,他们在自创的、无污染的RandomCalculation数据集上进行了最终实验。结果非常清晰:在这个干净的环境里,“魔法”消失了。无论是Qwen还是Llama,都只有在获得正确奖励信号时,性能才会稳定提升,而随机或错误奖励则完全无效。这直接证实了数据污染才是根本原因,而非模型本身有什么特异功能。

July 16, 2025 · 小茄墩

斯坦福最新研究:AI幻觉不是玄学,是算力有上限!

《Hallucination Stations On Some Basic Limitations of Transformer-Based Language Models》 大语言模型(LLM)存在“幻觉”现象,即生成虚假或无意义的信息。作者从计算复杂性的新颖角度来探讨这一局限性 。随着LLM越来越多地被用于构建能自主执行任务的“智能体”(Agentic AI),理解其能力边界变得至关重要。作者提出,无论是执行计算任务还是验证任务的准确性,只要任务的复杂度超过一个特定阈值,LLM就必然会失败。 LLM的计算复杂性及其影响 任何计算任务的解决都无法快于其固有的计算复杂度。作者指出,LLM生成单个词元(token)的核心操作,其计算复杂度为 $O(N^{2}.d)$,其中 $N$ 是输入序列的长度,$d$ 是模型的维度。这意味着LLM处理任何任务所能执行的计算步骤有一个明确的上限。因此,如果一个任务本身所需的计算步骤从根本上就多于这个上限(例如,复杂度为 $O(n^{3})$ 或指数级的任务),那么LLM在理论上就不可能正确完成这个任务。这个论证为我们提供了一个关键的评判标准:通过比较任务的内在复杂度与LLM的计算能力上限,我们可以预判LLM在处理该任务时是否会“碰壁”,从而产生幻觉。 示例1:词元组合 这个例子非常直观地展示了上述理论。作者提出了一个任务:“给定一个包含n个词元的集合,列出所有长度为k的字符串”。要完成这个任务,需要进行的计算量是 $O(n^{k})$,这是一个指数级的增长。当n和k的值增大时,这个数值会轻易地超过LLM的计算能力上限 $O(N^{2}.d)$ 。LLM也许能根据提示生成一些看起来合理的序列,但它并不是在真正地执行指数级的枚举计算,而只是在根据概率预测下一个最可能的词元。这启发我们,即使LLM的回答在表面上看起来正确,它也可能没有遵循任务要求的计算逻辑,尤其是在面对需要穷举所有可能性的组合问题时,其结果很可能是不可靠的。 示例2:矩阵乘法 矩阵乘法是另一个经典的计算问题,其标准算法的计算复杂度是 $O(n^{3})$(或更精确地说是 $O(m \cdot n \cdot p)$)。作者指出,当矩阵的维度超过LLM的词汇量规模时,LLM将无法正确执行乘法计算。这个例子进一步巩固了核心论点,并将其扩展到更多在现实世界中常见的、具有高阶多项式复杂度的计算任务,如寻找最短路径的Floyd-Warshall算法、某些数据库操作以及计算流体力学等。这给我们的启发是,在将LLM应用于需要精确数值计算,特别是涉及大规模矩阵或网络问题的科学和工程领域时,必须极其谨慎,因为这些任务的复杂度往往超出了LLM的能力范围。 示例3:智能体AI 本节将前面的讨论扩展到当前热门的智能体AI领域。智能体AI是指利用LLM自主决策和执行任务的系统,应用场景包括金融交易、预订服务乃至工业控制。作者论证说,如果一个任务本身的计算复杂度就超过了 $O(N^{2}.d)$,那么无论是直接让LLM执行,还是将其包装成一个智能体来执行,结果都是一样的:任务无法被正确完成。更有启发性的是,作者进一步探讨了用一个智能体($A_{2}$)去验证另一个智能体($A_{1}$)的任务结果是否可行。结论是不可行的,因为在许多情况下,验证一个解的正确性(尤其是最优解)需要同等甚至更高的计算复杂度 。例如,验证一个旅行商问题(TSP)的解是否为最短路径,需要对比所有可能的路径,这是一个阶乘级别的计算量($\frac{(n-1)!}{2}$),远远超过LLM的能力。这警示我们,试图构建一个“监督者”LLM来检查“工作者”LLM的复杂计算结果,这条路在理论上是走不通的,我们不能依赖LLM来自我纠错或相互验证。 定理1及其证明 给定一个长度为N的提示,其中包含一个计算复杂度为 $O(n^{3})$ 或更高的任务(其中$n...

July 16, 2025 · 小茄墩

Karpathy:强化学习不是最终答案,那下一个风口是?

扩大强化学习的规模是时下的一大热点,我昨天刚和朋友聊过这个话题。我相当肯定,RL 会持续带来更多中期收益,但我也并不认为它就是最终的解决方案。 RL 的基本逻辑是:“嘿,这次做得不错(/很糟),那么在未来,我就稍微增加(/减少)我所采取的每一个行动的概率”。你从验证器函数中能获得比显式监督强大得多的杠杆效应,这非常棒。 但首先,从渐进的角度看,这件事就有点可疑了——一旦任务的交互时长增加到几分钟甚至几小时,你真的要费那么大劲,只为了在最终学习到一个单一的标量结果,并用它来直接调整梯度权重吗?其次,除了渐进性问题,对于大多数智能任务而言,这感觉上并不像是人类的学习改进机制。在每一次推演后,我们通过一个复盘/反思阶段——“哪些地方做得好?哪些地方不太好?下次我该尝试什么?”——能提取出远为丰富的监督信息。并且,来自这个阶段的经验教训是明确的,就像一条可以被添加到未来系统提示词中的新指令,并可以选择性地在之后(有点像睡眠)被蒸馏为模型的权重(/直觉)。在英语中,我们称某件事通过这个过程变成了“第二天性”(second nature),而我们目前正缺少这样的学习范式。ChatGPT 中新的“记忆”功能或许就是这种范式的一个雏形,尽管它目前只用于个性化定制,而非解决问题。值得注意的是,在雅达利游戏的 RL 等场景中,并不存在与之对等的机制,因为那些领域里没有大语言模型(LLM),也没有上下文学习(in-context learning)。 示例算法:给定一个任务,先进行几次推演(rollout),然后将所有推演过程(包括每一次的奖励)都塞进一个上下文窗口,再用一个元提示词(meta-prompt)来复盘/反思哪些地方做得好或不好,从而提炼出一条字符串形式的“经验教训”,并将其添加到系统提示词中(或者更通用地说,更新当前的经验教训数据库)。这个想法还有许多细节有待填补,有许多可行的调整,前景并不明朗。 经验教训的示例:我们知道,由于 Token 化处理,大语言模型不太容易看清单词中的字母,也不太容易在残差流(residual stream)中进行计数,这导致了著名的难题——识别“strawberry”中的‘r’。Claude 的系统提示词里打了一个“快速补丁”,即添加了这样一条指令:“如果用户要求你计数字母,请先将字母用逗号隔开,每数一个就给一个显式计数器加一,并以此方式完成任务”。这条字符串就是“经验教训”,它明确地指导了模型该如何完成计数任务。但问题在于,这样的经验教训如何能从 AI 智能体的实践中自发涌现,而不是由工程师硬编码进去?它该如何被泛化?以及如何随着时间推移对这些经验教训进行蒸馏,以避免上下文窗口被无限撑大? 总而言之:RL 将会带来更多进步,因为一个优秀的 RL 系统能起到更强的杠杆作用,更信奉“惨痛教训”(The Bitter Lesson)的理念,并且优于监督微调(SFT)。但这感觉并非故事的全部,尤其是当推演的长度还在不断增加时。在这之后,还有更多的 S 型增长曲线等待我们去发现,这些曲线可能专属于大语言模型,在游戏或机器人这类环境中没有先例,而这,正激动人心。

July 14, 2025 · 小茄墩