网易首页 > 网易号 > 正文 申请入驻

Salesforce团队CoDA模型挑战大模型代码生成

0
分享至


这项由Salesforce AI Research团队的陈浩霖、王诗雨、秦灿等多位研究人员共同完成的研究发表于2025年1月,论文标题为"CoDA: Coding LM via Diffusion Adaptation"。感兴趣的读者可以通过arXiv:2510.03270v1查询完整论文,或在GitHub上搜索"SalesforceAIResearch/CoDA"获取开源代码和模型。

当我们谈论AI写代码时,大多数人想到的可能是那些动辄几十亿参数的庞然大物。就像造房子一样,人们总觉得材料越多、工人越多,房子就能建得越好。但Salesforce的研究团队却用一个只有17亿参数的"小个子"模型CoDA,向这种常识发起了挑战,证明了有时候巧妙的设计比单纯的体量更重要。

要理解CoDA的特别之处,我们得先明白传统代码生成AI的工作方式。现在主流的自回归模型就像是一个从左到右写字的人,它必须按顺序一个字一个字地写下去,一旦写错了某个字,后面的内容就可能全盘皆错。更要命的是,这种模型在面对需要"填空"的任务时就显得很笨拙,比如在已有代码的中间插入一段新功能,或者根据前后文的提示来补全缺失的代码片段。

CoDA采用的扩散模型则完全不同,它的工作方式更像是一个雕塑家。雕塑家不是从左到右逐步完成作品,而是从一块模糊的石料开始,逐渐雕琢出清晰的形状。CoDA也是如此,它从一堆"噪声"开始,通过多次迭代逐步"去噪",最终生成清晰完整的代码。这种方式的最大优势在于,模型可以同时考虑前后文的信息来做决策,就像雕塑家可以随时调整作品的任何部分,确保整体的协调性。

要训练这样一个模型绝非易事,研究团队设计了一套渐进式的训练策略,就像培养一个学徒从简单任务开始,逐步挑战更复杂的工作。训练分为三个阶段,每个阶段都有不同的重点和目标。

一、从通用能力到专业技能:CoDA的三阶段成长之路

CoDA的训练过程就像培养一个全能工匠的过程,需要经历从学徒到师傅的三个关键阶段。

预训练阶段就像是给这个"AI学徒"打基础,让它广泛接触各种文本和代码材料。研究团队准备了约1800亿个token的海量数据,其中包括网页文本、Python代码、多种编程语言代码、数学文本、学术论文和百科全书内容。这就像让学徒接触各行各业的知识,建立广泛的认知基础。

有趣的是,研究团队在这个阶段就开始使用一种叫做"渐进式掩码"的训练技巧。简单来说,就是在训练时故意遮挡一些文字让模型去猜测,但遮挡的方式会越来越复杂。最开始可能只是随机遮挡几个词,后来会遮挡整个句子段落,甚至会故意留下开头部分让模型续写后面的内容。这种训练方式让模型学会了从不完整的信息中推断出完整的内容,为后续的代码生成任务做好了准备。

中期训练阶段则像是让学徒开始专门学习编程这门手艺。研究团队精选了约210亿个token的高质量数据,其中既包括学术论文这样的高质量文本,也包括专门的编程教育材料和精心筛选的代码库。这个阶段的重点是让模型在保持通用能力的同时,强化对编程语言和代码结构的理解。

更重要的是,研究团队在这个阶段进一步加强了渐进式掩码训练。他们设计了三种特殊的掩码策略。第一种是"不可掩码前缀"策略,就像给学徒一个开头提示,然后让他完成后面的工作。第二种是"截断后缀"策略,故意把结尾部分去掉,训练模型处理不完整输入的能力。第三种是"块状掩码"策略,不再是随机遮挡单个词汇,而是遮挡连续的代码块,这更接近真实的代码编写场景。

后训练阶段就像是让这个已经掌握基本技能的工匠学会如何与人类客户交流,理解他们的需求并提供有用的服务。研究团队使用了OpenCoder数据集中的指令微调数据,训练模型学会理解人类的编程需求,并生成符合要求的代码。这个阶段使用了较小的学习率和精心设计的训练策略,确保模型在学会"说人话"的同时不会忘记之前学到的编程技能。

二、小巧身材下的强大内核:CoDA的技术创新

CoDA最令人惊讶的地方在于,它用仅仅17亿个参数就实现了媲美70亿参数模型的性能。这就像用一台小型车的油耗达到了大型SUV的动力表现,背后必然有着精巧的设计。

