微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

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

首页 苏黎世大学提出QueST框架:让AI自己生成困难编程题,训练更强大的代码推理模型

苏黎世大学提出QueST框架:让AI自己生成困难编程题,训练更强大的代码推理模型

2025-12-09 09:31
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-12-09 09:31 科技行者

人工智能在编程和数学推理方面已经取得了令人瞩目的成就,一些模型甚至能够解决竞赛级别的编程难题。但随着模型能力的不断提升,一个新的瓶颈逐渐显现:缺乏足够多、足够难的训练数据。这项由苏黎世大学的胡瀚旭(Hanxu Hu)、微软研究院的张星星(Xingxing Zhang)等研究人员共同开展的研究,发表于2025年1月,提出了一个名为QueST的创新框架来解决这一关键问题。

传统上,训练这些AI模型需要大量由人类专家精心设计的编程题目。然而,随着模型变得越来越聪明,现有的题库很快就不够用了。目前最大的编程竞赛数据集也只包含几万道题目,而且要让博士级别的专家来设计真正能难倒最新AI模型的题目,不仅成本极高,而且在规模和难度上都难以满足需求。

面对这个挑战,研究团队提出了一个颇具创意的解决方案:让AI模型自己学会生成困难的编程题目。QueST框架的核心思想就是训练一个专门的"出题器",这个出题器不仅能够创造新的编程问题,还能确保这些问题具有足够的挑战性,能够有效提升其他模型的推理能力。

整个QueST框架就像是建立了一个智能的题目工厂。这个工厂有两个关键的生产环节:第一个是"难度感知的概念图采样",第二个是"难度感知的拒绝式微调"。前者负责选择合适的概念组合来构建题目的基础框架,后者则负责训练出题器生成真正有挑战性的问题。

在难度感知的概念图采样环节中,研究团队首先分析现有的编程题目,提取出其中包含的各种概念和知识点。这就像是在分析一本食谱集,找出每道菜用到的食材和烹饪技巧。然后,他们构建了一个概念图,其中每个节点代表一个概念,节点之间的连接表示这些概念在实际题目中的共现关系。与传统方法不同的是,QueST在构建这个概念图时,不仅考虑概念的共现频率,还会考虑包含这些概念的题目的平均难度。

具体来说,他们重新定义了概念图中边的权重公式。传统的权重只基于两个概念在同一题目中出现的频率,而QueST的权重公式还加入了难度因子。这意味着,如果两个概念经常在困难题目中一起出现,那么它们之间的连接权重会更高。当系统进行随机游走来选择概念组合时,就更有可能选择那些通常出现在困难题目中的概念搭配。

在难度感知的拒绝式微调环节中,研究团队设计了一个巧妙的难度评估机制。他们发现,可以通过观察模型对同一道题目的多次解答的一致性来判断题目的难度。这个思路很直观:如果一道题目很简单,那么模型每次解答时都会给出相同或相似的答案;但如果题目很困难,模型就会在不同的尝试中给出不一致的答案。

具体的实施过程是这样的:对于每道生成的题目,研究团队会让GPT-4o生成一系列测试用例,然后让模型多次尝试解决这道题目。通过比较这些解答在测试用例上的输出结果,他们计算出一个"多数投票率"。如果大多数解答都给出相同的结果,说明题目相对简单;如果解答结果分歧很大,说明题目具有挑战性。基于这个原理,他们定义了难度分数:难度分数等于1减去平均多数投票率。

有了这个难度评估机制,研究团队就可以实施拒绝式微调了。对于每个给定的概念组合提示,他们让模型生成多道候选题目,然后只保留其中难度分数最高的那一道。这样的训练数据被用来进一步微调出题器模型,使其逐渐学会生成更加困难的题目。

为了验证QueST框架的有效性,研究团队进行了大规模的实验。他们使用TACO数据集作为种子数据,这个数据集包含约2.5万个带有人工标注难度标签的编程题目。通过QueST框架,他们成功生成了10万道新的编程题目,每道题目都配有来自强大推理模型的详细解答链。

