- +1
Stability AI進軍編程領(lǐng)域,發(fā)布工具StableCode
撰文:Sean Michael Kerner
來源:VentureBeat
Stability AI 因其 Stable Diffusion 文本到圖像生成模型而聞名,但這并不是這家生成式人工智能初創(chuàng)公司有興趣開發(fā)的全部。Stability AI 正在涉足代碼生成領(lǐng)域。
8 月 8 日,Stability AI 宣布首次公開發(fā)布 StableCode,這是其新的開放式大型語言模型(LLM),旨在幫助用戶生成編程語言代碼。StableCode 有三個不同級別:適用于一般用例的基礎(chǔ)模型、指令模型和可支持多達 16000 個 token 的長上下文窗口模型。

圖源:Stability AI (Stability AI 與其他具有類似參數(shù)數(shù)量和訓練過的 token 數(shù)量的模型的比較。Stability AI 使用流行的 HumanEval 基準,采用標準的 pass@1 和 pass@10 指標。)?
StableCode 模型得益于來自開源 BigCode? 項目的初始編程語言數(shù)據(jù)集,以及 Stability AI 提供的額外過濾和微調(diào)。最初,StableCode 將支持 Python、Go、Java、JavaScript、C、Markdown 和 C++ 編程語言的開發(fā)。
Stability AI 研究主管 Christian Laforte 在接受 VentureBeat 獨家采訪時說:“我們希望利用這種模型做與 Stable Diffusion 類似的事情,而后者旨在幫助世界上的每個人成為藝術(shù)家。”“我們想用 StableCode 模式做同樣的事情:基本上讓任何有好想法的人都能寫出一個程序來解決這個問題。”
StableCode:建立在 BigCode 和大創(chuàng)意之上
任何 LLM 的訓練都依賴于數(shù)據(jù),而對于 StableCode 來說,這些數(shù)據(jù)來自 BigCode 項目。使用 BigCode 作為 LLM 生成式人工智能代碼工具的基礎(chǔ)并不是一個新想法。HuggingFace 和 ServiceNow 早在今年 5 月就推出了開放式 StarCoder LLM?,其基礎(chǔ)就是 BigCode。
Stability AI 首席研究科學家 Nathan Cooper 在接受 VentureBeat 獨家采訪時解釋說,StableCode 的訓練涉及對 BigCode 數(shù)據(jù)的大量過濾和清理。
“我們很喜歡 BigCode,他們在數(shù)據(jù)治理、模型治理和模型訓練方面做了很多了不起的工作,“Cooper 說。”我們采用了他們的數(shù)據(jù)集,并應用了額外的質(zhì)量過濾器,還構(gòu)建了大上下文窗口版本的模型,然后在我們的集群上進行了訓練。”
Cooper 說,除了 BigCode 核心模型之外,Stability AI 還執(zhí)行了許多訓練步驟。這些步驟包括對特定編程語言的連續(xù)訓練。根據(jù)官網(wǎng)描述,StableCode 在其高性能計算集群上,用 5600 億代碼 token 對模型進行了訓練。
“它采用了一種與自然語言?領(lǐng)域非常相似的方法,即首先對通用模型進行預訓練,然后在一組特殊的任務上對其進行微調(diào),在這種情況下就是對語言進行微調(diào)。”Cooper 說。
StableCode 更長的 token 長度將改變代碼生成的游戲規(guī)則
除了 BigCode 基礎(chǔ)之外,StableCode 的長上下文版本還能為用戶帶來帶來顯著的好處。
StableCode 的長上下文窗口版本具有 16,000 個 token 的上下文窗口,Stability AI 稱這比其他任何模型都要大。Cooper 解釋說,較長的上下文窗口可以使用更專業(yè)、更復雜的代碼生成提示。這也意味著用戶可以讓 StableCode 查看包含多個文件的中等規(guī)模代碼庫,以幫助理解和生成新代碼。
Cooper 說:“你可以使用這個較長的上下文窗口,讓模型更多地了解你的代碼庫,以及其他文件中定義了哪些功能。”“這樣,當它提出代碼建議時,就能更符合你的代碼庫和需求。”
利用 RoPE 更好地生成代碼
與所有現(xiàn)代人工智能生成模型一樣,StableCode 也是基于 transformer 神經(jīng)網(wǎng)絡。
StableCode 沒有使用 ALiBi(Attention with Linear Biases)方法來定位 transformer 模型中的輸出(StarCoder 在其開放式生成式人工智能編碼模型中使用了這種方法),而是使用了一種稱為 RoPE 的方法。
Cooper 說,transformer 模型中的 ALiBi 方法傾向于更多地權(quán)衡當前的 token,而不是過去的 token。在他看來,這對代碼來說并不是一種理想的方法,因為與自然語言不同,代碼并沒有一個具有開頭、中間和結(jié)尾的固定敘事結(jié)構(gòu)。代碼功能可以為應用流程中的任何一點進行定義。
“我認為,代碼本身并不適合這種權(quán)衡現(xiàn)在比過去更重要的想法,所以我們使用……RoPE,[它] 不存在這種偏見。”
目前,StableCode 還處于早期階段,首次發(fā)布的目標是了解開發(fā)人員將如何接受和使用該模型。
Cooper 說:“我們將與社區(qū)進行互動和合作,看看他們會提出哪些很酷的方向,并探索生成式開發(fā)者空間。”
本文為澎湃號作者或機構(gòu)在澎湃新聞上傳并發(fā)布,僅代表該作者或機構(gòu)觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發(fā)布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。





- 報料熱線: 021-962866
- 報料郵箱: news@thepaper.cn
互聯(lián)網(wǎng)新聞信息服務許可證:31120170006
增值電信業(yè)務經(jīng)營許可證:滬B2-2017116
? 2014-2025 上海東方報業(yè)有限公司