Stability AI发布新代码模型Stable Code 3B
Stability AI发布新代码模型Stable Code 3B
今天,AI发布了2024年的第一个模型——Code 3B。
顾名思义,Code 3B 专注于编码能力,其实际表现也非常可观。
仅用3B参数的尺度,就达到了媲美Code Llama 7B的效果。
与 Code Llama 7B 相比,Code 3B 的大小缩小了 60%,但在多种编程语言中保持了相当的水平,甚至在使用 C++ 的代码补全方面超越了 Code Llama 7B。
另外,由于模型只有3B大小,Code 3B可以在Air等普通笔记本电脑上实时运行,即使没有专用GPU!
有网友称Code 3B为离线替代方案,希望在VS Code上使用。
四小时后,有网友发推称,他已经更新了 VS Code 上的 LLama Coder 插件,支持最新的 Code 3B 模型。
“太棒了!它很小,这意味着它可以在任何硬件上运行并且运行速度非常快。”
插件地址:
虽然该模型名义上称为Code 3B,但实际上是一个纯解码器语言模型,参数为2.7B。
除了轻量级模型外,Code 3B还支持高达100K的上下文大小,可以更方便、更准确地辅助编码。
此外,该模型参考了2023年开发者调查中最流行的18种编程语言,并针对这18种语言进行了训练,提供了相同规模模型中最好的性能。
与同量级的竞争模型相比,Code 3B 几乎取得了最好的成绩。
目前,Code 3B已纳入AI会员大礼包中,只要不涉及商业用途,用户都可以免费使用。
01 代码 3B
AI将从2023年底开始推出尺寸更小但功能更强大的模型,包括3B等文本生成模型。
Code 3B的前身是AI于8月发布的Code Alpha 3B。
Code Alpha 3B 使用来自 的堆栈数据集(v1.2)来训练基础模型,并使用 Go、Java、C 和 C++ 等流行语言对其进行进一步训练(总共 560B 代码标记)。
建立基本模型后,开发人员针对特定用例调整指令模型,并使用大约10种格式的代码指令/响应来训练模型,以提高解决复杂编程任务的能力。
上图是Code Alpha使用该库完成一个相对复杂的文件。 灰色部分是Code的预测。
参数详情:100K上下文,支持FIM
代码 3B 在由 256 个 A100 40GB GPU(AWS P4d 实例)组成的集群上进行训练,
使用 ZeRO-1 的数据并行性和张量并行性,并依赖于 ZeRO-2 和内核。
模型训练过程由类似于 Code Llama 的多阶段过程组成。
第一步是基于用自然语言数据预训练的-3B-4e1t(用4万亿个token训练)对多个代码和代码相关的数据集进行无监督微调,包括 、 、 等数学数据集。 。
该模型在上述数据集上进行了准确的预训练,并使用 AdamW 进行了优化。
第二步,使用更长的 16384 个 token 序列对模型进行进一步微调,并且与 Code Llama 类似,使用一种称为旋转位置嵌入 (RoPE) 的技术进行优化,从而将上下文大小扩展到 100k token 。
此外,新的Code 3B型号还支持Flash 2。
作为改进版本,Code 3B 不仅可以建议新的代码行,还可以填充现有代码中较大的缺失部分 - 称为“中间填充”(FIM)。
Code 3B的模型架构如下表所示:
对前 25% 的头部应用旋转位置嵌入,以提高模型吞吐量;
使用 NeoX 的修改版本并添加特殊令牌来训练中间填充函数,例如 、 和其他特殊令牌。
代码 3B 展示了使用评估工具测试的多种编程语言在 -E 指标上的最先进性能。
在上表中,Code 3B 与相同大小的编码模型进行比较,在所有六种编程语言中处于领先地位。
与体型大一倍以上的 Code Llama 7B 相比,Code 3B 也获得了三场胜利。
该公司表示将发布一份完整的技术报告,其中包含更多细节和消融实验。
代码生成之战
目前,AI代码生成工具的市场竞争非常激烈。 来自 Meta 的代码 Llama 7B 拥有 70 亿个参数,被大量开发人员使用。
在30亿参数级别,LLM(IBM、微软和联合开发的开源项目)非常受欢迎。
从测试结果来看,该AI模型较为优越。 不知道Code 3B会给市场带来什么变化。
参考:
本文来自微信公众号“新智元”(ID:),作者:新智元,36氪经授权发布。