Stable Code 3B 是一個程式碼模型,具有指令 (instruct) 和程式碼完成變體,效能與 Code Llama 7B 等模型相當,但模型大小只有它們的 2.5 倍。
117K Pulls Updated 10 months ago
Updated 10 months ago
10 months ago
d7e1f3aa3424 · 1.4GB
Readme
Stable Code 3B 是一個 30 億參數的大型語言模型 (LLM),能夠實現準確且反應靈敏的程式碼完成,效能與 Code Llama 7b 等模型相當,但模型大小只有它們的 2.5 倍。
主要特色
- NEW 指令模型
ollama run stable-code
- Fill in Middle Capability (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 解碼器架構的自迴歸語言模型。
- 語言: 英文、程式碼
- 聯絡方式: 如有關於模型的疑問和意見,請發送電子郵件至
lm@stability.ai
模型架構
該模型是一個僅解碼器的 transformer,類似於 LLaMA (Touvron et al., 2023) 架構,但有以下修改
參數 | 隱藏層大小 | 層數 | 頭數 | 序列長度 |
---|---|---|---|---|
2,796,431,360 | 2560 | 32 | 32 | 16384 |
- 位置嵌入: 旋轉位置嵌入 (Su et al., 2021) 應用於前 25% 的頭部嵌入維度,以提高吞吐量,遵循 Black et al. (2022)。
- Tokenizer: 我們使用 GPTNeoX Tokenizer 的修改版本。
NeoX
。我們添加了特殊 tokens 來訓練中段填充 (FIM) 功能,例如<FIM_PREFIX>
和<FIM_SUFFIX>
,以及其他特殊 tokens。
訓練
訓練資料集
該資料集由 HuggingFace Hub 上提供的過濾後的開放原始碼大型資料集混合而成:Falcon RefinedWeb 提取物 (Penedo et al., 2023)、CommitPackFT (CommitPackFT) 和 Github Issues (Github Issues) (BigCode., 2023) 以及 StarCoder (Li et al., 2023)。我們還使用來自數學領域的資料來補充我們的訓練 (Azerbayev, Zhangir, et al., 2023 和 Yu, Longhui, et al., 2023)。
訓練的前 18 種程式語言:- C - CPP - Java - JavaScript - CSS - Go - HTML - Ruby - Rust - Markdown - Shell - Php - Sql - R - Typescript - Python - Jupyter-Clean - RestructuredText
使用和限制
預期用途
該模型旨在用作特定應用程式微調的基礎模型。開發人員必須評估和微調模型,以確保在下游應用程式中的安全效能。
限制和偏見
作為基礎模型,此模型可能會表現出不可靠、不安全或其他不良行為,必須在部署前透過評估和微調來糾正。即使在應用資料清理過濾器後,預訓練資料集中仍可能包含冒犯性或不當內容,這可能會反映在模型產生的文字中。我們建議使用者在生產系統中使用這些模型時謹慎行事。如果模型不適合您的應用程式,或任何可能對他人造成故意或非故意傷害的應用程式,請勿使用這些模型。