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

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





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