实验结果令人印象深刻。研究团队使用他们的训练好的出题器(基于Qwen2.5-14B-Instruct模型微调)生成题目,然后用这些题目训练一个8B参数的学生模型。结果显示,即使只使用10万道QueST生成的题目进行训练,学生模型在LiveCodeBench基准测试上的表现就超过了原始的Qwen3-8B模型。更令人惊讶的是,当他们将10万道QueST生成的题目与11.2万道来自人类编写题目的训练样本结合时,这个8B参数的模型竟然达到了与6710亿参数的DeepSeek-R1-671B模型相当的性能水平。

研究团队还进行了详细的消融实验来验证框架中各个组件的有效性。他们发现,难度感知的图采样和拒绝式微调都对最终性能有显著贡献。特别是在处理困难题目时,使用QueST框架训练的模型表现出了明显的优势。

除了监督学习,研究团队还验证了QueST生成的数据在强化学习中的效果。他们使用GRPO算法,在包含QueST生成题目的数据集上训练模型,同样取得了良好的效果。这表明QueST生成的题目不仅适用于传统的监督学习,也能在更高级的训练范式中发挥作用。

为了确保研究的科学性,团队还进行了数据污染检测。他们计算了生成数据集与评估基准之间的50-gram Jaccard相似度,结果显示相似度为0,证明了生成的数据没有泄露评估信息。

从技术角度来看,QueST框架的创新性主要体现在几个方面。首先,它是第一个专门训练模型来生成困难编程题目的方法,而不是简单地使用固定的模型来生成。其次,它巧妙地结合了概念图采样和拒绝式微调,形成了一个端到端的训练流程。最后,它提出的基于模型输出一致性的难度评估方法既简单又有效。

这项研究的意义不仅仅局限于编程领域。随着AI模型在各个推理任务上的能力不断提升,如何生成足够多、足够有挑战性的训练数据将成为一个普遍问题。QueST框架提供的思路可能为其他领域的类似问题提供启发。

当然,这项研究也存在一些局限性。目前的难度计算方法在计算上比较昂贵,需要为每道题目生成多个解答和测试用例,这在实时强化学习环境中可能不太实用。研究团队在论文中也提到了这一点,并建议未来可以探索训练专门的难度预测模型或其他更高效的方法。

从更广阔的视角来看,QueST框架反映了AI发展中一个有趣的趋势:AI不仅在解决问题,也在学习如何提出问题。这种"自我出题"的能力可能会成为未来AI系统的一个重要特征,帮助它们在缺乏人类标注数据的情况下持续改进自己的能力。

总的来说,这项由苏黎世大学和微软研究院合作完成的研究为大语言模型的训练提供了一个新的思路。通过让AI学会生成困难的编程题目,QueST框架不仅解决了训练数据稀缺的问题,还为未来更强大的代码推理模型的开发铺平了道路。对于关注AI发展的人来说,这项研究展示了如何通过创新的方法论突破现有的技术瓶颈,值得深入了解和思考。

Q&A

Q1:QueST框架是什么?

A:QueST是苏黎世大学和微软研究院开发的一个AI框架,专门用来训练模型自动生成困难的编程题目。它通过难度感知的概念图采样和拒绝式微调技术,让AI学会创造具有挑战性的编程问题,从而为训练更强大的代码推理模型提供高质量的训练数据。

Q2:QueST如何判断编程题目的难度?

A:QueST使用一个基于模型输出一致性的评估方法。具体来说,它让模型多次解答同一道题目,然后比较这些解答结果的一致性。如果模型每次都给出相似答案,说明题目较简单;如果解答结果差异很大,说明题目有挑战性。最终的难度分数是1减去平均多数投票率。

Q3:使用QueST训练的模型效果如何?

A:效果非常显著。研究显示,仅用10万道QueST生成的题目训练的8B参数模型就超越了原始Qwen3-8B的性能。当结合11.2万道人类编写的训练样本时,这个8B模型甚至达到了6710亿参数DeepSeek-R1-671B模型的性能水平,展现了该框架的强大效果。

分享至
0赞

好文章,需要你的鼓励

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