CoDA的核心技术基于扩散模型的数学原理。传统的扩散模型最初是为图像生成设计的,将图像看作连续的像素值分布。但代码是由离散的token组成的,这就需要特殊的处理方式。研究团队采用了一种叫做"分类扩散"的方法,将每个token位置看作一个分类问题。

具体来说,在训练时,模型会随机将一些token替换为特殊的"掩码"标记,然后学习根据上下文信息来预测原始的token是什么。这个过程用数学公式表达就是:给定一个噪声程度t,token以概率βt被替换为掩码,以概率(1-βt)保持原样。模型的目标是学会一个函数fθ,能够从被掩码的序列中准确预测出原始的token。

为了让这个过程更加高效,研究团队还引入了"置信度引导采样"技术。这就像给模型装上了一个"自信度检测器",让它能够判断自己的预测有多可靠。当模型对某个位置的预测很有信心时,就会更快地确定这个位置的内容;当不确定时,就会多花一些时间来仔细考虑。这种机制让推理过程既保持了质量,又提高了效率。

三、训练基础设施:TPU上的高效实现

要训练这样一个复杂的模型,需要强大的计算基础设施支持。研究团队选择了Google的TPU(张量处理单元)作为训练平台,并基于PyTorch/XLA库和torchprime框架开发了专门的训练器。

这个训练系统就像一个高度自动化的工厂流水线。它能够自动处理数据的分布式加载、模型状态的分布式保存,还能根据训练进度自动调整掩码策略。整个系统在TPU v4-1024集群上运行时,能够达到每秒处理约10亿个token的惊人速度。

特别值得一提的是,研究团队将整个训练流程完全开源,包括数据处理脚本、训练代码和模型检查点。这就像不仅公布了菜谱,还把厨房的设计图纸和烹饪技巧都无偿分享给了整个社区。这种开放态度大大降低了其他研究团队复现和改进这项工作的门槛。

四、实战表现:小模型的大能量

CoDA在实际测试中的表现令人印象深刻。在两个广泛使用的编程能力评测基准HumanEval和MBPP上,CoDA-1.7B-Instruct的表现都达到了令人满意的水平。

在HumanEval测试中,CoDA取得了54.3%的pass@1分数,这意味着它能够一次性正确解决超过一半的编程问题。虽然这个成绩还不如一些更大的模型,但考虑到它只有17亿参数的体量,这已经是相当出色的表现了。更重要的是,当与同样大小的自回归模型比较时,CoDA展现出了明显的优势,特别是在需要理解前后文关系的复杂编程任务上。

在MBPP测试中,CoDA的表现同样亮眼,达到了47.2%的pass@1分数。这个测试更加注重实际编程场景中的问题解决能力,CoDA的良好表现说明它不仅能够生成语法正确的代码,还能理解和解决实际的编程需求。

研究团队还专门测试了推理效率与性能之间的平衡关系。他们发现,随着扩散步数的增加,模型性能确实会提升,但在512步之后提升就变得很有限了。这个发现很有实用价值,因为它告诉我们可以在保持良好性能的同时大幅缩短推理时间。

与更大的模型相比,CoDA在推理速度上有着明显优势。由于参数量只有大模型的四分之一左右,它的推理延迟比同类扩散模型低约40%。这就像用一台小型车达到了大型车80%的载货能力,但油耗却只有一半,在实际应用中显然更有吸引力。

五、创新亮点:渐进式掩码策略的妙用

CoDA最具创新性的技术之一就是渐进式掩码策略。这个策略的巧妙之处在于它很好地解决了训练和推理之间的分布差异问题。

在传统的训练中,模型看到的总是随机掩码的文本,但在实际使用时,往往需要根据给定的前缀生成后续内容。这就像一个学生在练习时总是做填空题,但考试时却要写作文,两种任务的要求是不同的。

CoDA的渐进式掩码策略通过三种不同的掩码方式来缓解这个问题。不可掩码前缀策略让模型学会如何根据给定的开头来生成内容,这直接对应了实际使用中的场景。截断后缀策略则训练模型处理不完整输入的能力,这在实际编程中很常见,比如需要根据部分需求描述来推断完整的功能实现。

块状掩码策略可能是最有趣的一个创新。传统的掩码通常是随机遮挡单个token,但CoDA会遮挡连续的代码块。这种训练方式更接近真实的编程场景,比如需要填补函数中间的逻辑,或者根据函数签名和注释来实现函数体。

这种渐进式的训练策略不仅提高了模型的性能,还增强了它的泛化能力。就像一个经过全面训练的运动员能够适应各种不同的比赛环境一样,经过渐进式掩码训练的CoDA能够更好地处理各种不同的代码生成任务。

六、开源贡献:推动整个领域的发展

