自述文件
Stable Code 3B是一个拥有30亿参数的大型语言模型(LLM),能够提供准确且及时的代码补全,其性能与规模大2.5倍的Code Llama 7B等模型不相上下。
主要功能
- 新增 指令模型 `ollama run stable-code`
- 中间填充能力 (FIM)
- 支持长上下文,使用高达16,384的序列进行训练
模型 | 大小 | 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
。我们添加了特殊标记来训练中间填充(FIM)能力,例如<FIM_PREFIX>
和<FIM_SUFFIX>
以及其他特殊标记。
训练
训练数据集
该数据集包含从HuggingFace Hub上获取的经过过滤的混合大型开源数据集:Falcon RefinedWeb提取物(Penedo et al., 2023),以及CommitPackFT和Github Issues(BigCode., 2023),和StarCoder(Li et al., 2023)。我们还补充了来自数学领域的数据(Azerbayev, Zhangir, et al., 2023和Yu, Longhui, et al., 2023)。
训练的十大编程语言:C、C++、Java、JavaScript、CSS、Go、HTML、Ruby、Rust、Markdown、Shell、PHP、SQL、R、TypeScript、Python、Jupyter-Clean、RestructuredText
使用和局限性
预期用途
该模型旨在用作应用特定微调的基础模型。开发人员必须评估和微调模型,以确保其在后续应用中的安全性能。
局限性和偏差
作为基础模型,此模型可能表现出不可靠、不安全或其他不良行为,必须通过评估和微调才能在部署前纠正。预训练数据集可能包含攻击性或不当内容,即使应用了数据清洗过滤器,这些内容也可能反映在模型生成的文本中。我们建议用户在生产系统中使用这些模型时要谨慎。如果这些模型不适合您的应用,或者用于可能对他人造成故意或非故意伤害的任何应用,请勿使用这些模型。