上下文窗口1.6萬token、30億參數,Stability Al代碼大模型來了
近日,開源了文生圖神器 Stable Diffusion 的 Stability Al 又發布了新的大模型 ——StableCode,其首個用于編碼的生成式 AI 大模型。Stability Al 對它的描述是「革命性的」。
據介紹,StableCode 旨在幫助程序員處理日常工作,同時為新手開發者提供了一個很好的學習工具,讓他們的技能更上一層樓。

官博地址:https://stability.ai/blog/stablecode-llm-generative-ai-coding
對于 StableCode,網友的期許很高,表示真的需要將整個代碼庫作為上下文的代碼大模型。

三大版本:基礎、指令、長上下文窗口模型
StableCode 通過三個不同版本的模型來幫助開發者變得更加高效。其中基礎模型為「StableCode-Completion-Alpha-3B-4K」,它是一個 30 億參數的僅使用解碼器的代碼補全模型。
該基礎模型在來自 BigCode stack 數據集的各種編程語言上進行了預訓練,并對 Python、Go、Java、Javascript、C、markdown 和 C++ 等流行編程語言進行了針對性訓練。總的來說,StableCode 在 HPC 集群上進行 5600 億 token 代碼的訓練。
這里的 BigCode 是 2022 年 9 月 HuggingFace 與 ServiceNow Research 聯合發起的一個代碼大模型項目,旨在圍繞 AI 代碼生成工具建立一個開放社區并開發大語言模型代碼。

Huggingface:https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k
在基礎模型的基礎上,針對特定用例進行調整的指令模型「StableCode-Instruct-Alpha-3B」幫助解決復雜的編程任務。該模型同樣是 30 億參數的僅使用解碼器的指令調整代碼模型,在 stackoverflow 開發者調查報告中排名靠前的編程語言上進行了預訓練。
同時在基礎模型上對 Alpaca 格式的約 12 萬個代碼指令 - 響應對進行了訓練。下圖為使用 StableCode 指令模型為給定指令生成響應的代碼示例。

Huggingface 地址:https://huggingface.co/stabilityai/stablecode-instruct-alpha-3b
對于想要學習更多編碼技能的人來說,StableCode 是理想的構建塊。長上下文窗口模型「StableCode-Completion-Alpha-3B」可稱得上完美的助手,確保用戶使用單行和多行自動代碼補全建議。
該模型也是 30 億參數的僅使用解碼器的代碼補全模型,在 2023 年 stackoverflow 開發者調查報告中最多使用的編程語言上進行了預訓練。
與以往發布的開源模型相比,該模型的上下文窗口達到了 16000 token(比任何其他模型都大),一次性可以處理的代碼更多,是以往的 2-4 倍。這使得用戶可以查看或編輯五個中等大小的 Python 文件,成為新手的理想學習工具。
如下圖所示,StableCode 利用 Pytorch 深度學習庫補全了一個比較復雜的 Python 文件,其中灰色代碼為 StableCode 的預測結果。

Huggingface 地址:https://huggingface.co/stabilityai/stablecode-completion-alpha-3b
同級別模型比較結果
下表為 StableCode 三個版本模型的基準分數。

StableCode 還與類似參數量和 token 數量的同級別模型(30 億參數)進行比較,其中在流行的 HumanEval 基準上使用了 pass@1 和 pass@10 指標。
從下圖可以看到,在與 replit-coder(AI 編程獨角獸 Replit 推出)、starcoderbase 的比較中,StableCode 的 pass@1 強于 replit-coder 弱于 starcoderbase、pass@10 強于兩者。

原文鏈接:https://stability.ai/blog/stablecode-llm-generative-ai-coding

































