本文由社区同学投稿,全文约 2400 字,预计阅读时间 7 分钟

现有的代码生成模型大多仅能处理文本输入,忽略了在实际软件开发中至关重要的UML图和流程图等视觉设计,这限制了模型理解复杂系统架构和高级设计意图的能力。
随着vibe coding的广泛普及以及Agent 代码能力增强,copilot和cursor等编程助手也开始将多模态编程能力整合到软件开发工作中。

为此,来自北京航空航天大学、南京大学、阿里巴巴集团、M-A-P的研究者们提出了一个全新的多语言多模态代码生成评估基准:M²Eval。该基准通过结合视觉设计和文本指令来评估代码生成任务。此外,为了支持该任务,本文还构建了一个大规模、多模态的指令微调数据集M²c-Instruct,其中包含超过1310万个样本,旨在使模型能够像人类开发者一样,综合利用文本和图形信息进行编码。
本文基于该数据集训练了一个多语言多模态软件开发模型M²-Coder。实验结果表明,该模型在 M²Eval 基准测试中取得了优异的性能,其表现优于许多同等规模甚至更大规模的模型,证明了在代码生成中融合视觉信息的有效性。
资源链接
原文链接: https://arxiv.org/abs/2507.08719
数据与模型: https://github.com/MCEVAL/MMCoder
Part 1: M²Eval基准 - 评估多语言多模态代码生成能力
在当前的软件开发实践中,UML图和流程图等视觉化设计文档是不可或缺的一环,它们能够清晰地传达系统架构与业务逻辑。然而,现有的大多数代码大语言模型(Code LLMs)主要处理纯文本输入,无法直接理解这些视觉信息,这限制了它们在复杂软件工程场景中的应用潜力。

为了弥补这一评测空白,本文构建了一个新的评测基准——M²Eval。

M²Eval旨在系统性地评估代码模型的多模态能力。它包含300个问题,并为每个问题提供了10种不同编程语言(如Python, Java, C++等)的实现。该基准的核心设计是,问题的完整解决需要图表信息,仅凭文本描述不足以生成正确的代码。这种设计可以直接衡量模型结合文本与视觉信息进行代码生成的能力。
M²Eval 的构建流程
原型题目设计: 以Python为基础,设计并精炼出包含完整代码和测试用例的原型问题。
题目构建: 为问题生成图表,并将部分关键信息从文本移入图中,使模型必须结合图文才能解题。
平行翻译: 最后,将这些多模态问题平行翻译至九种计算机语言,并逐一验证代码以确保其正确性。

Part 2: M²c-Instruct - 高质量多模态代码SFT数据集构建
为了让模型真正学会"看图编程",一个高质量、大规模的训练数据集是必不可少的。为此,研究团队构建了M²c-Instruct,一个总样本量超过1310万的、专门用于多模态代码生成的指令微调数据集。数据集中主要包含两种类型数据。
跨模态模态问题

传统模型只能将代码作为纯文本处理。为了提升模型对代码本身的"视觉感知力"(例如,通过缩进、高亮等视觉特征理解代码结构),研究团队将大量的代码片段渲染成图片。这样一来,模型在训练时不仅要"读"代码,还要"看"代码,从而显著增强了其视觉代码理解和光学字符识别(OCR)的能力。
图表关联问题

这是训练模型核心能力的关键。团队设计了一个完整的构建流程:
首先让大型语言模型根据一段标准代码生成对应的UML图或流程图;
然后让模型根据原始代码和新生成的图表,重新创造一个多模态编程问题,并在此过程中刻意将解题的关键信息从文本中剥离,使其仅存在于图表中。这确保了模型必须学会从图表中提取信息来完成任务。
Part 3: M²-Coder - 验证数据集有效性的实践
在拥有了可靠的评测基准(M²Eval)和专门的训练数据集(M²c-Instruct)后,研究团队推出了M²-Coder模型,以验证其方法的有效性。实验阶段的设计不仅旨在评估M²-Coder的性能,更希望对多模态代码生成的现状进行一次全面而深入的分析。为此,评测范围十分广泛,涵盖了超过25个业界广泛使用的模型,从顶尖的专有闭源模型(如GPT-4o、Claude 3和Gemini 2.5)到不同规模的强大开源模型。

在M²Eval的评测中,7B规模的M²-Coder模型表现出色,其性能超过了部分更大规模的开源多模态模型,充分验证了M²c-Instruct数据集和训练方法的有效性。

Part 4: 深入分析
错误分析
研究者对一些错误样例进行了分析,相同的问题,可能一些语言存在解题上的优势。

即使是一些最先进的多模态模型,也会出现一些基本的OCR或指令遵循错误。

编程语言影响分析
研究者研究了编程语言对模型性能的分析,模型在Python,PHP等脚本语言上的表现普遍优于需要严格类型检查的C#和Scala等语言。

并且,这种语言间的性能差距在处理简单任务时并不明显,但随着问题复杂度的提升,差距会变得愈发悬殊。

Part 5: 总结
该研究工作通过提出一个评测基准 M²Eval、一个大规模训练数据集 M²c-Instruct)和一个在此基础上训练的模型(M²-Coder),系统性地探索了从视觉设计图生成代码这一任务。这项工作为提升AI在实际软件工程流程中的应用能力提供了有益的尝试,并为该领域的后续研究指明了方向。
主要贡献:
🎯 M²Eval评测基准: 包含300个问题,覆盖10种编程语言的多模态代码生成评估 📚 M²c-Instruct数据集: 超过1310万个样本的大规模多模态指令微调数据集 🤖 M²-Coder模型: 7B规模的多语言多模态代码生成模型,性能优于同等或更大规模的开源模型
Part 6: 作者简介
柴林政,北京航空航天大学博士在读,研究方向包括多语言大模型,代码智能等。
杨健,北京航空航天大学计算机学院准聘副教授,在ICLR、NeurIPS、ICML、ACL等国际期刊/会议发表第一作者/通讯作者20余篇,谷歌学术引用8000+次,并担任NeurIPS、ARR 等国际会议的领域主席。曾作为阿里星入职通义千问(Qwen)及QwenCoder系列的核心贡献者,积极推动大模型开源工作。
李舟军,北京航空航天大学计算机学院教授,信息安全系主任,智能信息处理研究所副所长。国务院学位委员会首届网络空间安全学科评议组成员,中国人工智能学会语言智能专委会副主任委员,深圳智能思创科技有限公司创始人与首席科学家。
-- 完 --
机智流推荐阅读:
1. 突破传统交互!滑铁卢大学研发 NeuralOS,让神经网络能靠“画”模拟操作系统界面
2. 发个福利,可以免费领WAIC2025(世界人工智能大会·上海)单日门票
3. 刚刚,ICML 2025 杰出论文揭晓!万中选八,AI安全的头等大事竟然是...打工人的饭碗?
4. ICML 2025 强化学习 RL 方向Oral论文盘点
关注机智流并加入 AI 技术交流群,不仅能和来自大厂名校的 AI 开发者、爱好者一起进行技术交流,同时还有HuggingFace每日精选论文与顶会论文解读、Talk分享、通俗易懂的Agent知识与项目、前沿AI科技资讯、大模型实战教学活动等。
在「机智流」公众号后台回复下方标红内容即可加入对应群聊:
cc | 大模型技术交流群 hf | HuggingFace 高赞论文分享群 具身 | 具身智能交流群 硬件 | AI 硬件交流群 智能体 | Agent 技术交流群