CoDA项目最值得称赞的一点是它的完全开源策略。研究团队不仅公开了最终的模型权重,还分享了完整的训练代码、数据处理流程和评估框架。这种开放态度在当前AI领域并不多见,特别是对于性能优秀的模型来说。

这种开源策略的价值远超模型本身。完整的TPU训练流程代码让其他研究团队能够在类似的硬件环境下复现实验,大大降低了进入扩散语言模型研究的门槛。详细的数据处理脚本也帮助社区更好地理解如何准备和处理大规模训练数据。

更重要的是,这种开放性促进了整个领域的快速发展。其他研究团队可以基于CoDA的工作进行改进和扩展,而不需要从零开始摸索。这就像在科学研究中,一个重要发现会激发出更多的后续研究一样,CoDA的开源为扩散代码生成模型的发展奠定了坚实的基础。

研究团队还提供了详细的评估harness,让其他研究者能够在相同的标准下比较不同模型的性能。这种标准化的评估方式对于推动领域进步具有重要意义,它确保了不同研究之间的结果具有可比性。

简单来说,CoDA不仅仅是一个性能优秀的模型,更是一个推动整个扩散代码生成领域发展的催化剂。它的开源策略和完整的技术文档为后续研究提供了宝贵的资源和参考。

CoDA的成功证明了在AI发展中,巧妙的设计和创新的方法往往比单纯的规模扩大更有价值。这个只有17亿参数的"小个子"模型,通过精心设计的扩散架构和创新的训练策略,在代码生成任务上达到了令人瞩目的性能。更重要的是,它为整个领域提供了一条不同于传统"大力出奇迹"的发展路径,证明了效率和性能可以兼得。

当然,CoDA也还有改进空间。与最强的大型自回归模型相比,它在某些任务上仍有差距。但考虑到它在计算效率、推理速度和资源消耗方面的优势,这种性能差异是可以接受的。更何况,随着技术的不断发展,这种差距很可能会进一步缩小。

展望未来,CoDA的成功可能会激发更多关于高效AI模型的研究。在资源日益紧张、环境保护要求日益严格的今天,像CoDA这样既高效又强大的模型代表了一个很有前景的发展方向。它告诉我们,AI的进步不一定要依赖于越来越大的模型和越来越多的计算资源,有时候,聪明的设计和巧妙的方法能够创造出更大的价值。对于那些想要深入了解这项研究的读者,可以访问GitHub搜索"SalesforceAIResearch/CoDA"获取完整的开源代码和模型,或者通过arXiv:2510.03270v1查阅完整的技术论文。

Q&A

Q1:CoDA与传统的代码生成AI有什么不同?

A:CoDA使用扩散模型技术,工作方式像雕塑家一样从模糊到清晰逐步生成代码,可以同时考虑前后文信息。而传统的自回归模型像写字一样从左到右逐个生成,一旦出错就容易影响后续内容,在代码填空等任务上表现较弱。

Q2:为什么CoDA只有17亿参数却能媲美70亿参数的大模型?

A:CoDA通过精心设计的扩散架构和创新的渐进式掩码训练策略实现了高效性能。它采用了三种特殊的掩码策略和置信度引导采样技术,让模型能够更好地理解代码结构和上下文关系,从而用更少的参数达到更好的效果。

Q3:普通开发者可以使用CoDA吗?如何获取?

A:可以使用。CoDA完全开源,开发者可以通过GitHub搜索"SalesforceAIResearch/CoDA"获取模型代码和权重,也可以在HuggingFace上搜索"Salesforce/CoDA-v0-Instruct"直接下载模型。研究团队还提供了完整的训练和推理代码,方便开发者集成到自己的项目中。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
考研导师张雪峰因跑步心脏聚停离世?网传特殊治疗知情同意书也被流传出。

考研导师张雪峰因跑步心脏聚停离世?网传特殊治疗知情同意书也被流传出。

贴小君
2026-03-24 20:41:23
越南5年免签新政策4.1开始实施

越南5年免签新政策4.1开始实施

创作者_cLg1
2026-03-26 09:42:32
大伯突然给我发消息,让我赶紧卖掉房子,钱全部给堂弟,我问为啥

大伯突然给我发消息,让我赶紧卖掉房子,钱全部给堂弟,我问为啥

小秋情感说
2026-03-26 09:21:52
志愿军功臣行刑时朝鲜姑娘冲上前,彭总感慨:让他们在一起吧

志愿军功臣行刑时朝鲜姑娘冲上前,彭总感慨:让他们在一起吧

老范谈史
2026-03-23 17:49:13
去了一趟伊朗才发现:原来在伊朗人眼里,中国人是这样的

