GPT-4助力打造Genie:新一代頂尖AI工程師誕生

Genie是一款由Anthropic公司開發的人工智能聊天機器人。它能夠進行自然語言對話,回答問題,提供建議,並協助完成各種任務,如寫作、編程和分析等。Genie擁有廣泛的知識儲備,可以在多個領域為用戶提供幫助。

01 Genie是什麼?它能做什麼?

和Devin類似,Genie也可以在人類工程師的指導下自主完成各種編碼任務,包括bug修復、功能構建、程式碼重構,以及通過全面測試進行程式碼驗證。

除了自主運行,Genie也可以與用戶協作。

目前Genie還處在內測階段,可以在官網註冊資訊後申請試用。

Cosine聲稱Genie可以模擬人類工程師的認知過程。

Pullen在博文中解釋說,「我的構想很簡單:讓它觀察人類工程師如何完成工作,並模仿這一過程。」

Genie生成的程式碼儲存在用戶的GitHub repo中,這意味著Cosine不會保留副本,也不會有任何隨之而來的安全風險。

此外,Cosine的軟體平台已經與Slack和系統通知整合,它可以像人類同事那樣,利用系統通知來提醒用戶、提出問題或標記問題。

「Genie還可以向用戶提出澄清性問題,並對其生成的Pull Request(拉取請求)的評論/意見做出回應」。

Pullen表示,「我們正試圖讓Genie表現得像同事一樣,因此讓該模型使用同事的管道是最合理的。」

與OpenAI合作,用上最新GPT-4o

與許多依賴基礎模型並輔以少量工具的模型不同,Genie是通過一個專有流程開發出來的,其中包括訓練和微調來自OpenAI的模型。

Genie剛開始研發時,只能基於上下文視窗相對較小的模型進行微調,其範圍在16-32k token。

團隊在早期探索中發現,即使用超過1 億token的大型資料集,加上設計架構的優點和各種壓縮/分塊方法,也依舊受限於模型在特定時刻能表達的資訊容量。唯一的方法是使用上下文視窗更大的模型。

幸運的是,不久之後他們就獲得了OpenAI長上下文模型的訪問權限,這成為了Genie能力的突破口。

Pullen向VentureBeat透露,「Genie(目前)是一個非通用的GPT-4o變體,OpenAI允許我們訪問並使用他們的模型進行訓練,作為實驗計劃的一部分。」

「該模型表現良好,我們也因此與OpenAI的微調團隊和工程領導層分享了我們的心得。這對我們來說是一個真正的轉折點,因為它說服了他們為我們的新技術投入資源和關注。」

雖然Cosine沒有說明具體型號,但OpenAI最近剛剛宣布了GPT-4o長輸出上下文模型的有限可用性,輸出長度可達64k token,相比最初的4k足足增加了16倍。

訓練資料是關鍵

Pullen在技術報告中寫道,在最近的訓練運行中,Genie接受了數十億token資料的訓練,選擇這些資料的組合是為了讓模型盡可能勝任當前用戶最關心的語言。

Genie的技術報告中列出了訓練資料包含的15種語言,Java、JS、C、C++、C#、Rust、Python等熱門語言,以及常用的Scala、Kotlin、Swift、PHP等也都全部涵蓋。

其中,JavaScript、Python、TypeScript和TSX是資料集中占比最多的語言,其餘的占比均為3%。

Cosine的博文表示,團隊花了近一年的時間整理資料集,包括來自真實工程師的大量軟體開發活動。

獲取並有效利用這些資料是極其困難的,因為從本質上講,這些資料是不存在的。

他們的資料管道從追蹤軟體工程師的開發軌跡開始,收集pull request、commits、來自OSS儲存庫的issue(MIT許可)等資料。

之後在管道中運行這些資料,以取證方式導出推理過程,重建出人類是如何得到最終結論的。

這個專有資料集是第一版模型訓練的基礎,剩下的工作由自我對弈和自我改進完成。

Genie的自主性循環由四個主要過程組成:計劃、檢索、程式碼編寫和程式碼運行。這些本身並不新穎,但由於 Genie被訓練成像人類一樣執行任務,因此有了更大程度的改進。

「資料標註的影響不容低估,從有能力的軟體工程師那裡獲得高品質的資料非常困難,但結果是值得的,因為它讓我們深入了解了開發人員不易被發現的解決問題的思考方式。」

該資料集不僅體現了完美的資訊脈絡和漸進式知識發現,還捕捉到了人類工程師逐步決策的過程。

Pullen斷言,「通過使用這個資料集實際訓練我們的模型,而不是簡單地提示基礎模型(這是其他人正在做的事情),我們發現我們不再只是隨機生成程式碼,而是像人類一樣處理問題。」

基準評估結果

模型開發過程中,團隊主要使用了兩個基準進行評估——SWE-Bench 和 HumanEval。

前者涵蓋的問題比較全面,包括分解問題、找到相關程式碼、對程式碼進行分類並實現可行解決方案;後者更專注於編寫程式碼,沒有檢索方面的內容,並且對問題理解的強調較少。

然而,官方部落格中僅披露了SWE-Bench分數,Genie取得30.08%的成績,SWE-Lite中為50.67%的分數。

其中,Genie在SWE-Bench的表現非常亮眼:這是迄今為止的最高分數,相比第二名的19.27%有超過10%的增幅。

此外,團隊還單獨測試了模型的資訊檢索能力,特別是檢索所需程式碼檔案的正確部分的能力。

這是AI工程師的核心組件之一——如果模型不能可靠且熟練地找到正確的程式碼進行編輯,那麼編輯程式碼的能力也無法得到充分發揮。

假設模型每次都能找到正確程式碼,可以查看模型為完成任務查找了多少行程式碼,以及實際找到的程式碼行數,來簡單地衡量檢索能力。

測試中,Genie成功檢索到了142,338行中所需的91,475行程式碼,得分為64.27%。這裡顯然還有很大的改進空間,而且相較於分解問題能力,檢索能力是關注較少的一個方面。

02 背靠YC,華人牛津碩士帶隊

Cosine是通過矽谷著名的Y Combinator創業加速器成立的。

該公司是一個人類推理實驗室,專注於研究和整理人類執行任務的方式,旨在教會人工智慧模仿、擅長並擴展這些任務。

2022年,Alistair Pullen、Sam Stenner和Yang Li聯合創立了Cosine,將其定位為人類推理實驗室。

他們希望從軟體工程領域開始,研究和整理人類執行任務的方式,從而教會AI模仿、擅長並擴展這些任務,推動智慧的發展。

Cosine已