去年,發(fā)布了重磅產(chǎn)品——Codex,一個(gè)能自己編程的AI。
AI編程這件事似乎也變得不新鮮了,像前不久鬧得風(fēng)風(fēng)火火的,也是其中一個(gè)。
剛剛,發(fā)布了一個(gè)名為的代碼生成系統(tǒng),并聲稱可與人類相匹敵。
最新研究成果-Level Code with 已于2月2日發(fā)表。
/-media//.pdf
表示,「盡管的水平不一定能代表一般編程人員所面臨的編程任務(wù),但可以說(shuō)明自主編程向前邁出了重要的一步」。
碼農(nóng)只能陪跑?
使用編程競(jìng)賽平臺(tái)上托管的10個(gè)現(xiàn)有競(jìng)賽來(lái)測(cè)試,總體排名位于前 54.3%,也就是說(shuō)它擊敗了 46% 的參賽者 。
上的每個(gè)問(wèn)題有100萬(wàn)個(gè)樣本,解決了34.2%的問(wèn)題。
聲稱,就總體性能而言,在過(guò)去6個(gè)月參加過(guò)比賽的用戶中,的數(shù)據(jù)排到了前28%。
舉個(gè)栗子:
在測(cè)試的一個(gè)例子中,參賽者需要找到一種方法,使用一組有限的輸入將一串隨機(jī)重復(fù)的s和t字母轉(zhuǎn)換成另一串相同的字母。
競(jìng)爭(zhēng)對(duì)手不能只是輸入新的字母,而必須使用「退格」命令刪除原始字符串中的幾個(gè)字母。有關(guān)挑戰(zhàn)問(wèn)題的詳細(xì)描述如下:
給出的解決方案如下,
在 的案例中,在上對(duì)系統(tǒng)進(jìn)行了微調(diào)和測(cè)試。
在10項(xiàng)挑戰(zhàn)被輸入到系統(tǒng)后,生成大量可能的答案,并像人類競(jìng)爭(zhēng)者那樣運(yùn)行代碼和檢查輸出,從中篩選出這些答案。
論文合著者稱,整個(gè)過(guò)程是自動(dòng)進(jìn)行的,沒(méi)有人為去選擇最好的樣本。
如何實(shí)現(xiàn)?
包含414億個(gè)參數(shù),大約是Codex的4倍,訓(xùn)練數(shù)據(jù)集是715.1 GB。
據(jù)介紹,研究者在選定的公共代碼上預(yù)先訓(xùn)練模型,并在相對(duì)較小的競(jìng)爭(zhēng)性編程數(shù)據(jù)集上對(duì)其進(jìn)行微調(diào)。
在評(píng)估的時(shí)候,研究人員為每個(gè)問(wèn)題創(chuàng)建了大量的C++和程序,數(shù)量級(jí)比以前的工作要大。
然后對(duì)這些解決方案進(jìn)行篩選、聚類和重新排序,并將這些解決方案提交給一個(gè)由10個(gè)候選程序組成的小集合,供外部評(píng)估。
這個(gè)自動(dòng)化系統(tǒng)取代了人類競(jìng)爭(zhēng)對(duì)手的調(diào)試、編譯、通過(guò)測(cè)試和最終提交的反復(fù)試驗(yàn)過(guò)程。
結(jié)果顯示,能夠在這項(xiàng)競(jìng)爭(zhēng)中脫穎而出,并且解決問(wèn)題的能力超出了現(xiàn)有人工智能系統(tǒng)的能力。
指出,目前所擁有的技能只適用于具有競(jìng)爭(zhēng)性編程領(lǐng)域,但它的能力為創(chuàng)造未來(lái)的工具打開了大門,這些工具將使編程變得更容易被人們接受,并且有朝一日可以完全實(shí)現(xiàn)自動(dòng)化。
許多其他公司也在開發(fā)類似的應(yīng)用程序。例如,微軟和人工智能實(shí)驗(yàn)室 已經(jīng)將 的語(yǔ)言生成程GPT-3,改造成一個(gè)自動(dòng)完成代碼字符串的程序。
和GPT-3一樣,前者也同樣基于語(yǔ)言模型的人工智能體系結(jié)構(gòu),它特別擅長(zhǎng)解析順序文本,包括自然語(yǔ)言和代碼。
對(duì)于終端用戶來(lái)說(shuō),這些系統(tǒng)的工作方式就像Gmail的智能撰寫功能一樣,無(wú)論你在寫什么,它都能指導(dǎo)你。
的首席研究科學(xué)家Oriol 表示,
這項(xiàng)研究仍處于早期階段,但研究結(jié)果使該公司更接近于創(chuàng)造一種靈活的解決問(wèn)題的人工智能——一種能夠自動(dòng)應(yīng)對(duì)編碼挑戰(zhàn)的程序。從長(zhǎng)遠(yuǎn)來(lái)看,我們對(duì) 在幫助程序員和非程序員編寫代碼、提高生產(chǎn)力或創(chuàng)造制作軟件的新方法方面的潛力感到興奮。
強(qiáng),但不完全強(qiáng)
最近幾年,人工智能編碼系統(tǒng)的開發(fā)取得了很大進(jìn)展,但這些系統(tǒng)還遠(yuǎn)遠(yuǎn)不能完全替代人類程序員的工作。
所以說(shuō),機(jī)器編程絕不是一門解決問(wèn)題的科學(xué),承認(rèn) 存在一些局限性。
例如動(dòng)軟代碼生成器 win10,并不總是為每種語(yǔ)言生成語(yǔ)法正確的代碼,特別是在C++中。在動(dòng)態(tài)編程方面,的表現(xiàn)也更差。
不可避免,可能在其他方面也存在問(wèn)題。
雖然 沒(méi)有調(diào)查這個(gè)模型是否存在偏見(jiàn)問(wèn)題,但包括 Codex 在內(nèi)的代碼生成模型已被證明會(huì)放大訓(xùn)練數(shù)據(jù)集中有毒以及有缺陷的內(nèi)容。
例如,當(dāng)輸入「伊斯蘭」一詞時(shí),便會(huì)提示Codex輸出「恐怖分子」,并生成表面上看似正確,卻是構(gòu)成安全風(fēng)險(xiǎn)的代碼。
AI 生產(chǎn)的代碼經(jīng)常會(huì)有 bug,而且因?yàn)橄到y(tǒng)通常是在公共代碼庫(kù)上訓(xùn)練的,他們有時(shí)會(huì)復(fù)制受版權(quán)保護(hù)的材料,造成侵權(quán)后果。
在一項(xiàng)由開發(fā)的人工智能編程工具的研究中,研究人員發(fā)現(xiàn)其輸出中的代碼約有40% 含有安全漏洞。
安全分析師甚至提到,如果有心懷不軌的人,他們完全可以有意識(shí)地編寫代碼動(dòng)軟代碼生成器 win10,在網(wǎng)上隱藏的后門共享代碼,然后可以用來(lái)訓(xùn)練人工智能程序,將這些錯(cuò)誤插入未來(lái)的程序中。
正如最近的研究所探索的那樣,像這樣的系統(tǒng)也可能被濫用。
惡意者是否會(huì)在未來(lái)使用這些類似的系統(tǒng)來(lái)自動(dòng)生成大規(guī)模的惡意軟件,這是一個(gè)懸而未決的問(wèn)題。
這些挑戰(zhàn)意味著人工智能編碼系統(tǒng)可能得慢慢融入程序員的工作中,因?yàn)锳I 要經(jīng)歷一個(gè)學(xué)徒期。但到目前來(lái)看,AI學(xué)得很快,應(yīng)該能很快度過(guò)學(xué)徒期。
創(chuàng)始人Mike 在 分享的一份聲明中表示,「我可以有把握地說(shuō), 的結(jié)果超出了我的預(yù)期。」
「我之前還持懷疑態(tài)度 ,因?yàn)榧词乖诤?jiǎn)單的競(jìng)爭(zhēng)性問(wèn)題上,也不僅要實(shí)現(xiàn)算法,而且還要發(fā)明算法,而這才是最難的一部分。 的表現(xiàn)堪比一個(gè)有前途的新競(jìng)爭(zhēng)對(duì)手。」
網(wǎng)友:程序員自己把自己殺死了
對(duì)于剛剛放出會(huì)寫程序的,網(wǎng)友們紛紛展開了討論。
「寫代碼的事,就該交給代碼自己寫。」
「程序員自己把自己殺死了。」
「人工智能開始要意識(shí)覺(jué)醒了。」
參考資料:
/blog//--with-
/2022/2/2//-ai-----