蕭簫 發自 凹非寺

量子位 | 公眾號

用寫代碼,已經是不少程序員的常規操作了。

工作代碼用chatgpt_南大傲拓plc編程說明_降息是不是降基準利率

△“至少提速3~5倍”

但你有沒有想過,生成的代碼,有不少只是“看起來準確”而已?

來自伊利諾伊大學香檳分校和南京大學的一項最新研究表明:

和GPT-4生成代碼的準確率,比之前評估的至少要降低13%!

工作代碼用chatgpt_降息是不是降基準利率_南大傲拓plc編程說明

有網友感嘆,太多ML論文都在用一些有問題或有局限性的基準來評估模型,來短暫地達到“SOTA”,結果換個測評方法就現出原形了。

工作代碼用chatgpt_南大傲拓plc編程說明_降息是不是降基準利率

還有網友表示,這也說明大模型生成的代碼仍然需要人工監督,“AI寫代碼的黃金時間還沒到呢”。

降息是不是降基準利率_南大傲拓plc編程說明_工作代碼用chatgpt

所以,論文提出了一種怎樣的新測評方法?

給AI代碼考題加大難度

這個新方法名叫,是一個自動化代碼評估框架。

具體來說,它會通過改進現有評估數據集的輸入多樣性和問題描述準確性,來將這些評估基準變得更嚴格。

一方面是輸入多樣性。會先根據標準答案,用生成一些種子輸入樣例(雖然要測的編程能力,但用它生成種子輸入似乎也不矛盾doge)

隨后,用改進這些種子輸入,將它們改得更難、更復雜、更刁鉆。

另一方面是問題描述準確性。會將代碼需求描述改得更精確,在約束輸入條件的同時,補充自然語言問題描述,以提高對模型輸出的精確度要求。

工作代碼用chatgpt_南大傲拓plc編程說明_降息是不是降基準利率

這里,論文選擇了數據集作為示范。

是和 AI一起制作的代碼數據集,包含164個原創編程題,涉及語言理解、算法、數學和軟件面試幾種類型的題目。

會通過改進這類數據集的輸入類型和功能描述,讓編程問題看起來更清晰,同時用于測試的輸入更“刁鉆”或是更困難。

以其中的一道求并集編程題為例,要求AI寫一段代碼,找出兩個數據列表中的共同元素,并給這些元素排序。

用它來測測寫的代碼準確度。

首先用幾個簡單輸入進行測試,發現能輸出正確答案。但如果換個輸入,就找出了版代碼的bug:

工作代碼用chatgpt_降息是不是降基準利率_南大傲拓plc編程說明

屬實是給AI們加大了考題難度。

工作代碼用chatgpt_南大傲拓plc編程說明_降息是不是降基準利率

基于這套方法,還做了一個改進版+數據集,增加輸入的同時,修正了一些里面答案就有問題的編程題。

降息是不是降基準利率_工作代碼用chatgpt_南大傲拓plc編程說明

那么,在這套“新考題”下工作代碼用chatgpt,大語言模型們的準確率實際上要打幾折?

LLM代碼準確率平均降低15%

作者們測試了當前比較受歡迎的10種代碼生成AI。

GPT-4、、、、、、GPT-J、GPT-NEO、、-α。

從表格中來看,經過嚴格測試后,這群AI的生成準確率都有所下降:

降息是不是降基準利率_工作代碼用chatgpt_南大傲拓plc編程說明

這里會通過一種名叫pass@k的方法評估準確率,其中k是允許大模型給問題生成的程序數量,n是用于測試的輸入數量,c是正確的輸入數量:

降息是不是降基準利率_南大傲拓plc編程說明_工作代碼用chatgpt

根據新的這套評估標準,大模型們的準確率平均下降了15%,其中比較廣泛研究的-16B更是下降了超過18%。

至于和GPT-4生成代碼的性能,也下降了至少13%。

不過,也有網友表示工作代碼用chatgpt,大模型生成的代碼效果沒那么好,已經是“眾所周知的事實”了,需要研究的是“為什么大模型寫的代碼不能用”。

工作代碼用chatgpt_降息是不是降基準利率_南大傲拓plc編程說明

作者介紹

共同一作 Liu,伊利諾伊大學香檳分校二年級博士生,研究興趣是編程系統和深度學習。

共同一作 Xia,伊利諾伊大學香檳分校二年級博士生工作代碼用chatgpt,本科畢業于多倫多大學,研究興趣是機器學習和軟件工程的交叉領域。

王宇峣( Wang),南京大學計算機科學大三學生,研究興趣是計算機系統的準確性、可編程性和性能。

,伊利諾伊大學香檳分校副教授,研究方向是軟件工程及其與機器學習、編程語言和形式化方法( )的協同作用。

論文地址:

代碼地址:

— 完 —

量子位 · 頭條號簽約

免責聲明:本文系轉載,版權歸原作者所有;旨在傳遞信息,不代表本站的觀點和立場和對其真實性負責。如需轉載,請聯系原作者。如果來源標注有誤或侵犯了您的合法權益或者其他問題不想在本站發布,來信即刪。