Stability AI近期宣布开源了一款名为Stable Code 3B的代码生成模型,这一新模型在编码辅助AI领域引起了广泛关注。Stable Code 3B不仅能够辅助代码编写,还具备代码补全和调试(Debug)的能力,为开发者提供了强大的工具。
Stable Code 3B模型的发布标志着编码辅助AI领域的重大进展。该模型在参数数量上仅为Meta的Code Llama 7B的一半,但在准确性和响应速度方面却与之相当或更好。这一成就表明,即使是参数数量较小的模型也可以提供与大型模型相当的性能,从而使得编码辅助AI更易于部署和使用。
Stable Code 3B模型的设计专注于代码补全任务,并具有多种附加功能,它基于Stable LM 3B训练而成。Stable Code 3B使用了软件工程中特定的数据(包括代码)进行训练,使其在多种编程语言上表现出色。
在技术实现方面,Stable Code 3B模型是一个纯解码器的transformer,类似于LLaMA架构,并进行了特定修改。位置嵌入使用了旋转位置嵌入,以提高吞吐量。Tokenizer方面,使用了GPTNeoX Tokenizer.NeoX的修改版本,添加了特殊token来训练FIM(Fill in the Middle)功能。
Stable Code 3B模型在MultiPL-E基准上实现了SOTA(State of the Art)性能,特别是在Python、C++、JavaScript、Java、PHP和Rust等编程语言上的性能优于StarCoder。这一成就突显了Stable Code 3B在跨多种编程语言上的强大能力。
Stable Code 3B的训练数据集由HuggingFace Hub上提供的开源大规模数据集过滤混合组成,包括Falcon RefinedWeb、CommitPackFT、Github Issues、StarCoder等,并进一步用数学领域的数据补充训练。这种多元化的数据集确保了模型的广泛适用性和高效性。
在训练基础设施方面,Stable Code 3B在Stability AI集群上使用256个NVIDIA A100 40GB GPU进行训练。软件方面,采用了gpt-neox的分支,并依赖flash-attention、SwiGLU、FlashAttention-2的旋转嵌入内核。这些先进的技术和硬件支持,为Stable Code 3B的高性能提供了坚实的基础。
Stable AI的这一新模型不仅在性能上达到了新的高度,而且还具有离线运行的能力,使其更适用于移动设备和其他资源有限的设备。这一特点使得Stable Code 3B在实际应用中具有更广泛的适用性。
Stable Code 3B的发布,是Stability AI在推动更小、更紧凑、更强大模型发展方面的又一重要里程碑。自从2023年8月发布预览版Stable Code Alpha 3B以来,Stability AI一直在稳步改进该技术。新版的Stable Code 3B专为代码补全而设计,具有多种附加功能,如FIM功能和上下文大小的扩展。
Stable Code 3B的发布不仅展示了Stability AI在AI领域的技术进步,也为开发者社区带来了新的机遇。这一模型的开源性质将进一步推动编码辅助AI技术的发展和应用,为编程工作带来更多的便利和效率。随着技术的不断进步,我们可以期待未来会有更多类似的创新,为软件开发领域带来革命性的变化。
领取专属 10元无门槛券
私享最新 技术干货