Stable Code 3B 是一個程式碼模型,其指令 (instruct) 和程式碼補全變體與 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 解碼器架構的自迴歸語言模型。
  • 語言:英文、程式碼
  • 聯絡方式:若對模型有任何疑問或意見,請寄送電子郵件至 lm@stability.ai

模型架構

此模型為僅解碼器 (decoder-only) 的 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),以及 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