苹果在Hugging Face发布了一个开源大模型:DiffuCoder-7B-cpGRPO。
这个模型是用来写代码的,但和其他的大模型不同之处在于,它不是传统LLM的自回归模式,而是用了diffusion模式。
一般来说,AI绘画才会使用Diffusion,比如著名的stable diffusion,LLM非常罕见。
我曾经尝试过一个Diffusion模式的LLM,发散效果非常惊艳。
传统大语言模型(LLM)生成代码的方式,如同大多数人类阅读文本的方式,采用从左到右、从上到下顺序。
这主要是因为这些 LLM 采用自回归(Autoregression)方式工作,意味着当用户向它们提问后,它们会处理整个问题,预测答案的第一个 token,然后带着这个 token 重新处理整个问题,预测第二个 token,以此类推。
LLM 还有一个名为“温度”(Temperature)的设置,用于控制输出的随机性。在预测下一个 token 后,模型会为所有可能的选项分配概率。较低的温度意味着更有可能选择最可能的 token,而较高的温度则给予模型更多的自由,选择不太可能的 token。
而另一种选择就是扩散(Diffusion)模型,这种模型通常用于图像模型。简而言之,模型从一个模糊、噪声的图像开始,迭代去除噪声,同时考虑到用户的需求,逐渐将其引导至更接近用户请求的图像。

苹果公司发布的模型名为 DiffuCode-7B-cpGRPO,它基于上月发表、名为《DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation》的论文。
论文描述了一个采用扩散优先策略的代码生成模型,但有一个特别之处:当采样温度从默认的 0.2 增加到 1.2 后,DiffuCoder 在生成 token 的顺序上变得更加灵活,从而摆脱了严格的从左到右的约束。

更为有趣的是,苹果的这款模型建立在阿里的开源 Qwen2.5-7B 模型上,将这个模型按照 DiffuCoder 论文中的描述,改造成了一个基于扩散的 decoder,然后调整它以更好地遵循指示。完成这些后,他们又用超过 20000 个精心挑选的编码示例训练了它的另一个版本。

在主流编程跑分中,DiffuCode-7B-cpGRPO 保持了在生成代码时不严格依赖从左到右的生成方式情况下,相比较主流基于扩散的编程模型,测试得分提高了 4.4%。

(文:路过银河AI)