今天,DeepMind 的“Alpha”家族再添一名新成員:會(huì)刷編程競賽題的 AlphaCode 來了!
其實(shí),AlphaCode 早在幾個(gè)月前就“悄悄進(jìn)村”了,一直沒人察覺。它默默參加了著名網(wǎng)站 Codeforces 最近舉行的 10 場編程比賽,成績超過了一半人類。
直到今天 DeepMind 才公布最終成績:AlphaCode 在這 10 場比賽中排名前 54.3%,Elo 評(píng)分 1238。
更重要的是,在編程比賽這樣考察算法創(chuàng)造力的問題中,AI 終于不落下風(fēng),而這恰恰是 AI 過去所欠缺的。
如果把這個(gè)分?jǐn)?shù)放到過去六個(gè)月總體來看,AlphaCode 的成績更為優(yōu)秀,因?yàn)樗凰⒘?10 周的題目,就已經(jīng)達(dá)到了前 28% 用戶的水平。
Codeforces 是一個(gè)由俄羅斯程序員 Mikhail Mirzayanov 創(chuàng)辦的編程競賽網(wǎng)站,大約每周舉行一次名為“Codeforces Rounds”的編程比賽。
通過 Codeforces 的 Elo 評(píng)分可以衡量一位程序員的編程水平。
△ Codeforces 創(chuàng)始人 Mikhail Mirzayanov
當(dāng)看到 AlphaCode 的成績后,連創(chuàng)始人 Mirzayanov 都驚訝不已。
他原本對(duì) AI 持懷疑態(tài)度,因?yàn)榫幊瘫荣惪简?yàn)的是發(fā)明算法的能力,這是最困難的,沒想到 AlphaCode 的結(jié)果完全超出了他的預(yù)期。
DeepMind 發(fā)布這條消息僅半天,在 Twitter 上已經(jīng)有 2000 多次轉(zhuǎn)發(fā)、5000 多點(diǎn)贊。
AlphaCode 如何編程
說了這么多,下面我們來看看 AlphaCode 是如何成為“編程做題家”的。
以下是 Codeforces 上的 1553D 問題:(鏈接:https://codeforces.com/ problemset / problem / 1553 / D)
有兩個(gè)字符串 s 和 t,都是由小寫字母組成。對(duì)于字符串 s,我們從前向后掃描整個(gè)字符串。
如果按下 Backspace 鍵,就刪除該光標(biāo)前到上一個(gè)未刪除字符之間的所有字符。
例如字符串 s 是”abcbd”,你分別在第一個(gè)位置和第四個(gè)位置按下 Backspace,那么將得到字符串”bd”。
因?yàn)樵诘谝粋€(gè)光標(biāo)位置前沒有字符,所以第一次沒有動(dòng)作。第四個(gè)光標(biāo)位置前的字符是 c,上一個(gè)未刪除字符是 a,所以按下 Backspace 將刪除前三個(gè)字符”bd”。
好了,現(xiàn)在問題來了:
我們能否從前向后掃描一次 s 字符串, 讓 s 變?yōu)?t。如果可以輸出 YES,否則輸出 NO。
AlphaCode 給出的代碼是這樣的:
向以上程序輸入 4 組字符串:
得到的輸出是:
在這里,AlphaCode不再是黑箱。
它不僅成功解決了問題,還能將代碼和注意力高亮的對(duì)應(yīng)位置顯示出來。
一位網(wǎng)友表示:既然 AI 能看得這么細(xì),那么如果能在代碼后面加入注釋就更好了。
至于更多的案例,可以去 AlphaCode 網(wǎng)站觀摩。
原理
DeepMind 說,在 Codeforces 比賽中所需解決問題的能力,已經(jīng)超出了現(xiàn)有 AI 系統(tǒng)的能力。
整個(gè) AlphaCode 模型的流程如下:
用標(biāo)準(zhǔn)的語言建模目標(biāo)在 GitHub 代碼上預(yù)訓(xùn)練一個(gè)基于 Transformer 的語言模型。這個(gè)模型可以合理地代表人類編寫代碼的空間,大大減少了問題的搜索空間。
在競爭性編程數(shù)據(jù)集上微調(diào)模型,使用 GOLD 與 tempering 作為訓(xùn)練目標(biāo),進(jìn)一步減少了搜索空間,并利用預(yù)訓(xùn)練彌補(bǔ)了少量的競爭性編程數(shù)據(jù)。
為每個(gè)問題從模型中生成非常多的樣本。
對(duì)樣本進(jìn)行過濾,以獲得一小部分候選提交的樣本(最多 10 個(gè)),在隱藏的測試案例上進(jìn)行評(píng)估,方法是利用實(shí)例測試和聚類,根據(jù)程序行為挑選樣本。
總而言之,通過將大規(guī)模 Transformer 模型與大規(guī)模采樣和過濾相結(jié)合,DeepMind 在可以解決的問題數(shù)量方面取得了重大進(jìn)展,比之前的工作高出一個(gè)數(shù)量級(jí)。
刷題人士抵觸
正如 Codeforces 創(chuàng)始人所說,在編程問題中對(duì)算法的發(fā)明創(chuàng)造是最難的。
在全球編程比賽網(wǎng)站上常年排名前幾的谷歌工程師 Petr Mitrichev 說:解決編程比賽問題是一件非常困難的事情。它既需要良好的代碼技能,也需要人類解決問題的創(chuàng)造力。
AlphaCode 不是第一個(gè)編程工具,Codex 以及 GitHub Copilot 都給人留下了深刻的印象。
但 DeepMind 認(rèn)為,AlphaCode 和前輩們大有不同:最近的大規(guī)模語言模型展示了生成代碼的驚人能力,現(xiàn)在能夠完成簡單的編程任務(wù)。然而,當(dāng)對(duì)更復(fù)雜、看不見的問題進(jìn)行評(píng)估時(shí),這些模型的表現(xiàn)仍然很差,這些問題需要解決問題的技能,而不僅僅是將指令翻譯成代碼。
與 Twitter 上截然不同的是,Codeforces 高手們卻多有抵觸情緒。
一位程序員認(rèn)為:“這個(gè) AI 真是個(gè)菜鳥。”
因?yàn)?AlphaCode 只有1238分,只相當(dāng)于一個(gè)學(xué)生水平,一個(gè)參加信息學(xué)奧賽的中學(xué)生也能刷到這個(gè)水平。
雖然 DeepMind 聲稱 AlphaCode 是為了輔助人類,但也有程序員開始擔(dān)心了:
現(xiàn)在連刷題的世界都被AI占領(lǐng),本來這里是程序員們切磋的地方,AI應(yīng)該適可而止,給程序員們留一片凈土吧!
關(guān)鍵詞: 編程 alphacode 程序員 代碼 字符 模型 codeforces deepmind 字符串 ai
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 www.fnsyft.com All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
亚洲av无码片在线观看| 久久精品国产精品亚洲艾| 99久久亚洲精品无码毛片 | 中文字幕在线亚洲精品| 在线观看午夜亚洲一区| 一区二区三区亚洲视频| 亚洲欧美黑人猛交群| 亚洲娇小性色xxxx| 亚洲国产成人综合| 亚洲精品亚洲人成在线麻豆| 中文字幕亚洲精品资源网| 久久久精品国产亚洲成人满18免费网站| 亚洲春色在线观看| 亚洲欧洲日产国码二区首页 | 国产精品亚洲精品观看不卡| 亚洲免费中文字幕| 亚洲一区在线视频| 色老板亚洲视频免在线观| 亚洲国产乱码最新视频| 亚洲一区二区三区高清在线观看| 亚洲成年人在线观看| 亚洲国产一区在线| 亚洲精品国产电影午夜| 91亚洲国产成人久久精品网址| 亚洲大香人伊一本线| 亚洲天堂2016| 亚洲精品色播一区二区| 亚洲AV网一区二区三区| 亚洲欧洲中文日韩av乱码| 亚洲AV成人影视在线观看| 亚洲人成网站在线在线观看| 亚洲av无码日韩av无码网站冲| 精品无码专区亚洲| 亚洲乱亚洲乱少妇无码| 亚洲AV综合色区无码一二三区 | 亚洲国产美女福利直播秀一区二区| 亚洲国产片在线观看| 精品国产成人亚洲午夜福利| 亚洲AV无码一区二区大桥未久| 亚洲 另类 无码 在线| 国产乱辈通伦影片在线播放亚洲|