Stable Code 3B: Coding on the Edge
要点:
- Stable Code 3B 是一个包含 30 亿个参数的大型语言模型 (LLM),可实现准确且响应灵敏的代码补全,其水平与大 2.5 倍的 CodeLLaMA 7b 等模型相当。
- 即使在 MacBook Air 等普通笔记本电脑上没有 GPU,也可以离线运行。
1月16日,Stability AI宣布 2024 年第一个大型语言模型版本:stable-code-3b。这个新的 LLM 是之前发布的 stable-code Alpha 3B 的后续版本,也是第一个主要的稳定代码版本,提供了新的最先进的模型,专为具有多种附加功能的代码完成而设计。
与 CodeLLaMA 7b 相比,Stable Code 3B 体积缩小了 60%,同时跨编程语言具有相似的高级性能。基于预先存在的 Stable LM 3B 基础模型(在 4 万亿个自然语言数据上进行训练),Stable Code 进一步接受了特定于软件工程的训练数据,包括代码。该模型的紧凑尺寸使其可以在现代笔记本电脑的边缘实时私下运行,即使是那些没有专用 GPU 的笔记本电脑。
Stable Code 3B 跨多种语言提供更多功能和显着更好的性能,并具有额外的优势,例如支持中间填充功能 (FIM) 和扩展的上下文大小。Stable Code 作为基础在最多 16,384 个 token 的序列上进行训练,但遵循与 CodeLlama 类似的方法,实施旋转嵌入,可选择允许修改最多 1,000,000 个旋转基,进一步将模型的上下文长度扩展至 100k 个 token。
Stable Code 3B 接受了 18 种编程语言的训练(根据 [2023 年 StackOverflow 开发人员调查] 选择)) 并展示了跨多种测试编程语言的 MultiPL-E 指标的最先进性能(与类似大小的模型相比)。
性能比较
Stable Code 完成 3B 与 CodeLLama 7B 的并排比较
Training见解
在训练流程由类似于 Codellama 的多阶段过程组成。从对自然语言数据进行预训练的 LM 开始,在本例中为 StableLM-3B-4e1t,然后进行无监督微调多个代码和与代码相关的数据集,包括 CommitPack、GitHub Issues、StarCoder 和其他数学数据集。在第二步中,根据 CodeLLama 中建议的基本修改,进一步使用 16,384 个标记的更长序列对模型进行微调。新的稳定代码模型还支持 Flash Attention 2 并且可供使用。
对数据和模型的进一步了解,可以参考Stability AI的模型卡中找到。Stability AI将发布一份完整的技术报告,其中包含更多详细信息和删减内容,以便对社区更加透明和开放。