Stable Diffusion 3 还没全面开放,这家公司的代码生成模型先来了。
本周一,Stability AI 开源了小体量预训练模型 Stable Code Instruct 3B。
Stable Code Instruct 3B 是一个基于 Stable Code 3B 的指令调整编码言语模型(Code LM)。给出自然言语 prompt,该模型可以处理各种使命,例如代码生成、数学和其他软件工程有关的使命。
Stability AI 宣称,该模型在 3B 规模上提供了 SOTA 本能,并且优于 CodeLlama 7B Instruct 等更大规模的模型,甚至在软件工程有关使命中,本能与 StarChat 15B 相当。
模型:https://huggingface.co/stabilityai/stable-code-instruct-3b
HuggingFace 试用:https://huggingface.co/spaces/stabilityai/stable-code-instruct-3b
Stable Code 技术报告:https://static1.squarespace.com/static/6213c340453c3f502425776e/t/6601c5713150412edcd56f8e/1711392114564/Stable_Code_TechReport_release.pdf
Stable Code Instruct 3B 增强了代码补全能力,并支持自然言语交互,旨在提高编程和软件开发有关使命的效率和直观性。实验测试表明,该模型在各种与编码有关的使命中优于 Codellama 7B Instruct 和 DeepSeek-Coder Instruct 1.3B 等同类模型。
方法介绍
Stable Code 建立在 Stable LM 3B 的基础上。Stable Code 是一个因果纯解码器 transformer,类似于 LLaMA 架构,与 LLaMA 的主要区别如下:
位置嵌入,旋转位置嵌入应用于头嵌入维度的前 25%,以提高吞吐量;
标准化,带有学得毛病项的 LayerNorm;
毛病,除了键、查询和值投影的毛病,Stable Code 从前馈网络和多头自注意力层中删除了所有毛病项。
下表给出了预训练语料库数据集的采样权重、 epoch、类别等信息。
根据 Stack Overflow 2023 开发者调查报告,Stable Code Instruct 3B 重点关注 Python、Javascript、Java、C、C++ 和 Go 等言语,这些言语对于各种开发人员来说是最流行和最有影响力的。虽然这些言语被选为训练的重点,但该模型还针对其他广泛采用的言语(例如 SQL、PHP 和 Rust)进行了训练。
即使对于最初未包含在训练集中的言语(例如 Lua),Stable Code Instruct 3B 也能提供强大的测试本能。这种熟练程度可能源于其对底层编码原理的了解,以及利用编码使命固有的可预测性,在不同编程环境中适应概念的能力。
Stable Code Instruct 3B 不仅精通代码生成,还精通 FIM(Fill in the Middle)使命、数据库查询、代码翻译、解释和创建。其指令调整使其能够了解并按照细致入微的指令采取行动,促进除简单代码完成之外的广泛编码使命,包括数学了解、逻辑推理和围绕软件开发处理复杂的技术描述。
本能评估
与 Codellama 7B Instruct 和 DeepSeek-Coder Instruct 1.3B 等领先模型相比,Stable Code Instruct 3B 在一系列编码使命中展现出卓越的本能。
研究团队还在 Multi-PL 基准上比较了三种模型。尽管参数量较少,但 Stable Code Instruct 3B 在所有言语上的表现均明显优于 CodeLlama Instruct。
下表 8 展示了几种模型在 FIM 使命上的本能:
实验测试表明,Stable Code Instruct 3B 在代码完成准确性、对自然言语指令的了解以及跨不同编程言语的能力方面可与其他模型媲美甚至超越。
Stable Code Instruct 3B 的参数规模和低硬件要求使其可供广泛的受众使用,使开发人员能够更高效地工作。值得一提的是,Stable Code Instruct 3B 现在可以通过 Stability AI 会员资格用于商业目的。
参考链接:
https://stability.ai/news/introducing-stable-code-instruct-3b
Introducing Stable Code Instruct 3B, our new instruction tuned LLM based on Stable Code 3B. With natural language prompting, this model can handle a variety of tasks such as code generation, math and other software engineering related outputs.
This model’s performance rivals… pic.twitter.com/RsZhKpWu57
— Stability AI (@StabilityAI) March 25, 2024