您现在的位置是:知来藏往网 > 时尚

华为加拿大与女王大学:27B小模型如何逼近千亿级巨头编程实力?|调用|轨迹|源代码|智能体|系列模型_网易订阅

知来藏往网2026-08-09 06:20:24【时尚】1人已围观

简介这项由华为加拿大研究院、女王大学、曼尼托巴大学以及康考迪亚大学联合完成的研究,以预印本形式发布于2026年7月29日,论文编号为arXiv:2607.27146,预计将在2027年AAAI会议上正式亮

华为加拿大与女王大学:27B小模型如何逼近千亿级巨头编程实力?|调用|轨迹|源代码|智能体|系列模型_网易订阅
这项由华为加拿大探究院、加拿级巨迹源女王大学、大女代码曼尼托巴大学以及康考迪亚大学联合实现的学B小模型何型网探究,以预印本形式发布于2026年7月29日,逼近比如文编号为arXiv:2607.27146,千亿预方式将在2027年AAAI会议上正式亮相。头编体系有兴趣深入认识的程实读者可以通过该编号在arXiv平台查询完善比如文。**一个让人头疼的力调列模状况**假设你目前需找一位程序员,让他从零最初写一个功能完善的用轨易订阅命令行工具——不给他任何现成代码,只给他一份功能验明正身文档和一个已经编译好的加拿级巨迹源可实施程序供参考。他看不到源代码,大女代码不知方式别人怎么实现的学B小模型何型网,只能通过反复运行这个参考程序来摸索它的逼近表现规律,然后自己重新写一遍。千亿这个任务有多难?头编体系哪怕是世界上最先进的AI编程模型,在这类任务上的完善成功率也低得可怜——甚至不足1%。这就是一个名为ProgramBench的测试基准所揭示的现实:AI在"从头造程序"这件事上,还远远没有实现实用水平。然而,上述联合探究团队提出了一套名为MindForge的方式,通过一系列精心设方式的训练技术,将一个270亿参数的"小"模型(Qwen3.6-27B)的ProgramBench得分从37.98%一路推高到49.51%——这个数字已经超越了参数量是它数倍乃至数十倍的大型前沿模型,例如DeepSeek V4 Pro(1.6万亿参数)和Claude Opus 4.7(参数量未公开披露,但规模远大于27B)。更令人在意的是,这种能力提高并非仅仅局限于训练任务本身,而是蔓延到了七个完全不一样的软件工程测试场景,覆盖了从修复代码错误到跨语言翻译的广泛领域。**一、"从零造程序"究竟难在哪里**理解MindForge的价值之前,先关键理解为什么"从头写程序"这件事如此不易。现有的AI编程助手,不过大多数都是在"修缮旧房子"而非"从地基最初建新房"。它们面对的任务常见是:给你一个已有的代码库,里面有一个bug,你去找到它、修复它。或者:在一个现成的框架上,加一个新功能。这类任务有个天然的"脚手架"——现有代码告诉AI整体结构是什么样的,AI只需在这个框架内做局部调整就行了。"从头造程序"则完全不一样。AI需独立实现软件开发的完善生命周期:先通过反复运行参考程序来搞清楚它究竟能做什么(规格推断时期);再决定用什么语言、什么架构来实现它(设方式时期);然后从首先行代码最初写起(实现时期);写完之后运行,发现不对劲,自己找因素(错误定位时期);找到因素后修改(修复时期);再测试、再修改,循环往复,直到最后产出一个能通过测试的可实施文件。这个流程之因此难,是因为AI在每个时期都可能犯错,同时早期犯的错会导致后期越来越难以纠正。更题的是,现有的训练数据根本没有覆盖这种完善的开发流程。市面上大量的AI编程训练数据,都是围绕"改bug"或"加功能"这类局部任务收集的,几乎没有端到端的完善程序开发轨迹。这正是MindForge关键处理的题状况。**二、MindForge是怎么工作的:打造"无源码训练场"**MindForge的题思路,可以用一个类比来理解:你想训练一位厨师,但你不能直接给他菜条件。你给他的只是一方式已经做好的菜,以及一份食材清单,让他通过品尝、观察、反复试做,最后复现出这方式菜。在技术层面,MindForge先需建立大量这样的"训练厨房"——也就是无源码的可实施程序环境。探究团队从GitHub上专业收集命令行工具程序的"选择列表"社区出发,初步筛选出2235个候选代码仓库,然后让一个"探索智能体"逐一审查这些程序,判断它们是否适用于作为训练环境。判断原则相当严苛:这个程序必须是自涵盖的命令行工具(不能依赖互联网连接、不能需特殊硬件、不能依赖外部在线服务);它的表现必须可以被清楚验明正身;它在本地就能实现有意义的工作。经过这轮筛选,1206个程序通过初审,其中1002个成功实现了编译打包。接下来是构建时期的精华:探究团队让一个"构建智能体"为每个通过初审的程序生成一份构建脚本,这份脚本必须在一个干净的、从未被任何人动过的环境中独立运行,成功编译出可实施文件。然后,系统会在另一个全新的沙箱环境中重新实施这份脚本,验明正身构建结荚是否相同(表现等价性检验)。任何不相同的构建都会被丢弃,确保每个训练环境都是可复现的。最后还有一方式"无源码检验":探究团队会扫描最后生成的可实施文件,确保它的字节材料和字符串中没有残留任何原始源代码的痕迹。如果发现泄漏,就重新构建。只有通过全部检验的程序,才会被打包成一个Docker镜像——里面只有编译好的参考可实施文件和公开文档,完全没有源代码。经过这整套步骤,探究团队最后建立了562个有效的无源码训练环境,覆盖六种编译型编程语言:Go语言占最大比例(231个,41.1%),第二是Rust(212个,37.7%),接着是C语言(87个,15.5%),C++(29个,5.2%),还有少量Swift和TypeScript程序。这些程序全部来自与ProgramBench测试集不重叠的代码仓库,从根本上排除了"考前偷看答案"的可能性。**三、收集训练轨迹:让"老师"在训练场里真实演练**有了训练场地,下一步是收集优质的训练示例。探究团队选用了GLM-5.2作为"教师模型"——一个在ProgramBench上得分64.60%的高水平模型,放到562个无源码环境中,让它像真实开发者一样工作:看文档、运行参考程序感受它的表现、设方式实现方式划、写代码、调试、再测试,直到产出一个能通过编译的可实施文件。整个流程被完善记录下来,形成"开发轨迹"。探究团队只保留那些教师模型最后成功产出可实施文件并主动发出"任务实现"信号的轨迹,过滤掉那些中途崩溃、超时或陷入死循环的尝试。这个过滤逻辑很合理:你想从老师那里学的,是成功的做法,而不是失败的尝试。最后收集到1001条完善的开发轨迹。这些轨迹的规模令人印象深刻:平均每条轨迹涵盖181.6个对话回合、约177,000个token,最首先的一条涵盖477个回合、272,000个token。相比之下,现有的大多数编程训练数据,95%都在32,000个token以内——MindForge的轨迹首先度是它们的好几倍,真正覆盖了首先程开发流程。探究团队还用自动化工具探究了这1001条轨迹都涵盖哪些开发时期。结荚显示,几乎所有轨迹都涵盖规格探索(99.1%)和代码实现(99.7%),87.1%的轨迹涵盖清楚的架构设方式思考,59.4%的轨迹涵盖错误定位表现,62.6%涵盖错误修复表现,83.7%涵盖验明正身步骤,64.2%涵盖对已有实现的精化和改进。换句话说,这些轨迹不是重复展示单一技能的枯燥练习,而是覆盖完善软件开发生命周期的充足学习材料。**四、轨迹净化:去除噪文章,留下精华**收集到的原始轨迹并非完美无缺。一个强大的教师模型在首先达数百回合的自主运行中,难免会犯错、遭遇环境故障,或者出现前后不相同的表述。直接用这些原始轨迹训练学生模型,等于让学生连老师的笔误和说错的话都一起学进去了。为认识决这个状况,探究团队设方式了两套轨迹净化机制。首先套叫做"基础设施噪声恢复":有时候不是教师模型犯错,而是运行环境本身出了状况(例如API调用失败、沙箱崩溃)。这时候一条正在开展中的轨迹会被迫中断。如果直接丢弃,就浪费了前面所有的推理方式算成本。探究团队的处理方式划是"倒带重播":回到最后一个健康的状态点,在一个全新的干净环境中重新实施之前所有的工具调用步骤(注意:这一步不需再次调用教师模型,只是机械地重放操作),然后从中断点后续让教师模型往下走。这样既保住了之前的工作成果,又避免了重复推理的巨额成本。第二套叫做"推理重写机制":当教师模型在某一步产生了格式错误的工具调用时,这个错误步骤和随之而来的报错材料会被删除。但状况在于,教师模型频仍会在之后的推理中提到这个错误(例如"刚才那一步失败了,我接下来关键换个方式")。一旦错误步骤被删除,之后的这段"反思"就变成了无头苍蝇——它在回应一个已经不存在的东西,逻辑上完全断裂。处理方式是:识别出这些"孤儿推理"段落,用GLM-5.2来重写它们,让它们与清理后的轨迹语境保持连贯。题的约束是:重写只能修改推理文字,不能改动任何工具调用和环境响应——这些代表教师模型真实行动的记录必须保持原样,修改的只是用于串联上下文的"旁白"部分。每次重写结荚还会经过安全检查,确保没有引入新的不相同材料。**五、训练结荚:小模型的逆袭**用这1001条经过净化的完善开发轨迹(最后因首先度限制去掉28条,采取973条)对Qwen3.6-27B开展微调后,得到的模型被命名为MindForge-27B。在ProgramBench的200个测试任务上,MindForge-27B的平均测试通过率从37.98%跃升到49.51%,不过对提高11.53个百分点,相对提高30.4%。更详详见细地说,在200个测试任务中,MindForge-27B在152个任务上得分严格高于基础模型,只在43个任务上得分较低,5个任务持平。这种广泛、均匀的提高,而不是那么点儿任务的异常高分拉动,验明正身训练真正产生了系统性的能力提高。从横向比较来看,这个成绩意味着什么?MindForge-27B(49.51%)超越了Sonnet 4.6(47.97%)、DeepSeek V4 Pro(47.80%,参数量1.6万亿),与Claude Opus 4.7(51.38%)和GLM-5.1(50.90%)处于同一水平。而这些模型的参数规模,是MindForge-27B的数十倍乃至数百倍。当然,与教师模型GLM-5.2(64.60%)以及GPT-5.5(56.50%)等不过尖前沿模型相比,MindForge-27B还有明显差距。但考虑到它只有270亿参数,同时只用了1001条训练轨迹,这个结荚已经相当出色。**六、能力真的泛化了吗:七个陌生战场的考验**一个模型在训练数据相关的测试上谝好,并不能说明它真正"学会了"软件工程。真正的考验,是把它放到训练时完全没有见过的任务类型上,看它是否还能谝出色。探究团队为此准备了七个独立的评测基准,涵盖完全不一样的软件工程场景。在这七个场景中,MindForge-27B全部超越了它的基础模型Qwen3.6-27B,这一点本身就很难得。最戏剧性的提高来自RepoZero-C2Rust任务:这是一个需把C语言程序翻译成Rust语言的任务,完全通过率从47.00%飙升到78.00%,提高了31个百分点。DeepSWE是一组全新设方式的、真实的首先程工程任务,得分从1.76%升至15.92%,虽然不过对值不高,但倍数意义上提高了整整9倍。NL2Repo-Bench测试的是从自然语言描述直接生成整个代码仓库的能力,在给予测试用例辅助的设置下,得分从61.27%提高到71.97%(+10.70个百分点);在不给予测试用例的更难设置下,从18.92%提高到23.48%(+4.56个百分点)。与此同时,在传统的代码修复任务上,MindForge-27B同样取得了相同的提高:SWE-bench Verified(原则版代码修复基准)从68.80%提高到73.84%(+5.04个百分点);SWE-bench Pro(更难的企业级代码修复任务)从45.41%提高到51.34%(+5.93个百分点);SWE-bench Multilingual(跨语言代码修复)从62.55%提高到67.77%(+5.22个百分点);FeatBench(从自然语言描述实现新功能)从50.10%提高到55.05%(+4.94个百分点)。所有这些提高,经过严格的统方式检验(配对Wilcoxon检验和准确McNemar检验,并采取Holm方式校正多重比较)后,全部实现统方式显著性(Holm校正p值均低于0.05)。这意味着这些提高不是偶然的随机波动,而是真实存在的能力跃升。**七、表现的变化:模型是怎么变得更好的**数字背后,模型的表现到底发生了什么变化?探究团队通过详详见细探究ProgramBench测试中各模型的操作轨迹,给出了一幅相当清楚的图景。从操作规模来看,MindForge-27B在每个任务上的投入大幅提高:平均对话回合数从344.0提高到735.7,工具调用次数从174.4提高到373.0,消耗的token总量从20.3亿提高到116.4亿(整个200题测试集合方式),是基础模型的5.7倍。更值得一提的是,MindForge-27B的工具调用量甚至超过了教师模型GLM-5.2(平均186.6次),验明正身学生不是便捷地模仿老师的操作量,而是发展出了更为彻底的探索风格。单纯操作多并不等于有效——你关键看的是错误率。MindForge-27B的每次命令失败率从基础模型的10.98%减小到9.35%,这意味着尽管操作总量翻倍,但单次操作的可靠性反而提高了。更首先的轨迹、更低的错误率,这种组合验明正身额外的操作是有效的深度探索,而非无谓的重复。探究团队还测量了两个"表现转化率"指标,用来研究模型是否能够将推理和错误探究转化为实际的代码修改。详详见细来说:一是"推理后立即编辑"的比例,即模型做完推理之后,紧接着就修改代码的往往率;二是"失败恢复后立即编辑"的比例,即遇到报错之后,紧接着就动手修复代码的往往率。基础模型在这两个指标上分别只有27.8%和31.8%——也就是说,它推理了但没有行动,或者遭遇了报错却没有立即去修复,这种状况发生得相当往往。探究团队在比如文中给出了一个详详见细的案例:基础模型已经正确诊断出了一个函数的状况所在,清楚表示需修改它,但接下来的29个后续操作中,有16次是在对同一个参考程序重复运行同一条命令,反复得到完全相同的输出,而那个它自己说关键修复的函数,直到30个操作后才终于被打开修改。这种"诊断了但不行动"的模式,正是基础模型在首先程任务中效率低下的根本因素。MindForge-27B在这两个转化率指标上几乎翻倍:推理后立即编辑的比例实现50.1%,失败恢复后立即编辑的比例实现48.8%。这让它与教师模型GLM-5.2(61.4% / 64.0%)和前沿模型GPT-5.5-high(67.3% / 70.4%)之间的差距大幅缩小,而与基础模型相比则有了质的跨越。探究团队还构建了每个程序的覆盖率镜像(为200个ProgramBench测试程序重新编译了带覆盖率插桩的版本),用来测量各模型在尝试复现程序之前,究竟有多彻底地探索了参考程序的表现。平均来看,MindForge-27B覆盖了参考实现代码的58.39%,而基础模型只有49.34%(中位数分别为66.47%和52.14%,差距更为明显)。在200个测试案例中,MindForge-27B在154个案例上取得了严格更高的覆盖率,只在11个案例上落后。探索得更深入、更完善,这是MindForge-27B能产出更好实现的表现基础。**八、整个步骤的工程细节**为了完善呈现MindForge的技术实现,有必需验明正身一些题的工程参数。整个环境构建步骤由三个智能体串联实现,都运行在Qwen3.5-397B-A17B这个模型上,通过mini-swe-agent框架与沙箱环境交互,部署在Kubernetes集群上。探索智能体(Offline Screening)只读取源代码和文档,从不实施任何构建操作,是最廉价的过滤层。构建智能体(Build Discovery)在有网络访问权限的沙箱中工作,可以下载依赖包,但其生成的构建脚本必须在没有任何预装依赖的干净环境中独立运行。两个智能体都采取"先提议后验明正身"的模式:在沙箱内有一个即时验明正身器给出反馈,沙箱外还有一个宿主端验明正身器做最后裁决,防止沙箱内的智能体"自我批改试卷"。模型训练采取MS-Swift框架配合Megatron后端,训练设置为序列打包(减小填充浪费)、微批大小1、全局批大小96、训练8个epoch。改进器为AdamW(β?=0.9, β?=0.98,权重衰减0.04),学习率从4×10??热身后按余弦调度衰减至4×10??,梯度裁剪最大范数1.0。训练损失只方式算在助手生成的推理、自然语言和工具调用token上,系统消息、用户消息和工具输出都被遮罩,不参与梯度更新。训练和推理均采取bfloat16精度,推理时上下文窗口设置为512K token并开启推理模式。在污染探究部分,探究团队将562个训练环境的代码仓库与所有评测基准的仓库开展了逐一比对,发现只有5个仓库重叠(覆盖17个评测实例),其中3个来自DeepSWE,14个来自SWE-bench Multilingual。对于这17个实例,基础模型和MindForge-27B的通过率几乎相同(DeepSWE重叠部分两个模型都是0/3,SWE-bench Multilingual重叠部分基础模型11/14,MindForge-27B 12/14,只有一个实例从失败变为通过)。更题的是,训练任务和评测任务的性质根本不一样:训练中程序是看不见源代码、从头复现的;而这些评测任务是在现有源代码上处理详详见细状况。探究团队认为污染风险可以忽略不方式。**归根结底,MindForge验明正身了什么**回到最最初的状况:为什么从头写一个程序比修改现有代码关键难那么多?因为它需AI具有一种完善的工程直觉——不只是"这里有个bug,改掉它"的局部修复能力,而是"我需理解这个程序想做什么,然后设方式一套方式划,一行行实现它,遇到状况自己诊断处理"的全局掌控能力。MindForge的贡献,在于它给予了一条让小模型习得这种全局掌控能力的可行馗。题不在于用了多那么点儿据(1001条轨迹,放到目前的AI训练规模里算是特别少的),而在于数据的质量和覆盖面:每一条轨迹都是一次完善的从头到尾的开发流程,涵盖了真实工程中才会出现的各种挑战——规格不清楚、初始设方式有缺陷、编译报错、测试不通过、反复往往代直到成功。这对AI能力的发展方向有着实际的启示意义。目前AI编程工具的瓶颈,可能并不是参数量不够大,而是训练数据的视野太窄——总是在修修补补,从未经历过从无到有的完善创造流程。MindForge的实验结荚表明,如果让模型接触到足够多的完善开发轨迹,即便模型规模不大,也能在这条轴线上产生实质性的能力跃升。当然,MindForge-27B距离真正胜任复杂程序开发还有相当距离。教师模型GLM-5.2在ProgramBench上还有64.60%对49.51%的明显好处,而最不过尖的模型(如Kimi K3,77.80%;GPT-5.6 Sol,77.60%)还在更高处。同时ProgramBench本身测试的是相对原则的命令行工具复现,真实世界的软件工程远比这复杂。对于"为什么全程序开发训练会让模型在截然不一样的任务(如SWE-bench代码修复)上也变强"这个状况,目前也只有表现层面的观察,还缺乏深层的理比如验明正身。但这项探究至少回答了一个有意义的状况:用完善的开发生命周期轨迹来训练模型,比起只用局部修改任务的数据,确实能培养出更强、更通用的软件工程能力。这条路,值得后续走下去。有兴趣深入探究细节的读者,可以通过arXiv编号2607.27146查阅完善比如文,该比如文将相关代码、环境、轨迹以及MindForge-27B模型权重一并开源。Q&AQ1:MindForge训练的模型在编程能力上实现了什么水平?A:MindForge-27B在ProgramBench基准测试上的平均通过率实现49.51%,超越了参数量是它数十倍的DeepSeek V4 Pro(47.80%),与Claude Opus 4.7(51.38%)处于同一水平。在七个额外的软件工程测试场景中也全部超越了基础模型,涵盖代码修复、功能实现和跨语言程序翻译等任务。Q2:MindForge只用了1001条训练数据为什么成效这么好?A:题在于数据质量而非数量。MindForge的1001条训练轨迹每一条都是一次完善的程序开发流程,平均首先达181.6个对话回合,覆盖从规格推断、架构设方式到调试修复的全部时期。99.1%的轨迹涵盖规格探索,87.1%涵盖设方式思考,而传统编程训练数据只覆盖局部修改任务,视野窄、深度浅,MindForge的轨迹给予了真实工程中的完善决策流程。Q3:ProgramBench是什么类型的测试,为什么不过级AI在上面得分这么低?A:ProgramBench需AI仅凭一个编译好的参考程序和文档,从零最初重新实现该程序,不给予任何源代码。它涵盖200个真实的开源命令行工具(如FFmpeg、SQLite),需AI独立实现规格推断、架构设方式、实现、调试的完善开发流程。由于现有AI题在代码修改任务上训练,缺乏端到端开发经验,即便是GPT-5.5这类前沿模型也只能完善处理不到1%的任务。

很赞哦!(1)