微軟新工具準(zhǔn)確率達(dá)80%,程序員:真的栓 Q
微軟宣布推出一種可以提高大型語(yǔ)言模型性能的新工具Jigsaw?!按笮偷念A(yù)訓(xùn)練語(yǔ)言模型(如GPT-3、Codex等),可以被調(diào)整為從程序員意圖的自然語(yǔ)言規(guī)范中生成代碼。這種自動(dòng)化模型有可能提高世界上每個(gè)程序員的生產(chǎn)力;但是,由于這些模型可能難以理解程序語(yǔ)義,因此所生成的代碼的質(zhì)量不能得到保證。”
根據(jù)介紹,Jigsaw部署了理解程序語(yǔ)法和語(yǔ)義的后處理技術(shù),然后利用用戶(hù)反饋來(lái)提高未來(lái)的性能;該工具旨在使用多模式輸入為PythonPandasAPI合成代碼。Pandas是數(shù)據(jù)科學(xué)中廣泛使用的API,具有數(shù)百個(gè)用于manipulatingdataframes或具有行和列的表的函數(shù)。
微軟方面稱(chēng),其經(jīng)驗(yàn)表明,隨著這些大型語(yǔ)言模型演變?yōu)楦鶕?jù)意圖合成代碼,Jigsaw可以在提高系統(tǒng)準(zhǔn)確性方面發(fā)揮重要作用。
像OpenAI的Codex這樣的大型語(yǔ)言模型正在重新定義編程領(lǐng)域。軟件開(kāi)發(fā)人員在解決編程任務(wù)時(shí),可以為預(yù)期的代碼片段提供英文描述,Codex可以用Python或JavaScript等語(yǔ)言合成預(yù)期的代碼。但合成的代碼可能不正確,甚至可能無(wú)法編譯或運(yùn)行。Codex用戶(hù)有責(zé)任在使用代碼之前對(duì)其進(jìn)行審查。Jigsaw團(tuán)隊(duì)解釋稱(chēng),通過(guò)ProjectJigsaw,其目標(biāo)是使部分審查自動(dòng)化,以提高使用Codex等大型語(yǔ)言模型進(jìn)行代碼合成的開(kāi)發(fā)人員的生產(chǎn)力。
微軟認(rèn)為Jigsaw可以“完全自動(dòng)化”檢查代碼是否編譯、處理錯(cuò)誤信息以及測(cè)試代碼是否產(chǎn)生開(kāi)發(fā)人員希望輸出的內(nèi)容的整個(gè)過(guò)程?!癑igsaw將預(yù)期代碼的英文描述以及I/O實(shí)例作為輸入。通過(guò)這種方式,它將輸入與相關(guān)的輸出配對(duì);并提供質(zhì)量保證,即輸出的Python代碼將在提供的輸入上編譯并產(chǎn)生預(yù)期的輸出。
”在其ICSE2022論文Jigsaw:LargeLanguageModelsmeetProgramSynthesis中,微軟方面在PythonPandas上評(píng)估了這種方法。使用Jigsaw,用戶(hù)可以提供對(duì)預(yù)期轉(zhuǎn)換的英文描述、inputdataframe和相應(yīng)的outputdataframe,然后讓Jigsaw合成預(yù)期代碼。
Jigsaw獲取英語(yǔ)查詢(xún)并使用適當(dāng)?shù)纳舷挛膶?duì)其進(jìn)行預(yù)處理,以構(gòu)建可以饋送到大型語(yǔ)言模型的輸入。微軟在實(shí)驗(yàn)中發(fā)現(xiàn),Jigsaw可以在30%的時(shí)間內(nèi)創(chuàng)建正確的輸出。如果代碼失敗,那么修復(fù)過(guò)程在后處理階段開(kāi)始。
在后處理過(guò)程中,Jigsaw應(yīng)用了三種變換來(lái)修復(fù)代碼。這些轉(zhuǎn)變中的每一個(gè)都是由他們?cè)贕PT-3和Codex中觀察到的故障模式所激發(fā)的。而GPT-3和Codex失敗的方式都類(lèi)似,因此Jigsaw解決這些失敗模式的后處理對(duì)兩者都很有用。
微軟在各種數(shù)據(jù)集上評(píng)估了Codex和Jigsaw(withCodex),并測(cè)量了準(zhǔn)確率。Codex給出了約30%的開(kāi)箱即用的準(zhǔn)確性,Jigsaw則將準(zhǔn)確率提高到60%以上;通過(guò)用戶(hù)反饋,準(zhǔn)確率可提高到80%以上。接下來(lái),他們將繼續(xù)致力于完善Jigsaw,努力將在PythonPandasAPI上的經(jīng)驗(yàn)推廣到其他API和其他語(yǔ)言上;在通過(guò)自動(dòng)化提高程序員生產(chǎn)力方面發(fā)揮重要作用。
對(duì)于微軟推出會(huì)編程的AI,然后又讓AI學(xué)會(huì)代碼審核,如今準(zhǔn)確率還達(dá)到80%,有網(wǎng)友表示:程序員們啊,本是同根生,相煎何太急。
來(lái)源:程序員那些事