Workflow
工业代码智能
icon
搜索文档
工业代码能力开源第一!北航团队用真实仿真环境生成250万条验证数据,专治工业编码「水土不服」
量子位· 2026-03-28 13:17
文章核心观点 - 通用大语言模型在通用编程任务上表现出色,但在工业代码生成任务上存在显著短板,其根本原因在于工业代码要求模型理解硬件语义、掌握特化语言构造并严格遵守资源约束,而现有模型的训练与评测体系对此覆盖不足 [1][3][6] - 北航等单位联合发布了首个面向工业代码的代码基座模型 InCoder-32B,该模型通过构建真实仿真环境规模化生产了**250万条**经执行验证的工业代码数据,并采用三阶段训练,实现了在芯片设计、GPU内核优化等多个工业领域的卓越性能,同时保持了通用代码任务的竞争力 [1][7][10][16][22] 模型性能与突破 - **通用代码能力保持强劲**:InCoder-32B 在 HumanEval 上达到 **94.5%**,在 MBPP 上达到 **91.8%**,在 SWE-bench Verified 上达到 **74.8%**,处于同规模开源模型的领先水平 [24] - **工业代码性能显著领先**:在多个工业基准测试中取得突破性成绩,例如在芯片设计基准 RealBench 上,其 Syn@1 和 Func@5 指标分别达到 **74.8%** 和 **70.5%**;在 3D 建模基准 CAD-Coder 上,编译率和 IoU 分别达到 **82.0%** 和 **53.5%**,后者大幅超过 Claude-Sonnet-4.6 的 **32.4%**;在 GPU 优化基准 KernelBench 的三个级别上均取得开源模型最佳成绩 [24][25] - **对比突显专业训练价值**:现有最优模型在 Triton 算子生成任务上的函数调用成功率仅为 **28.80%**,在 Verilog 代码的形式等价性验证中准确率仅为 **33.3%**,而 InCoder-32B 通过专业化训练路线有效解决了这些问题 [9][25] 工业代码的独特挑战与数据生产方法 - **工业代码验证依赖真实执行环境**:与可通过单元测试快速验证的通用代码不同,工业代码(如 Verilog、CUDA kernel、嵌入式固件)的正确性必须通过在真实或高保真的仿真部署环境中执行来验证,这要求构建生产级的执行与验证基础设施 [12] - **重建四大类高保真工业仿真环境**:团队复刻了工业工程师实际使用的工具链,包括:1) 使用 Icarus Verilog、Verilator、Yosys 等工具重建芯片设计环境;2) 在 NVIDIA A100 节点上部署 GPU 优化环境;3) 基于 OpenCascade 和 CadQuery 构建 3D 建模环境;4) 以 STM32F407 为目标平台,使用 Renode 仿真器构建嵌入式代码验证环境 [13][14][15] - **规模化生产经执行验证的数据**:通过“任务构造-候选生成-执行验证-反馈驱动修复”的四步流程,生产了 **250万条** 高质量的监督微调样本,其中包含直接解答、缺陷修复和性能优化三种类型,特别是闭环修复轨迹模拟了工程师的真实工作流 [16][17][18][19] 模型架构与训练策略 - **统一的多领域架构**:InCoder-32B 是一个拥有 **320亿** 参数的 Decoder-only Transformer 模型,旨在以单一模型统一服务芯片设计、GPU内核优化、嵌入式系统、编译器优化和 3D 建模五大工业领域,与此前专注于单一子领域的模型不同 [7][9][10] - **三阶段渐进式训练**:1) 预训练阶段使用 **4096块** GPU 和 **15万亿** token 的数据,完成从函数级到项目级的课程学习;2) 中期训练将上下文从 8K 扩展至 128K,并注入推理数据;3) 后训练阶段使用前述 **250万条** 工业代码数据完成能力专精化 [22] 工业代码的典型错误分析 - **错误类型系统归纳**:通过对 **1882个** 失败样本的分析,归纳出五类核心问题:1) 编译与语法错误(如在 RealBench 中占 **71%**);2) 工业API知识不足(如在 EmbedCGen 中 **47%** 的失败为链接错误);3) 功能正确性不足(如 VeriRepair 中 **79%** 的失败属此类);4) 输出格式违规(如在 VeriScope 中占 **46%**);5) 性能优化不足(如 KernelBench 中 **33%** 的失败代码速度不达标) [26][27][28] - **案例揭示本质差距**:以 Claude 生成 CUDA 代码为例,其因不了解 GPU 硬件约束(gridDim.y 上限为 **65535**)而直接赋值 **262144**,导致运行时非法参数错误,这凸显了通用模型缺乏对硬件语义和资源约束的感知 [4][9] 行业影响与开源信息 - **引发开源社区关注**:相关论文在 Hugging Face Daily Paper 上的点赞数已近 **300**,模型的全量和量化版本权重均已开源 [2] - **模型全面开源**:模型和代码已在 Hugging Face 和 GitHub 上采用 Apache 2.0 协议开源,提供了可公开访问的资源和论文链接 [29][31]