Stable Code 3B 是一个 30 亿参数的编码模型,其指令和代码补全变体与 Code Llama 7B 等模型相当,但模型体积仅为其 2.5 倍。

3b

117K 10 个月前

自述文件

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 et al., 2023) 架构,并进行了以下修改

参数 隐藏层大小 层数 头数 序列长度
2,796,431,360 2560 32 32 16384
  • 位置嵌入: 旋转位置嵌入 (Su et al., 2021) 应用于头部嵌入维度的前 25%,以提高吞吐量,遵循 Black et al. (2022)
  • 分词器: 我们使用了 GPTNeoX 分词器的修改版本。NeoX。我们添加了特殊 tokens 以训练中间填充 (FIM) 能力,例如 <FIM_PREFIX><FIM_SUFFIX> 以及其他特殊 tokens。

训练

训练数据集

数据集由 HuggingFace Hub 上提供的开源大型数据集的过滤混合物组成:Falcon RefinedWeb extract (Penedo et al., 2023)、CommitPackFT 和 Github Issues (CommitPackFTGithub Issues) (BigCode., 2023) 以及 StarCoder (Li et al., 2023)。我们还使用来自数学领域的数据 (Azerbayev, Zhangir, et al., 2023Yu, Longhui, et al., 2023) 进一步补充了我们的训练。

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

使用与限制

预期用途

该模型旨在用作应用程序特定微调的基础模型。开发人员必须评估和微调模型,以确保在下游应用程序中的安全性能。

限制与偏见

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

参考

Hugging Face