只有 GPT-4 可以自我改進,GPT-3.5 都不行,MIT& 微軟代碼生成實驗新發現
機器之心報道
(相關資料圖)
編輯:趙陽
作為最領先的大模型,GPT-4 有自我糾正生成代碼的能力,結合人類反饋,自我糾正能力還能進一步的提高。
大型語言模型(LLM)已被證明能夠從自然語言中生成代碼片段,但在應對復雜的編碼挑戰,如專業競賽和軟件工程專業面試時,仍面臨巨大的挑戰。最近的研究試圖通過利用自修復來提高模型編碼性能。自修復是指讓模型反思并糾正自己代碼中的錯誤。
下圖 1 顯示了基于自修復方法的典型工作流程。首先,給定一個規范,從代碼生成模型中對程序進行采樣;然后在作為一部分規范提供的一套單元測試上執行程序;如果程序在任一單元測試中失敗,則將錯誤消息和錯誤程序提供給一個反饋生成模型,該模型輸出代碼失敗原因的簡短解釋;最后,反饋被傳遞給修復模型,該模型生成程序的最終固化版本。
從表面上看,這是一個非常有吸引力的想法。這種設計能讓系統克服在解碼過程中由離群樣本引起的錯誤;在修復階段,可以輕松地整合來自編譯器、靜態分析工具和執行引擎等符號系統的反饋,并模仿人類軟件工程師編寫代碼的試錯方式。
然而,自修復需要更多的模型調用,計算成本較高。特別要注意的是,自修復能否奏效,最終歸結為在同等計算性能預算下,是否能從模型中抽取更多代碼樣本,并將其與作為一部分任務提供的單元測試套件進行比較。至關重要的是,自修復的有效性不僅取決于模型生成代碼的能力(文獻中對此進行了廣泛研究),還取決于它識別代碼(由模型本身生成)在任務規范方面是如何出錯的能力。此前沒有任何工作試圖詳細研究這些能力的影響。
本文中,來自 MIT、微軟研究院的研究者在解決競賽級別的代碼生成任務時,使用 GPT-3.5 和 GPT-4 研究自修復的有效性。研究者首先提出一種新的評估策略,稱為 pass@t,其中獲得正確程序的可能性(相對于給定的單元測試)相對于從模型中采樣的 token 總數進行加權。
使用新的評估策略代替傳統的 pass@k 度量(根據試驗次數衡量通過率),研究者能夠準確地將通過自修復獲得的性能與模型在生成反饋和進行修復時所做的任何額外工作進行比較。研究者仔細探究了在一系列超參數下的動態自修復過程。
最后,鑒于研究的主要目標是深入了解最先進的代碼生成模型反思和調試自己代碼的能力,本文進行了一組實驗,單獨研究了改進反饋階段的影響。通過分析使用比代碼生成模型更強的反饋生成模型(使用 GPT-4 為 GPT-3.5 代碼模型生成反饋)的影響,研究者進行了一項研究:讓人類對不正確的程序提供反饋,以便將模型生成的自反饋與人類提供的自反饋進行比較。
論文地址:https://arxiv.org/pdf/2306.09896.pdf從本文的實驗中,研究者有了以下發現:
1. 當考慮進行檢查和修復的成本時,自修復的性能收益只能用 GPT-4 來衡量;對于 GPT-3.5,在所有配置下,修復的通過率低于或等于基線模型 / 無修復方法的通過率。
2. 即使對于 GPT-4,性能提升也是適度的(66% → 71% 的通過率,預算為 7000 個 token,約 45 個獨立同分布(i.i.d.)的 GPT-4 樣本),并同時取決于初始程序是否具有足夠的多樣性。
3. 用 GPT-4 產生的反饋代替 GPT-3.5 對錯誤的解釋,可以獲得更好的自修復性能,甚至超過了基線的無修復 GPT-3.5 方法(50% → 7000token 時為 54%)。
4. 用人類的解釋取代 GPT-4 自己的解釋可以顯著改善修復結果,從而使通過測試的修復程序數量增加 57%。
愛丁堡大學博士生符堯表示:「只有 GPT-4 可以自我改進,而較弱的模型不能,這一發現非常有趣,表明(大模型存在)一種新型的涌現能力(即改進自然語言反饋),可能只有在模型足夠成熟(大而整齊)時才存在。大模型的這種能力在論文《Improving Language Model Negotiation with Self-Play and In-Context Learning from AI Feedback》中也存在過。
只有足夠成熟的模型才能清楚(listen to)并改進自然語言反饋,較弱的模型要么無法理解反饋,要么無法對其進行改進。
我傾向于相信這種涌現能力(通過語言反饋進行自我改進)會對 LLM 研究產生非常重要的影響,因為這意味著 AI 可以在很少的人類監督下不斷自主改進。」
方法自修復概述
如上圖 1 所示,自修復方法包括 4 個階段:代碼生成、代碼執行、反饋生成和代碼修復。接下來正式定義這四個階段。
代碼生成
給定一個規范 ψ,程序模型 M_P 首先生成 n_p 個獨立同分布樣本,研究者將其表示為
代碼執行然后在測試臺上執行這 n_p 個代碼樣本。研究者假設可以訪問可執行形式的全套測試,因此如果任何樣本通過了所有測試,系統就會停止,因為這時已經找到了一個令人滿意的程序。否則,系統將收集執行環境返回的錯誤消息
。這些錯誤消息要么包含編譯 / 運行時錯誤信息,要么包含程序輸出與預期輸出不同的示例輸入。示例如圖 1(組件 3)所示。反饋生成
由于來自執行環境的錯誤消息通常非常高級,因此它們提供的修復信號很少。作為中間步驟,研究者使用反饋模型來更詳細地解釋出了什么問題;示例如圖 1(組件 4)所示。形式上,在這個階段,他們為每個錯誤的程序 p_i 生成 n_f 個反饋字符串
,具體如下所示:有了明確的反饋生成步驟,就可以消融這個組件,獨立地研究它的意義。代碼修復
在最后一步中,對于每個初始程序 p_i 和反饋 f_ij,可以從
采樣 n_r 個候選修復程序:修復樹。研究者將該過程生成的包含文本和程序的樹稱為植根于規范中的 ψ,然后分支到初始程序 p_i,每個初始程序分支到反饋 f_ij,然后對修復樹 r_ijk 進行修復,如下圖所示。注意:聯合采樣反饋和修復。上述通用框架不要求編程模型和反饋模型相同,因此兩個模型可以使用各自的專有模型。然而,當 M_P=M_F 時,研究者在單個 API 調用中聯合生成反饋和修復的程序,因為 GPT-3.5 和 GPT-4 都有在響應中交織文本和代碼的自然傾向。形式上,研究者將其表示為pass@t:通過率與 token 數量的關系由于自修復需要幾個非均勻成本的依賴模型調用,因此 pass@k 這種在 k 個獨立同分布樣本中獲得正確程序的可能性指標,不是用于比較和評估自修復的各種超參數選擇的合適度量。相反,研究者將通過率作為從模型中采樣的 token 總數的函數,稱之為 pass@t。
形式上,假設一個數據集 D={ ψ _d}_d 和超參數(M_P,M_F,n_p,n_f,n_r)的一組選定值。令
表示上文所述對任務 ψ _d 進行采樣的修復樹;令 size(T^i_d)表示修復樹中的程序和反饋 token 的總數;并在當且僅當 T^i_d 至少有一個葉子節點程序滿足規范中的單元測試 ψ _d 時,令 T^i_d |= ψ _d 為真。然后 pass@t 這種超參數選擇的度量被定義為希望通過這種超參數選擇生成的 token 數量時預期通過率:實驗繪制了這兩個量的 bootstrapped estimates(一種統計估計方法,通常用于評估參數估計的不確定性)。為了獲得這些數值,本文首先為每個任務規范生成一個非常大的修復樹,其中:有 N_p ≥ n_p 個初始程序樣本;每個錯誤程序有 N_f ≥ n_f 個反饋字符串;并且每個反饋串有 N_r ≥ n_r 個修復候選。給定(n_p,n_f,n_r)的設置,然后從這個凍結的數據集中對 N_t 個不同的修復樹進行子采樣(帶替換)。最后,本文計算了這 N_t 棵樹上通過率和樹大小的樣本均值和標準差。如此估計 pass@t 大大降低了實驗的計算成本,因為可以重用相同的初始數據集來計算 n_p、n_f 和 n_r 的所有不同選擇的估計。本文所有實驗中,N_p=50,自修復方法中 n_p ≤ 25,基線無修復方法中 n_p ≤ 50。類似地,對于反饋,本文令 N_f=25 和 N_f ≤ 10。對于候選修復,由于本文在大多數實驗中對反饋和修復進行聯合采樣,因此本文設置 N_r=n_r=1。最后,本文對所有設置使用 N_t=1000。
實驗
研究者針對以下問題進行了相關實驗:
(a)在具有挑戰性的編程難題的背景下,對于本文提出的模型,自修復是否比不修復的獨立同分布采樣更好?如果是,在什么超參數下自修復最有效?
(b) 更強的反饋模型會提高模型的修復性能嗎?
(c) 即使是最強的模型,讓人參與提供反饋會帶來更好的修復性能嗎?
本文使用 APPS 數據集評估了這些關于 Python 編程挑戰的疑惑。
自修復需要強大的模型和多樣化的初始樣本
令 M_P=M_F ∈ {GPT-3.5,GPT-4},用于代碼 / 修復生成和反饋生成的是同一個模型。GPT-3.5 的結果見圖 3,GPT-4 的結果見圖 4。
從圖中可以看出,對于 GPT-3.5 模型,pass@t 在所有的 n_p、n_fr 選值中,都低于或等于相應基線(黑線),這清楚地表明自修復不是 GPT-3.5 的有效策略。另一方面,對于 GPT-4,有幾個 n_p、n_fr 值,其自修復的通過率明顯優于基線的通過率。例如,當 n_p=10,n_fr=3 時,通過率從 65% 增加到 70%,當 n_p=25,n_fr=1 時,通過率從 65% 增加至 71%。GPT-4 的反饋改進了 GPT-3.5 自修復能力
接下來,本文進行了一個實驗,在這個實驗中,研究者評估了使用一個單獨的、更強的模型來生成反饋的影響。這是為了檢驗一種假設:即模型無法內省和調試自己本身的代碼,從而阻礙了自修復(尤其是 GPT-3.5)。
該實驗的結果如圖 5 所示(亮藍線)。研究者觀察到,就絕對性能而言,M_P=GPT-3.5,M_F=GPT-4 確實突破了性能障礙,變得比 GPT-3.5 的獨立同分布采樣效率略高。這表明反饋階段至關重要,改進它可以緩解 GPT-3.5 自修復的瓶頸。
人類反饋顯著提高了 GPT-4 自修復的成功率在本文的最后一個實驗中,研究者考慮了在使用 GPT-4 等更強的模型進行修復時使用專業人類程序員的反饋的效果。這項研究的目的不是直接比較人在循環中的方法與自修復方法,因為人在循環方法會帶來更多的認知負擔,而本文沒有對此進行研究。相反,本文的目標是了解模型識別代碼中錯誤的能力與人類相比如何,以及這如何影響自修復的下游性能。因此,該研究對人類反饋對自修復的影響進行了定性和定量分析。
結果總結在表 1 中。我們首先注意到,當我們用人類參與者的調試取代 GPT-4 自己的調試時,總體成功率提高了 1.57 倍以上。也許不足為奇的是,隨著問題變得越來越困難,相對差異也會增加,這表明當任務(和代碼)變得更加復雜時,GPT-4 產生準確和有用反饋的能力遠遠落后于我們的人類參與者。
此外,該研究還定性地分析了人類參與者提供的反饋與 GPT-4 提供的反饋之間的差異。只有 2/80 個人貢獻的反饋字符串包括偽代碼或顯式 Python;也就是說,獲得的幾乎所有人類反饋都是自然語言,偶爾穿插著單語句數學 / 代碼表達式。
GPT-4 的反饋更可能明顯不準確(32/80 與人類反饋的 7/80)。
GPT-4 更可能明確地建議小的變化(54/80 對 42/80;28/48 對 38/73,當看起來正確時),而我們的人類參與者顯示出更大的趨勢來建議高水平的變化(23/80 對 18/80,GPT-4;21/73 對 13/48,當看起來正確時)。
人類參與者有時會表達不確定性(7/80);GPT-4 沒有(0/80)。
進一步的分析表明,表 1 中的結果不是由于人為因素造成的,例如參與者提供了模型簡單復制的顯式代碼塊。相反,性能的差異似乎是由更準確的反饋、在需要時建議對代碼進行高級別、大規模更改的更大能力,以及參與者表達其不確定性的能力(而不是自信地給出潛在的不準確反饋)共同造成的。
THE END
轉載請聯系本公眾號獲得授權
投稿或尋求報道:content@jiqizhixin.com
責任編輯:hnmd003
相關閱讀
相關閱讀
-
只有 GPT-4 可以自我改進,GPT-3.5 都不行,MIT& 微軟代碼生成實驗新發現
機器之心報道編輯:趙陽作為最領先的大模型,GPT-4有自我糾正生成代碼
-
全球訊息:華為在手機上,率先實現本地端自然語言搜圖功能
機器之心原創作者:澤南在手機上用自然語言搜本地相冊圖片,業界首個移
-
Urtopia 推出首款搭載 ChatGPT 的電動自行車 Fusion
品玩7月4日訊,據insideevs報道,Urtopia近日推出一款智能電動自行車Fu
-
「電子果蠅」驚動馬斯克!背后是 13 萬神經元全腦圖譜,可在電腦上運行 環球滾動
腦科學研究又進一大步!來自普林斯頓的科學家最新宣布,他們已經成功創
-
天天短訊!跨境電商三國殺,阿里、拼多多、SHEIN 決戰海外
大佬親自帶隊,阿里、拼多多、SHEIN決戰海外跨境電商的戰況越發膠著了
-
駕駛證怎么查真假?偽造駕駛證怎么處罰?
駕駛證怎么查真假?一、網上查詢首先,準備一個可以上網的電腦或手機。然后打開電腦或手機地瀏覽器,進入...
-
環球焦點!假面騎士Geats:黑九尾情報公開,擁有毀滅世界的力量
最近網上也是公開了最新的關于假面騎士Geats劇場版中黑九尾的相關情報
-
新華每日電訊:千年瓷都成海內外青年“造夢工廠” 每日觀察
新華社南昌電 記者裴劍容高皓亮程迪參與采寫:朱雨諾王奕涵 在江
-
百萬醫療住院都可以報銷嗎?報銷比例是多少?|全球聚焦
根據具體情況而定。百萬醫療保險主要是為了解決高額醫療費用帶來的經濟
-
“藥店四小龍”哪家強?大參林一季度最賺錢,定增30億再擴軍 時快訊
文|記者何秀蘭邁入“萬店時代”,大參林(603233 SH)計劃募資不超過30
-
人保的百萬醫療怎么樣?等待期是多久?
人保百萬醫療作為一款知名的醫療保險產品,備受市場和消費者的信賴。作
-
【全球新視野】品味舍得·江河萬象新限量禮盒套裝上市,舍得酒業以文創精品領跑端午旺季
近年來,隨著國潮興起、文化自信回歸,白酒的文化屬性日益凸顯。以文化
-
【世界聚看點】百萬醫療保險保單怎么查?保單內容有哪些?
要查詢百萬醫療保險的保單信息,首先需要保險持有人掌握保險公司的名稱
-
焦點要聞:百萬醫療需要交多少年?一年多少錢?
根據具體情況而定。如果投保人購買的百萬醫療險的保障期限是1年,那么
-
有五險還用交百萬醫療嗎?二者有什么區別? 環球信息
根據具體情況而定。雖然五險提供了一定程度的醫療保障,但仍有一些限制
-
奇瑞新能源下鄉補貼優惠:小螞蟻、無界Pro車型補貼5000元,QQ冰淇淋補貼1000元_當前熱點
奇瑞新能源下鄉補貼優惠:小螞蟻、無界Pro車型補貼5000元,QQ冰淇淋補
-
關曉彤天然呆奶茶店被強執8.1萬
近日,成都天然呆餐飲管理有限公司新增一則被執行人信息,執行標的8 1
-
腔鏡吻合器龍頭風和醫療沖刺IPO
6月30日,據上交所官網顯示,風和醫療已提交科創板上市。據悉,風和醫
-
堅持異質主機形態,任天堂下一代 Switch 性能直追 PS4
從5月《塞爾達傳說:王國之淚》解禁以來,這一個多月我一直在沉浸在海
-
環球熱文:只要裝了谷歌相機,千元機也能隨手拍大片
618剛剛結束沒多久,相信有不少朋友在大促期間選購了自己心儀的手機,
-
小米對華為鎖屏專利發起無效宣告請求,將于 7 月 21 日口審
鈦媒體App7月4日消息,7月3日,國家知識產權局發布的口審公告顯示,小
-
游戲平臺隱晦封殺 AI 生成內容 Steam 稱無法發布版權不明的游戲_焦點簡訊
財聯社7月4日訊(編輯馬蘭)游戲向來被認為是AI發展的舒適區。5月時,
-
對話 Adobe 首席產品官:深度解讀軟件巨頭 AIGC 轉型路,大象如何轉身?
智東西(公眾號:zhidxcom)編譯|Glu編輯|李水青智東西7月4日消息,據
-
游戲平臺隱晦封殺 AI 生成內容 Steam 稱無法發布版權不明的游戲 全球視訊
財聯社7月4日訊(編輯馬蘭)游戲向來被認為是AI發展的舒適區。5月時,
-
世界訊息:馬斯克 VS 小扎“火藥味”再升級!推特限制瀏覽量 Meta 趁亂推競品
財聯社7月4日訊(編輯黃君芝)近段時間以來,特斯拉首席執行官馬斯克(
-
極氪賣車離不開沃爾沃-天天看點
圖片來源@視覺中國文|陸玖商業評論6月以來,極氪一直站在車圈風口上:
-
天天快訊:銷量跳水、質量問題頻發,讓馬自達“塞車”的可不是梁家輝
本文來源:消費者報道作者:陳梓慶你坐馬自達,怪不得你塞車。梁家輝在
-
《正當防衛》手游官宣取消,體驗版已下架,官方主頁統統關閉
IT之家7月4日消息,日前,SquareEnix負責《正當防衛》系列的全球負責人
-
當前快播:青春光芒點亮“七彩假期” 赤壁市余家橋鄉2023年暑期公益班開班了!
青春光芒點亮“七彩假期”赤壁市余家橋鄉2023年暑期公益班開班了!---
-
上半年百強房企銷售總額同比微增0.1%,平穩發展成企業新目標
上半年百強房企銷售總額同比微增0 1%,平穩發展成企業新目標2023-07-04
精彩推薦
閱讀排行
精彩推送
- cdr高版本轉低版本轉換器_cdr版...
- 最低可采厚度(關于最低可采厚度...
- 焦點熱文:球探報告——阿爾瓦羅...
- 全球快報:百萬醫療是住院就給報...
- 全球熱資訊!百萬醫療的膳食費如...
- 買了重疾還要買百萬醫療嗎?有什...
- 每日快播:百萬醫療轉保是什么意...
- 熱文:眾安百萬醫療保險是什么?...
- 三年虧超百億,負債率再走高,悅...
- 天天時訊:Keep,一個偽裝成健身...
- 微信支付“惹眾怒”漲價背后的焦...
- 互聯網“上四休三”有多難?
- 報道:認知AI治標不治本,叮當健...
- 天天熱門:Instagram計劃推出類似...
- 全球滾動:小鵬汽車6月交付新車8,...
- 華晨寶馬與百度達成戰略合作,將...
- 商業賄賂行為有哪些?如何治理商...
- 商住樓產權年限是多少年?商住樓...
- 身有殘疾的人可以駕駛機動車嗎?...
- 技術服務費是什么意思?技術服務...
- 全球熱點評!?中銀證券:旗下FO...
- 榕樹家宣布旗下中醫診所規模突破...
- 重慶緣生康中醫擬申請知識產權資...
- 崇山生物合成膠原項目獲千萬首輪...
- 高質量發展調研行丨海南儋州:“...
- 房屋租賃營業稅是什么稅種?房屋...
- 報道:馬斯克 VS 小扎“火藥味...
- 榮耀 Magic V2 外觀公布 屏...
- Zucks China & Telecy 攜手...
- 世界熱點評!日媒評論:半導體產...