电竞比分网-中国电竞赛事及体育赛事平台

分享

危!AI已經(jīng)會(huì)刷LeetCode了!

 西北望msm66g9f 2021-06-17

夢(mèng)晨 發(fā)自 凹非寺

你在面試中會(huì)遇到的那種算法題,AI已經(jīng)能自己解決了,比如下面這道題:

對(duì)于一個(gè)記錄論文引用次數(shù)的數(shù)組,每個(gè)元素都是非負(fù)整數(shù)。請(qǐng)寫出函數(shù)h_index,輸出這些論文的h指數(shù),即至多有h篇文章被至少引用了h次。
例:
輸入: [3, 0, 6, 1, 4]
輸出: 3

AI給出的Python答案是這樣的:

除了排序沒(méi)用counts.sort(reverse = True)讓人看著血壓升高,算是順利通過(guò)測(cè)試:

來(lái)自UC伯克利的研究團(tuán)隊(duì),將上面這道題被歸為“面試級(jí)”難度(看來(lái)國(guó)外程序員面試題有點(diǎn)簡(jiǎn)單)。

此外還有更簡(jiǎn)單的“入門級(jí)”和更難的“競(jìng)賽級(jí)”,總共5000道題的測(cè)試中,AI能做出15%。

另外有人聲稱,他專門用GPT-2訓(xùn)練了個(gè)專門做LeetCode的AI,能完成80%

在刷LeetCode的你,是否在顫抖?

GPT-Neo贏過(guò)GPT-3

本研究使用的題目形式是自然語(yǔ)言題干,不同于以往研究常用的偽代碼和代碼之間翻譯。

題目是從Codeforces、Kattis等刷題網(wǎng)站收集的10000道題,5000道用于訓(xùn)練,另外5000道作為測(cè)試集。

題干的平均長(zhǎng)度為293.2個(gè)單詞,在測(cè)試集中每道題平均有21.2個(gè)測(cè)試用例。

入門級(jí)難度的題不需要復(fù)雜算法,有1-2年經(jīng)驗(yàn)的程序員都能回答的那種,有3639個(gè)。

面試級(jí)難度的題會(huì)涉及數(shù)據(jù)結(jié)構(gòu),比如樹(shù)或者圖,或需要修改常見(jiàn)的算法,有5000個(gè)。

剩下的是競(jìng)賽級(jí)難度,達(dá)到USACO、IOI和ACM等競(jìng)賽的水平。

研究人員分別訓(xùn)練了GPT-2的1億參數(shù)版和15億參數(shù)版、GPT-3以及“高仿版”GPT-Neo。

參數(shù)規(guī)模“只有”27億的GPT-Neo和更低的GPT-2在測(cè)試用例通過(guò)率上,表現(xiàn)卻比1750億的GPT-3還要好。

嚴(yán)格模式下,通過(guò)所有測(cè)試用例才算完全正確,成績(jī)最好的GPT-Neo只通過(guò)了1.12%,不過(guò)這也有56道題了(反正比我強(qiáng))。

GPT-Neo來(lái)自EleutherAI團(tuán)隊(duì)嘗試復(fù)現(xiàn)GPT的開(kāi)源項(xiàng)目。

雖然參數(shù)規(guī)模比GPT-3小得多,但訓(xùn)練數(shù)據(jù)包含了更多技術(shù)網(wǎng)站,比如Stack OverFlow和Stack Exchange等,這可能是它在代碼生成上勝出的原因之一。

至于GPT-3為什么表現(xiàn)還不如GPT-2,有人猜測(cè)可能是它見(jiàn)過(guò)的文本太多,雖然擅長(zhǎng)生成自然語(yǔ)言,但在邏輯和解題方面過(guò)擬合了。

如何評(píng)價(jià)AI“做題家”

論文一發(fā)出來(lái),吃瓜群眾腦洞大開(kāi)。

如果我沒(méi)通過(guò)面試但我寫的算法通過(guò)了會(huì)怎么樣?

有人回答他:

沒(méi)關(guān)系,你還可以當(dāng)你算法的助手。

還有很多人給出下一步建議,比如不用自回歸的GPT,改用自編碼語(yǔ)言模型會(huì)怎樣?比如CodeTrans。

或者,再用一個(gè)GPT專門生成自己回答不出來(lái)的問(wèn)題。

矛盾相爭(zhēng)是吧

樂(lè)觀的人認(rèn)為這是解放了人的創(chuàng)造力,未來(lái)編程是關(guān)于寫更少的代碼,做更多的架構(gòu)、工程。

有人暢想,只需要描述需求就能生成代碼可太爽了。

嗨IDE,用我的數(shù)據(jù)庫(kù)做一個(gè)JavaScript的增查改刪,要帶測(cè)試。

Ruby on Rails直呼內(nèi)行

悲觀的人卻認(rèn)為,將來(lái)有一天,人類程序員只能做做維護(hù)工作和評(píng)審機(jī)器生成的代碼了。

·················END·················

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多