|
苹果最近悄摸干了个挺有意思的事儿。他们没开发布会也没敲锣打鼓,就直接把一个名叫 DiffuCode-7B-cpGRPO 的新AI模型放到了开源社区 Hugging Face 上。这玩意儿干嘛的?专门帮人写程序代码的。但它和咱以前见过的那些AI写代码工具可太不一样了!
以往那些模型,甭管多厉害,写代码就跟咱们写字儿似的,老老实实“从左到右、从上到下”,一个字(专业点叫“token”)挨着一个字蹦出来。苹果这个新模型呢,它跳脱!它能“不按顺序写”!写代码时不是非得从开头憋到结尾,它可以东写一块,西写一块,甚至同时润色好几段代码。结果就是——写代码的速度变快了,而且写出来的东西质量还不赖,能跟目前最好的一批开源代码生成模型掰掰手腕。
咋实现的?这里有个小科普
讲清楚这个牛在哪儿,咱得先唠点基础知识(保证简单):
老办法:“念经式”生成 (Autoregression):
大部分之前的语言模型都这么干。就像你问我问题,我得先把你整个问题想一遍,猜出第一个回答的字;然后带着这个字再想一遍整个问题和第一个字,才能猜第二个字… 就这么一个字一个字往外吐,当然慢了!像咱们读书一样顺序进行。
“撒多少盐?”:温度 (Temperature):
这不是厨房那个温度。模型猜下一个字时,其实心里有一堆候选词和它们的“得票率”(概率)。温度低?它就选票最高的那个安全牌。温度调高?它就敢选些票少的、更“野”更有创意的词。调温度能控制模型输出是老实还是放飞。
新思路:“雕刻式”生成 (Diffusion):
这招儿在画图AI(像Stable Diffusion)里比较常见。它不从零开始画,先弄一张满是噪点、糊了吧唧的“毛坯图”,然后一点点儿“修”,每次修图都想着你的要求,慢慢把噪点去掉、把形状修清晰,最后变成你想要的样子。
说这个干啥呢?因为苹果把这画图的思路,用到了写代码上!
用这种“雕刻”思路写代码有个巨大好处:它不用死板地一个字一个字蹦,可以同时“修”整段代码的不同部分(相当于并行干活)。这对写程序特别管用,因为代码讲究的是整体结构好,不是单个词写得溜就成。想象一下盖房子,与其一块砖一块砖从墙角砌起(顺序),不如几波人同时搭不同的墙(并行),效率自然高。
苹果具体鼓捣出了啥?
苹果这个新模型,是基于他们自己团队今年六月份刚发的一篇论文《DiffuCoder》搞出来的。那篇论文的核心思想就是:把上面说的“雕刻”(Diffusion)方法当成主力,用来生成代码。
但苹果玩了个更花的!论文里说了,给模型“调温度”不仅影响它用词野不野,还能影响它写字顺不顺!
温度低(默认0.2):模型就比较规矩,像传统的AI一样从左到右写。
温度调高(比如调到1.2):欸!它就解锁新技能了!能“不按顺序写字”了!想写哪块代码就写哪块,灵活多了。这相当于给了AI一种新工具。
而且苹果还给这个模型加了个“升级包”,叫“耦合梯度奖励策略优化”(coupled-GRPO,简称cpGRPO)。经过这么一训练,这个模型能用更少的“雕刻”次数,写出质量更好的代码,效率又提上去了。
效果咋样?实测下来,这个叫 DiffuCode-7B-cpGRPO 的模型,在衡量代码生成水平的一个常用榜单(HumanEval)上,成绩比它之前的“基础版”又 提升了4.4%,而且依然保持着那种不完全从左到右写的特性。
技术哪儿来的?起点是开源的“地基”
更让人没想到的是,苹果这个新模型的“地基”,用的不是自家的东西,而是阿里巴巴开源出来的一款基础大模型——Qwen2.5-7B。阿里巴巴自己先把这个模型调整了一下,专门让它更擅长写代码,搞出了 Qwen2.5-Coder-7B。
苹果相中了这个“地基”,把它拿来,做了关键改造:
换“心脏”:按照《DiffuCoder》论文的方法,把这个模型的核心生成部分(解码器)改造成了用“雕刻”(Diffusion)原理驱动的。
教“听话”:又训练这个模型,让它更能理解人类那些复杂的编程指令。
开“小灶”:最后,用超过2万条精心挑选的代码例子(高质量编程样本)再特训了一次,让它本领更强。
现在水平咋样?还有啥坎儿?
目前看,这个模型确实厉害:
在扩散模型这一类做代码生成的选手里,它已经是顶尖水平了(这还是在加了cpGRPO训练提升4.4%之前的成绩)。
写代码速度变快了,这是核心目标之一。
代码整体结构更连贯、更合理。
当然也有不足:
还没到顶尖全能AI的水平:比如跟GPT-4、Gemini Diffusion这种全能大模型比代码能力,目前还差点儿意思。
7B的“内存”(参数)可能有点小:处理特别复杂的编程任务时,这个模型规模的潜力可能不太够。
“并行”还不够彻底:虽然设计思路是同步修好几块代码,但实际运行过程中,还是有一部分工作感觉像在顺序执行。
总之,苹果这回露的这一手,是他们默默在生成式AI领域搞研发的最新一步。 这几年苹果时不时就开源个新技术(这已经是第五个了),看起来是在“背着所有人”打基础、攒技术。这些新奇的点子最终能不能变成咱们用户能用上的实际功能?还得打上问号。不过它已经证明了一点:写AI代码生成这事儿,苹果有新想法,而且想法还挺狂的!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|