先程式式碼生成技術的開發:Stability AI 公開發布 StableCode 模型
概述
由於 Stability AI 在文字到影象生成模型上的穩定擴散聞名,不過這家創新人工智慧新創公司對於程式碼生成也有濃厚的興趣。近日 Stability AI 宣布了其新的開放式大型語言模型(LLM)StableCode 的首個公開版本,旨在幫助使用者生成程式語言程式碼。StableCode 將提供三個不同版本:通用用例基本模型、指令模型和長背景視窗模型,支援最多 16,000 個標記。StableCode 的初始程式語言資料來自開源專案 BigCode,並經過 Stability AI 的進一步篩選和微調。最初,StableCode 將支援 Python、Go、Java、JavaScript、C、Markdown 和 C++等程式語言的開發。
StableCode:基於 BigCode 和巨大創意的結合
任何 LLM 的培訓都依賴於資料,對於 StableCode 而言,資料來自 BigCode 專案。將 BigCode 作為 LLM 生成人工智慧程式碼工具的基礎並不是一個新主意。HuggingFace 和 ServiceNow 於 5 月份推出了開放式 StarCoder LLM,其基礎基本上是 BigCode。Stability AI 首席研究員 Christian Laforte 在接受 VentureBeat 獨家訪談時表示:“我們喜歡 BigCode,他們在資料治理、模型治理和模型培訓方面做了很出色的工作。我們使用了他們的資料集,並對其進行了額外的過濾,以構建模型的大背景視窗版本,然後在我們的叢集上對其進行了培訓。”Stability AI 還對 BigCode 模型的培訓進行了一些與核心模型不同的培訓步驟,包括針對具體程式語言的連續培訓。
StableCode 的長標記長度:在程式碼生成中的助力
StableCode 的大背景視窗版本具有 16,000 個標記的背景視窗,Stability AI 聲稱這比任何其他模型都要大。Stability AI 的首席研究科學家 Nathan Cooper 在接受 VentureBeat 獨家訪談時解釋說,更長的背景視窗使得可以使用更專業和複雜的程式碼生成提示。這還意味著使用者可以讓 StableCode 檢視包含多個檔案的中等大小的程式碼庫,以幫助理解和生成新的程式碼。Cooper 表示:“您可以使用這個更長的背景視窗讓模型更多地理解您的程式碼庫以及在其他檔案中定義了哪些其他函數。因此當它建議程式碼時,可以更適應您的程式碼庫和需求。”
使用旋轉位置嵌入(RoPE)改善程式碼生成
與現代所有生成型人工智慧模型一樣,StableCode 基於變壓器神經網路。StableCode 不同於用於 StarCoder 的生成型人工智慧模型的 ALiBi(帶有線性偏差的注意)方法,而是使用了一種稱為旋轉位置嵌入(RoPE)的方法。Cooper 表示在變壓器模型中使用 ALiBi 方法往往會給當前標記賦予比過去標記更重的權重。在 Cooper 看來,這對於程式碼來說並不是理想的方法,因為與自然語言不同,程式碼並沒有固定的敘事結構,有著開始、中間和結尾。程式碼功能可以定義在應用程式流程的任何點上。Cooper 表示:“我認為,程式碼本身並不適合這種將當前標記視為比過去標記更重要的想法,因此我們使用了旋轉位置嵌入(RoPE)方法,這種方法不會對當前標記比過去標記賦予更多的權重。”
展望:
雖然 StableCode 尚處於早期階段,但其初步版本的目標是看開發人員如何接受和使用該模型。Cooper 表示:“我們將與社區進行交流和合作,看他們提出什麼有趣的方向,並探索生成型開發者領域。”
延伸閱讀
- 資料科技公司 Daloopa 開發 AI 以自動化財務分析工作
- 今年的 Met Gala 主題是 AI 極深假裝
- Y Combinator 幫助醫療記錄 AI 新創 Hona 募得 300 萬美元 的故事
- Pinterest AI 打造的拼貼圖比單張針腳更吸睛
- Atlassian 推出新的 AI 同事 Rovo
- 三星的營運利潤飆升 930%,AI 動能帶動記憶晶片需求
- GitHub 推出 Copilot Workspace:AI 驅動的軟體工程空間
- 「馬斯克的 xAI 示範 AI 新創公司的龐大市場潛力」
- 照片分享社群 EyeEm 將許可使用者的照片以訓練 AI,如果使用者不刪除照片
- 英偉達收購 AI 工作負載管理新創公司 Run:ai