繼Devin之後,又一個AI軟體工程師被刷屏了——
它叫Genie,號稱目前地表最強,已經可以像人一樣思考和行動了!
那麼這個“地表最強”,到底強到什麼程度?
先來看下評測分數。
在權威榜單SWE-Bench中,Genie以解決了30.07%問題的成績奪得榜首。
(SWE-Bench是一個用來評估大模型解決現實中軟體問題的基準。)
而這個成績可謂是遙遙領先第二名19.27%,解鎖了提升SOTA的最大增幅——57%!
至於Genie的實際效果,用團隊的話來說就是:
它可以做到像人類工程師一樣解決現實生活中的軟體問題。
首先,你可以用4種方式讓Genie開始工作,分別是提示詞、GitHub Issue、Linear Ticket或者API。
以解決GitHub Issue為例,先喂給Genie一個repo的連結,它就開始自動解析問題了:
Genie會自動迭代思考如果想要解決這個問題它都需要那些檔案,直到它覺得找到了自己滿意的為止:
緊接著,它將對問題做一個自動迭代分析的過程:
然後Genie就開始“唰唰唰”地自動寫+跑程式碼了:
如果運行程式碼過程中出現bug,Genie會只針對出問題的地方再重複分析、寫程式碼和運行的過程,直至跑通為止。
而整個過程,僅僅耗時84秒!
用團隊的話來說:
Genie已經觀察並學習人類程式設計師如何解決軟體問題的次數達到了數百萬次。
這是任何一個人類程式設計師一輩子都無法達到的數量。
但更令人意想不到的是,Genie背後的團隊——Cosine,才僅僅5人。
而且CEO Alistair還發文感謝OpenAI:
沒有你們,我們做不出來Genie。
那麼Cosine團隊,究竟是如何打造Genie的呢。
Genie的主要特點,是能夠模仿人類工程師的認知過程、邏輯和工作流。
為做到這一點,Genie團隊透露過去一年收集了一個包含真實人類程式設計師開發活動的資料集。
其中不僅使用了成果分析、靜態分析、自我對弈、逐步驗證等方法,還用到了基於大量標記資料訓練的AI模型。好處是,當基礎模型能力提升時,它們能夠提取的資料質量也會相應提高。
最終Genie使用該專有資料進行訓練。
資料集中編碼了人類推理的完整過程,包括完美的資訊溯源、增量知識發現,還有基於軟體工程師實際工作案例的逐步決策過程。
Genie的推理過程包括規劃、檢索、程式碼編寫和程式碼運行四個主要步驟,突破了其它AI工程師依靠在基礎模型之上新增網頁瀏覽器、程式碼直譯器等額外工具的限制,能夠像人一樣處理多樣化的、高度情境的、前所未見的問題。
這種訓練方法,讓網友們立刻想到,之前Karpathy也提出的類似想法:
對於LLM來說,理想的訓練資料並不是你所寫的內容本身,而是你在寫作過程中的完整思考過程和每一個編輯動作。然而,我們只能盡力利用現有的資源。
除此之外,Genie訓練中還引入了自我改進機制。
初始訓練資料多為可正常運行的沒有錯誤的程式碼,導致Genie導致難以應對錯誤情況。為解決這個問題,團隊使用初代版本的Genie生成包含錯誤的合成資料,然後用這些資料訓練下一版模型。
具體來說,使用舊版本Genie提出解決方案,如果解決方案錯誤,就利用掌握的任務最終狀態來教它從當前狀態達到正確狀態。
不斷重複這一過程,Genie提出的初始解決方案逐漸變得更準確,在多數情況下能直接給出正確答案,即使出錯也只需在資料集中作較少的修正。
Genie能力提升的另一大關鍵,在於OpenAI提供的大模型支援。
團隊表示,最初開發Genie時,只能訪問微調16-32k範圍內的短上下文模型,他們用這些模型進行了大量早期開發,用超1億token的資料訓練模型,雖然發現設計的架構有一定優勢,但從根本上受限於模型在特定時間內可以處理的資訊量。
嘗試了各種壓縮/分塊方法後,唯一的解決方法就是使用更大上下文的模型。
OpenAI提供了長上下文模型支援,最新版本的Genie經過了數十億token的資料訓練。
團隊認為,相比超參數調整和資料量,資料的質量才是關鍵。因此他們還在資料混合方面進行了大量實驗,包括語言、任務類型、任務長度等多個維度,以下是訓練Genie的不同程式語言資料的佔比:
還有不同類型實例的資料佔比:
正如我們在上文提到的,Cosine這個初創團隊人數目前僅僅為5人。
在官網的介紹中,他們也非常直接的將自己形容為:
Small but mighty.
雖小但有力。
從介紹來看,成員有的是從獨角獸企業出身,有的擁有管理全球團隊的經驗,甚至還有從8歲就開始程式設計的。
但Cosine最初成立之際是僅有3人,他們的目標是想把人類推理這件事兒給搞明白。
值得一提的是,團隊成員中還有一位是華人,Yang Li,是Cosine的聯合創始人,在2021年登上過福布斯30 under 30。
除此之外,對於Genie本身,CEO Alistair還表示:
早在2022年我們就開始構想Genie了,但當時從技術角度來說是不可行的。
直到過去半年多來,隨著大模型的逐步成熟,Genie才能走入現實。
嗯,不得不說,大模型又立功了。 (AIGC新智界)