Stable Code 3B 是一款编码模型,具有指令和代码补全变体,性能与 Code Llama 7B 等规模大 2.5 倍的模型相当。

3b

103.4K 7 个月前

自述文件

Stable Code 3B 是一个拥有 30 亿参数的大型语言模型 (LLM),可以在与 Code Llama 7b 等规模大 2.5 倍的模型相当的水平上实现准确且响应迅速的代码补全。

关键特性

  • 全新 指令模型 ollama run stable-code
  • 填充中间功能 (FIM)
  • 支持长上下文,使用高达 16,384 的序列进行训练

spiderchart

模型 尺寸 Python C++ Javascript Java PHP Rust
Stable Code 3B 32.4% 30.9% 32.1% 32.1% 24.2% 23.0%
CodeLLama 7B 30.0% 28.2% 32.5% 31.1% 25.7% 26.3%
Deepseek Coder 1.3B 28.6% 29.2% 28.7% 29.0% 23.6% 18.5%
Wizard Coder 3B 31.6% 25.6% 26.2% 25.8% 25.3% 20.4%
StarCoder 3B 21.6% 19.8% 21.5% 20.5% 19.0% 16.9%
Replit Code V1.5 3B 23.0% 25.9% 26.2% 23.6% 23.2% 21.5%
Deci Coder 1B 19.1% 6.8% 18.4% 16.7% 2.1% 1.7%

模型详情

  • 开发者Stability AI
  • 模型类型:stable-code 模型是基于 Transformer 解码器架构的自动回归语言模型。
  • 语言:英语,代码
  • 联系方式:有关模型的任何疑问或意见,请发送电子邮件至 [email protected]

模型架构

该模型是一个解码器 Transformer,类似于 LLaMA (Touvron 等人,2023 年) 架构,但做了以下修改

参数 隐藏尺寸 层数 头数 序列长度
2,796,431,360 2560 32 32 16384
  • 位置嵌入:旋转位置嵌入 (Su 等人,2021 年) 应用于前 25% 的头部嵌入维度,以提高吞吐量,遵循 Black 等人 (2022 年) 的方法。
  • 分词器:我们使用了一个经过修改的 GPTNeoX 分词器。NeoX。我们添加了特殊标记来训练填充中间 (FIM) 功能,如 <FIM_PREFIX><FIM_SUFFIX> 以及其他特殊标记。

训练

训练数据集

数据集由在 HuggingFace Hub 上提供的过滤后的开源大型数据集混合组成:Falcon RefinedWeb 提取 (Penedo 等人,2023 年),以及 CommitPackFTGithub Issues (BigCode.,2023 年) 和 StarCoder (Li 等人,2023 年)。我们还用来自数学领域的数据补充了我们的训练 (Azerbayev, Zhangir 等人,2023 年Yu, Longhui 等人,2023 年)。

训练的前 18 种编程语言:- C - CPP - Java - JavaScript - CSS - Go - HTML - Ruby - Rust - Markdown - Shell - Php - Sql - R - Typescript - Python - Jupyter-Clean - RestructuredText

使用和限制

预期用途

该模型旨在用作应用特定微调的基础基模型。开发人员必须评估和微调模型,使其在后续应用中安全地执行。

限制和偏差

​ 作为基模型,该模型可能会表现出不可靠、不安全或其他不希望有的行为,这些行为必须在部署之前通过评估和微调来纠正。预训练数据集可能包含攻击性或不适当的内容,即使在应用数据清理过滤器之后也是如此,这些内容可能会反映在模型生成的文本中。我们建议用户在生产系统中使用这些模型时谨慎行事。如果模型不适合您的应用,或者用于可能对他人造成故意或无意伤害的任何应用,请不要使用它们。

参考文献

Hugging Face