去了一趟伊朗才发现:原来在伊朗人眼里,中国人是这样的

千秋文化
2026-03-24 21:40:40
宅基地确权最后冲刺:今年不把名字改成儿子的,以后可能就改不了

宅基地确权最后冲刺:今年不把名字改成儿子的,以后可能就改不了

混沌录
2026-03-19 21:59:03
钱再多有什么用?58岁伊能静身价过亿,如今9岁女儿却成她的心病

钱再多有什么用?58岁伊能静身价过亿,如今9岁女儿却成她的心病

梨花黛娱
2026-03-25 15:00:06
伊朗外长:美国谈论“谈判”无异于承认“失败”

伊朗外长:美国谈论“谈判”无异于承认“失败”

新华社
2026-03-26 08:07:01
美军司令:一旦台海战争打响,6个航母战斗群2个陆战师将全都出动

美军司令:一旦台海战争打响,6个航母战斗群2个陆战师将全都出动

霁寒飘雪
2026-03-26 09:54:09
特朗普承认一件事:美国最大的敌人,不是中俄和伊朗,而是他们

特朗普承认一件事:美国最大的敌人,不是中俄和伊朗,而是他们

鱼语昱雨轩
2026-03-26 13:31:35
913唯一幸存者临终首次开口:我曾举枪瞄准林彪,扣动扳机那一刻他回头看了我一眼

913唯一幸存者临终首次开口:我曾举枪瞄准林彪,扣动扳机那一刻他回头看了我一眼

寄史言志
2026-03-18 17:25:06
电饭锅哪个牌子质量好?2026电饭煲排名前十盘点!大众主流精选

电饭锅哪个牌子质量好?2026电饭煲排名前十盘点!大众主流精选

小柱解说游戏
2026-03-25 17:56:15
有没有人敢爆自己的瓜?网友:确定玩这么大吗?

有没有人敢爆自己的瓜?网友:确定玩这么大吗?

夜深爱杂谈
2026-02-18 20:55:58
要断俄财路?俄忍不下去了,普京下令海军护航,不怕与美欧硬碰硬

要断俄财路?俄忍不下去了,普京下令海军护航,不怕与美欧硬碰硬

风信子的花
2026-03-26 13:45:27
日本内阁官房长官就“强闯使馆”事件表态

日本内阁官房长官就“强闯使馆”事件表态

新浪财经
2026-03-25 18:48:42
女同主播出轨大哥 被"正宫"直播对质!真实长相曝光

女同主播出轨大哥 被"正宫"直播对质!真实长相曝光

游民星空
2026-03-25 20:08:13
小毛打酱油 浙江双煞快废了!于金永该让位姚浩洋 依木兰眼神太狠

小毛打酱油 浙江双煞快废了!于金永该让位姚浩洋 依木兰眼神太狠

刀锋体育
2026-03-26 10:43:52
15-0,火箭又又又出来搞笑了!

15-0,火箭又又又出来搞笑了!

风子说个球
2026-03-26 14:12:56
张柏芝机场接大儿子,Lucas主动帮妈妈拎包,母子相拥热聊关系好

张柏芝机场接大儿子,Lucas主动帮妈妈拎包,母子相拥热聊关系好

白面书誏
2026-03-26 13:38:29
伊朗“大礼”空空如也,特朗普的话还能信几分 | 京酿馆

伊朗“大礼”空空如也,特朗普的话还能信几分 | 京酿馆

新京报评论
2026-03-26 13:28:04
2026-03-26 14:40:49
科技行者 incentive-icons
科技行者
科技正在如何变革商业世界
7746文章数 556关注度
往期回顾 全部

科技要闻

Meta高管狂分百亿期权,700名员工却下岗

头条要闻

担心特朗普突然停战 以总理下令48小时尽力摧毁伊设施

头条要闻

担心特朗普突然停战 以总理下令48小时尽力摧毁伊设施

体育要闻

35岁替补门将,凭什么入选英格兰队?

娱乐要闻

张雪峰家人首发声 不设追思会丧事从简

财经要闻

黄仁勋:芯片公司的时代已经结束了

汽车要闻

一汽奥迪A6L e-tron开启预售 CLTC最大续航815km

态度原创

本地
手机
艺术
公开课
军事航空

本地新闻

救命,这只酱板鸭已经在我手机复仇了一万遍

手机要闻

存储涨价苦了国产品牌、普通消费者,苹果却不受影响

艺术要闻

哪一座桥不是风景?

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

担心特朗普突然停战 以总理下令48小时尽力摧毁伊设施

无障碍浏览 进入关怀版