- +1
Stability AI進(jìn)軍編程領(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ǔ)模型、指令模型和可支持多達(dá) 16000 個 token 的長上下文窗口模型。

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





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




