今天,我们宣布我们2024年的第一个大型语言模型发布:稳定代码 3B。这个新的LLM是我们之前发布的稳定代码 Alpha 3B的后续版本,也是第一个主要的稳定代码发布,提供了一个新的最先进的模型,专为代码补全和多种额外功能而设计。
与 CodeLLaMA 7b 相比,Stable Code 3B 的体积减小了 60%,同时在各种编程语言中保持了类似的高性能。基于我们预先存在的 Stable LM 3B 基础模型,该模型在 4 万亿个自然语言数据标记上进行了训练。Stable Code 进一步在软件工程特定数据上进行了训练,包括代码。该模型的紧凑体积使其能够在现代笔记本电脑上实时私密运行,即使没有专用 GPU 也可以。
稳定代码 3B 提供了更多功能,并在多种语言中具有显著更好的性能,还具有额外的优势,如支持填充中间能力(FIM)和扩展的上下文大小。稳定代码作为基础,训练的序列长度可达 16,384 个标记,但采用了与 CodeLlama 类似的方法,实现了旋转嵌入,可选择性地允许将旋转基数修改为 1,000,000,进一步扩展模型的上下文长度,最多达到 100k 个标记。
Stable Code 是基于 18 种编程语言进行训练的(根据 2023 年 StackOverflow 开发者调查 进行选择),并在多种编程语言上展现了与类似规模模型相比的 MultiPL-E 指标的最新性能。
性能比较
稳定代码完成 3B 与 CodeLLama 7B 的并排比较
培训见解
我们的训练流程包括一个类似于 Codellama 的多阶段过程。我们首先使用一个在自然语言数据上预训练的语言模型,即 StableLM-3B-4e1t,然后进行无监督微调,使用多个代码和与代码相关的数据集,包括 CommitPack、GitHub Issues、StarCoder 和其他数学数据集。在第二步中,我们使用 CodeLLama 建议的基本修改,对模型进行更长序列的微调,每个序列包含 16,384 个标记。新的稳定代码模型还支持 Flash Attention 2,并可供使用。
我们的model card中可以找到有关数据和模型的进一步参考。我们将发布一份包含额外细节和消融实验的完整技术报告,以更加透明和开放地面向社区。
商业应用
通过订阅我们的通讯,及时了解我们的进展,或者通过联系我们了解更多商业应用信息。