2025-09-2102ai门户网
编辑:润alan
【本站导读】今天,StabilityAI发布了StableCode3B,在图片生成之外的战场上,Stability也开始发力了
今天,StabilityAI发布了自家在2024年的第一个模型——StableCode3B。
顾名思义,StableCode3B专注于代码能力,实际的表现也是非常亮眼。
在仅仅3B参数的规模之下,达到了比肩CodeLlama7B的效果。
相较于CodeLlama7B,StableCode3B的体积减少了60%,但在多种编程语言上保持了相当的水准,在Python和C++的代码补全中甚至反超了CodeLlama7B。
另外,由于模型仅有3B大小,StableCode3B可以在MacBookAir等普通笔记本电脑上实时运行,甚至没有独立GPU也可以!
有网友将StableCode3B称为Copilot的离线替代品,并希望能在VSCode上使用它。
4个小时后,有网友发推表示自己在VSCode上更新了LLamaCoder插件,可以支持最新的StableCode3B模型。
「它非常好!它很小,这意味着它可以在任何硬件上运行,并且运行速度非常快。」
插件地址:https://t.co/Mn7onaDpge
虽然模型名义上叫做StableCode3B,但其实是一个2.7B参数的纯解码器语言模型。
除了模型比较轻量之外,StableCode3B还支持高达100K的上下文大小,可以更方便、更精确地辅助编码。
另外,模型参考了2023年StackOverflow开发者调查中,最受欢迎的18种编程语言,针对这18种语言进行了训练,提供了同等规模模型中最优秀的性能。
C
CPP
Java
JavaScript
CSS
Go
HTML
Ruby
Rust
Markdown
Shell
Php
Sql
R
Typescript
Python
Jupyter-Clean
RestructuredText
在与同量级的竞品模型的比较中,StableCode3B也几乎拿到了最好的成绩。
目前,StableCode3B已经加入了StabilityAI的会员大礼包中,只要不涉及商用,用户都可以免费使用。
StableCode3B
StabilityAI从2023年底开始推出更小尺寸、但功能强大的模型,包括StableLMZephyr3B等用于文本生成的模型。
StableCode3B的前代是StabilityAI在8月份发布的StableCodeAlpha3B。
StableCodeAlpha3B使用来自BigCode的堆栈数据集(v1.2)来训练基础模型,并使用Python、Go、Java、Javascript、C、Markdown和C++等流行语言进一步训练(共560B代码token)。
建立基础模型后,开发人员针对特定用例对指令模型进行了调整,使用大约120000个Alpaca格式的代码指令/响应来训练模型,以提升解决复杂编程任务的能力。
上图展示了StableCodeAlpha利用Pytorch库完成一个相对复杂的python文件,灰色部分为StableCode的预测。
StableCode3B在256个英伟达A10040GBGPU(AWSP4d实例)的集群上进行训练,
使用ZeRO-1的数据并行和张量并行,并依赖FlashAttention以及FlashAttention-2的SwiGLU和RotaryEmbedding内核。
模型的训练流程由类似于CodeLlama的多阶段过程。
第一步,以使用自然语言数据预训练的StableLM-3B-4e1t为基础(使用4万亿个token训练),对多个代码和代码相关数据集进行无监督微调,包括CommitPack、GitHubIssues、StarCoder和其他数学数据集。
模型在上述数据集上使用bfloat16进行了精确预训练,并使用AdamW进行了优化。
第二步,使用16384个token的更长序列进一步微调模型,同时与CodeLlama类似,使用一种称为旋转位置嵌入(RoPE)的技术进行优化,使上下文大小扩展到了100k个token。
另外,新的StableCode3B模型还支持FlashAttention2。
作为改进版本,StableCode3B不仅可以建议新的代码行,还可以填补现有代码中较大的缺失部分——称为中间填充功能(FIM)。
StableCode3B的模型架构如下表所示:
旋转位置嵌入应用于前25%的headembedding,以提高模型的吞吐量;
使用GPTNeoXTokenizer的修改版本——NeoX,并添加特殊token来训练中间填充功能,比如
在使用BigCode的评估工具测试的多种编程语言的MultiPL-E指标上,StableCode3B展示了最先进的性能。
上表中,StableCode3B与同等规模的编码模型进行比较,在全部的六种编程语言中,都处于领先。
而相比于体积大2倍多的CodeLlama7B,StableCode3B也拿到了3项胜利。
Stability表示将发布一份完整的技术报告,包含更多细节和消融实验等。
目前,AI代码生成工具的市场竞争非常激烈,70亿参数的来自Meta的CodeLlama7B被广大开发者所使用。
而在30亿参数这个量级,StarCoderLLM(由IBM、HuggingFace和ServiceNow共同开发的开源项目)广受欢迎。
从测试成绩上来看,StabilityAI的这个模型要优于StarCoder,不知道StableCode3B会给Stability和市场带来怎样的变化。
参考资料:
https://stability.ai/news/stable-code-2024-llm-code-completion-releasehttps://huggingface.co/stabilityai/stable-code-3b声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表本站立场。文章及其配图仅供学习分享之
新品榜/热门榜