代碼能力超越GPT-4,這個模型登頂Big Code排行榜,YC創(chuàng)始人點贊
一款號稱代碼能力超越GPT-4的模型,引發(fā)了不少網(wǎng)友的關(guān)注。
準(zhǔn)確率比GPT-4高出超過10%,速度卻接近GPT-3.5,而且窗口長度也更長。
據(jù)開發(fā)者描述,他們的模型取得了74.7%的Pass@1通過率,超過了原始GPT-4的67%,登上了Big Code榜首。
這個模型名叫Phind,和以其為基礎(chǔ)的面向開發(fā)者的AI搜索工具同名。
它是由開發(fā)團(tuán)隊在CodeLlama-34B的基礎(chǔ)之上微調(diào)得到的。
Phind利用TensorRT-LLM在H100上可以跑出每秒100個token的速度,是GPT-4的5倍。
此外,Phind的上下文長度達(dá)到了16k,其中12k可供用戶輸入,另外4k保留給檢索結(jié)果中的文本。
針對這個產(chǎn)品,網(wǎng)友們議論紛紛,結(jié)果是喜憂參半:
支持的人,如著名創(chuàng)業(yè)投資公司YCombinator創(chuàng)始人Paul Graham表示,Phind可以讓人們用更少的資源和大廠抗衡。
也有網(wǎng)友具體列出了Phind的優(yōu)點:
不認(rèn)可Phind的網(wǎng)友則說,自己之前用GPT-4寫的代碼,Phind寫不出來:
更是有人吐槽說,GPT“每天都在被打敗”,但是從來沒被超越過。
有意思的是,在Phind應(yīng)用當(dāng)中,自研模型又被稱作“fast model”,而“best model”仍然是GPT-4。
(雖然沒明說,但是GPT-4和best model的剩余可用次數(shù)是同步變化的)
所以,這個號稱“擊敗了GPT-4”的模型到底是不是真的那么好用,我們進(jìn)行了一番實測。
Phind vs GPT-4
正式開始之前,先來說說對Phind的第一印象。
它的界面十分簡潔,主要就是一個搜索框,而且不需要登錄就能無限量使用。
左下角有一個Pair Programmer的開關(guān),直觀上的區(qū)別就是開啟之后回答界面更側(cè)重對話,不開啟的話則更像搜索引擎。
此外,還可以從自研模型和GPT-4中選擇,GPT-4則需要登錄,而且每天只能用10次。
接下來就是和GPT-4進(jìn)行的對比測試,GPT-4沒有開啟代碼解釋器。
首先還是從LeetCode題目開始測起,Prompt就是是原問題加上下面這段話:
請用Python寫一段代碼解決這個問題,給出通用的解法,不需要設(shè)定參數(shù)值,代碼需要以如下內(nèi)容開頭:
(LeetCode頁面中給出的起始片段)
為了防止Phind通過檢索來“作弊”,我們還在Phind的Prompt結(jié)尾加入了這句話:
不要檢索任何信息,靠你自己的能力創(chuàng)建代碼
第一題在LeetCode中被歸為組合數(shù)學(xué)問題,難度為困難,通過率67.1%。
Phind給出了這樣的代碼和解釋,經(jīng)過測試,20條測試數(shù)據(jù)中有19項正確。
出錯的是這一條,這里的輸出結(jié)果應(yīng)該是3,但Phind給出的程序運(yùn)行結(jié)果是4。
我們試著反饋給Phind,看它能不能找出錯誤的原因,結(jié)果分析一番之后給出了新的代碼,并通過了測試。
而GPT-4這邊,則是一次性通過。
進(jìn)入下一題,這道題目涉及到了動態(tài)規(guī)劃,通過率為53.9%。
這次Phind和GPT-4都是以一次通過。
第三道題目的通過率只有約30%,但它的難度可能在于用來判題的測試數(shù)據(jù)太龐大了。
Phind給出的這段代碼就在通過前12組測試數(shù)據(jù)之后出現(xiàn)了運(yùn)行時間超限的現(xiàn)象。
我們讓它試著進(jìn)行優(yōu)化,結(jié)果這次直接是算不對了。
而GPT-4則輕松解決,不過在解釋說明部分有些錯誤,因為超級回文數(shù)的概念中的描述是“回文數(shù)的平方”而不是“平方是回文數(shù)”。
三道LeetCode題目測試下來,Phind以一平兩負(fù)的成績輸給了GPT-4。
但需要說明的是,這里我們?yōu)榱藴y試模型本身表現(xiàn),通過提示詞關(guān)閉了Phind的檢索功能,但從實用角度出發(fā),如果保留搜索,Phind還是能很好地解決這些問題的。
接著,我們又測試了一下他們的實際開發(fā)能力,這次的題目是掃雷游戲。
Phind會問我們有沒有什么特殊要求,這里我們直接點跳過。
然后Phind會對任務(wù)進(jìn)行拆解,對每個子任務(wù)又分別進(jìn)行檢索。
這時的代碼也是分段給出的,有趣的是,在生成過程中,Phind會使用不同來源中的代碼。
然后我們讓Phind給出完整代碼,并通過鏈接的第三方平臺直接運(yùn)行。
結(jié)果呢,我們一進(jìn)去就看到程序已經(jīng)非?!百N心”地把雷的位置清楚地標(biāo)注好了。
不過這次,GPT-4的代碼更加離譜一些,運(yùn)行出來是這樣的:
雖然都沒做對,但硬要比較的話,這一輪,Phind略勝一籌。
一路測試下來,很難判斷它們孰優(yōu)孰劣,但考慮到搜索能力,以及免費(fèi)免登錄的特性,Phind還是可圈可點的。
參考鏈接:
https://www.phind.com/blog/phind-model-beats-gpt4-fast。