今天,我們宣布我們 2024 年的第一個大型語言模型發布:Stable Code 3B。這個新的LLM是我們之前發布的Stable Code Alpha 3B的後續版本,也是第一個主要的 Stable Code 發布,提供了一個新的最先進的模型,專為代碼自動完成而設計,並具有多個額外的功能。
與 CodeLLaMA 7b 相比,Stable Code 3B 的大小減少了 60%,同時在各種編程語言中具有類似的高水準性能。基於我們預先存在的 Stable LM 3B 基礎模型,該模型是通過對 4 兆標記的自然語言數據進行訓練而得到的。Stable Code 進一步在軟件工程特定數據上進行了訓練,包括代碼。該模型的緊湊尺寸使其能夠在現代筆記本電腦上實時在邊緣設備上私下運行,即使是沒有專用 GPU 的筆記本電腦也可以。
穩定代碼 3B 提供了更多功能,並在多種語言中具有顯著更好的性能,同時還具有額外的好處,例如支持填充中間功能(FIM)和擴展的上下文大小。穩定代碼作為基礎是在長達16,384個標記的序列上進行訓練的,但採用了與 CodeLlama 類似的方法,實珽了旋轉嵌入,可選地允許將旋轉基底修改為高達1,000,000,進一步擴展模型的上下文長度,最多可達100,000個標記。
Stable Code 是基於 18 種程式語言進行訓練的(根據 2023 StackOverflow 開發者調查 選擇),並在多種程式語言的 MultiPL-E 指標上展現了與相似大小模型相比的最新性能。
性能比較
穩定的代碼完成 3B 與 CodeLLama 7B 的並排比較
培訓見解
我們的訓練流程包括一個類似於 Codellama 的多階段過程。我們首先使用在自然語言數據上預訓練的 LM,這種情況下是 StableLM-3B-4e1t,接著進行無監督的精細調整,使用多個程式碼和程式碼相關數據集,包括 CommitPack、GitHub Issues、StarCoder 和其他數學數據集。在第二步,我們使用 CodeLLama 建議的基本修改進一步對模型進行長序列(16,384 個標記)的精細調整。新的穩定程式碼模型還支持 Flash Attention 2,並可供使用。
更多有關數據和模型的相關資料,請參閱我們的model card。我們將發布一份包含額外細節和消融實驗的完整技術報告,以更加透明和開放地與社區交流。
商業應用
通過訂閱我們的通訊,隨時了解我們的進展,並通過在這裡與我們聯繫,了解更多商業應用信息。
在 Twitter、Instagram、LinkedIn 上關注我們,並加入我們的 Discord 社群。