Stable Code 3B 是一個程式碼模型,具有指令 (instruct) 和程式碼完成變體,效能與 Code Llama 7B 等模型相當,但模型大小只有它們的 2.5 倍。

3b

117K 10 months ago

Readme

Stable Code 3B 是一個 30 億參數的大型語言模型 (LLM),能夠實現準確且反應靈敏的程式碼完成,效能與 Code Llama 7b 等模型相當,但模型大小只有它們的 2.5 倍。

主要特色

  • NEW 指令模型 ollama run stable-code
  • Fill in Middle Capability (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 解碼器架構的自迴歸語言模型。
  • 語言: 英文、程式碼
  • 聯絡方式: 如有關於模型的疑問和意見,請發送電子郵件至 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., 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