碼農真的危險了!
最近有消息稱,OpenAI已經在悄悄地訓練ChatGPT,讓它學習人類的思考過程,從而真正掌握軟體工程,徹底取代「初級碼農」。
會程式設計的AI,幾家矽谷大廠都在做。
DeepMind的AlphaCode,據說「吊打72%人類程式設計師」,但尚未開放;傳聞中Google的「神秘計畫」Pitchfork,也還在醞釀中;而微軟的GitHub Copilot主要是一個程式碼補全工具。
要說完全取代人類碼農,它們還不夠格。
但如果真的讓ChatGPT學會了用人類思維去編程,這些友商/自家的產品恐怕要被吊打。
而從種種跡像看來,OpenAI似乎正在下一盤大棋。
根據Semafor的報道,在過去的六個月裡,OpenAI已經從拉美和東歐等地區招募了大約1000名外包人員,來訓練他們的AI碼代碼。
這則新聞中,有兩個「華點」。
首先,為什麼地點選在拉丁美洲和東歐?這個咱們都明白,現在矽谷的泡沫戳破了,各家網路大廠都在絞盡腦汁「降本增效」,有的靠裁員,有的就去其他國家找廉價勞動力。
第二個「華點」是,這些外包人員中,很多人並不是電腦專業的畢業生,也不具備高階的程式設計技能。他們的作用是,編寫OpenAI期待實現的「自動化」基本程式碼。
具體來說,其中的60%從事「資料標註」工作——創建大量的圖像、音訊片段等訊息,用來訓練人工智慧工具或自動駕駛汽車。
另外的40%則是實打實的程式設計師,他們正在為OpenAI的模型「手搓」數據,從而讓AI學習軟體工程任務。
先前,OpenAI一直是用從GitHub上抓取的程式碼訓練其模型。
而這次,OpenAI想建立的資料集中,不只程式碼,還包括背後用自然語言寫的人類解釋。
論文地址:https://arxiv.org/abs/2107.03374
對此,Semafor特地採訪了一位南美的開發者,而他曾無償為OpenAI完成了5小時的程式設計測試。
在這個測驗中,他被要求處理兩個任務。
首先,他會得到一個程式設計問題,OpenAI要求他用書寫的英語解釋自己將如何處理這個問題。
然後,他需要提供一個解決方案。
如果他發現了一個bug,OpenAI就會要求他詳細說明問題是什麼,應該如何修正,而不是簡單地修復。
「他們很可能是想用非常特殊的訓練資料來投餵這個模型,在這種情況下,就需要展示人類是如何一步步思考的。」這位開發者說。
先前的ChatGPT,寫的程式碼就被揪出過不少問題。
原因在於,ChatGPT沒有任何標記了對錯的內部記錄,它其實是統計模型。 ChatGPT的答案,本質上就是從構成GPT-3的網路資料語料庫中收集的機率結果。
當時OpenAI也說,ChatGPT最適合的定位,應該是編碼輔助工具。
但想像一下,如果OpenAI真的教會了ChatGPT「像人類一樣一步一步思考」,那它完全可以代替一些需要死記硬背的寫程式碼工作,後果就是,有些「初級」碼農被徹底淘汰。
現在,矽谷的高層正在設想這樣的產品,讓幾乎沒有程式設計經驗的人士向AI描述自己的創意和願景,然後就能建立出任何自己想要的東西,無論是一個網站,還是一個遊戲。
几天前,特斯拉的前人工智能主管Andrej Karpathy刚刚在推特上说:「最热门的新编程语言是英语」。
这可能并不是一个玩笑,比如当红炸子鸡ChatGPT,就很有潜力。
最近,一项来自美因茨大学和伦敦大学学院的研究发现,ChatGPT不仅可以出色地修复bug,而且开发者还能通过对话来显著提高成功率。
研究人员表示,ChatGPT的debug性能与常见的深度学习方法CoCoNut和Codex相差无几,并且明显优于标准的自动程序修复方法(APR)。
论文地址:https://arxiv.org/abs/2301.08653
用ChatGPT来解决代码问题并不新鲜,但与人类对话的独特能力,使它比其他方法和模型更具优势。
为了评估ChatGPT的debug性能,研究人员使用QuixBugs基准的40个纯Python问题对其进行了测试,然后手动检查建议的解决方案是否正确。
由于ChatGPT给出的答案存在一定的随机性,因此研究人员针对每个问题都会单独测试4次。
与其他自动程序修复的基准不同,QuixBugs包含了相对较小的问题(代码行数少),而这非常适合在对话系统中使用。
在测试过程中,研究人员删除了所有的注释,并询问ChatGPT这段代码是否有bug以及如何修复它。
比如,图1中就是一个关于BITCOUNT问题的例子。其中,第1-2行是向ChatGPT提出的需求;从第4行开始是错误的代码片段。
对于这个例子,我们希望ChatGPT的回答能解决第7行的错误,即nˆ= n - 1应该被替换为n &= n - 1。做为回应,ChatGPT要么给出一段修复完的代码,要么给出一个描述告诉我们应该如何修改。
结果显示,ChatGPT解决了40个bug中的19个,与CoCoNut(19)和Codex(21)相当,但标准的APR方法只解决了其中的7个问题。
当然,因为ChatGPT和Codex都是来自于同一个语言模型系列,所以解决问题的数量差不多也就不足为奇了。
此外,如果我们仔细观察结果还可以发现,ChatGPT并不是每次都能解决基准测试中的bug。仅在BUCKETSORT和FLATTEN这两个问题上,四次都发现了bug,而其他的通常只能成功1-2次。
也就是说,用户在实际使用时,可能需要尝试数次才能获得正确的结果。
不过,ChatGPT有一个强大的优势:我们可以在对话中与系统互动,更详细地对问题进行说明,从而获得正确的答案。
实际测试结果,也确实如此。
经过与模型更进一步的对话,研究人员成功地将ChatGPT的正确率刷新到了77.5%,也就是修复了40个错误中的31个,远超SOTA。
至少,目前看来,这件事是完全有可能的:开发人员将不再需要编写样板代码。
相反,他们可以专注于复杂的应用程序架构或网络安全等领域。
也就是說,雖然ChatGPT可能會完成某些程式設計工作,例如編寫通用函數或樣板程式碼,但它不會完全取代程式設計師。因為程式設計師的工作需要的不只是寫程式碼。
成為程式設計師需要技巧——能夠建立程式、遵循邏輯並產生比各部分總和更宏大的東西。
顯然,ChatGPT不是碼農們做出的第一個「自我迭代」的產品。
咱們來排一排,那些會寫程式的AI。
Google的Pitchfork
去年11月,坊間傳聞,Google正在醞釀一個秘密項目,這個產品會透過機器學習訓練程式碼,自己編自己,自己修復bug,還能自己更新。
據知情人士透露,這個計畫起初是由Alphabet的登月部門——X部門開發的,代號為Pitchfork,去年夏天被轉移到了Google實驗室。
根據內部資料,Pitchfork的功能是「教程式碼自行編寫、自行重寫」。
它能夠學習不同的程式風格,並且根據這些風格寫出程式碼。
一名Google員工表示,開發Pitchfork的初衷是希望建立一個工具,將Google的Python程式碼庫更新到新版本。
AlphaCode:吊打72%程式設計師
2022年2月,DeepMind推出了「AlphaCode」系統,可以使用人工智慧產生程式碼。
根據DeepMind的說法,AlphaCode可以與人類匹敵。
DeepMind使用程式設計競賽平台Codeforces上託管的10個現有競賽來測試AlphaCode,它的整體排名位於前54.3%,也就是說,它擊敗了46 %的參賽者。
DeepMind聲稱,在使用程式設計競賽平台Codeforces進行偵測時,AlphaCode解決了100萬個樣本中34.2%的問題。
另外在過去6個月參加過比賽的用戶中,AlphaCode的數據排到了前28%,可以說「吊打72%人類程式設計師」!
當時,DeepMind就指出,雖然AlphaCode目前只適用於具有競爭性程式設計領域,但顯然,它未來的能力絕不會止步於此。
它為創造某些工具打開了大門,而這些工具將使程式設計變得更容易被人們接受,並且有朝一日可以完全自動化。
Copilot:程式碼補全神器
再往前,在2021年,GitHub與OpenAI共同推出了一款AI程式設計神器-GitHub Copilot。
輸入程式碼時,Copilot會自動提示程式中接下來可能出現的程式碼片段,就像一個經過訓練用Python或JavaScript說話的自動補全機器人。
Copilot能夠填充必要的程式碼區塊,只要它們不是特別複雜或特別有創造性,這對於相當於手工勞動的編程,可太有用了。
2022年6月22日,Copilot正式向C端上線,定價10美元/月或100美元/年,並向學生用戶和流行開源專案的維護者免費提供。
現在,成千上萬的開發者都在使用Copilot。在十幾種最受歡迎的語言編寫程式碼中-有高達40%是依靠它來產生的。
GitHub預測,開發人員將在五年內使用Copilot編寫多達80%的程式碼。
微軟技術長Kevin Scott也表示:「我們確信:GitHub Copilot可以應用到數千種不同類型的工作中。」
不過,因為涉嫌侵權,在發布不到5個月後,Copilot已經被憤怒的程式設計師一舉告上法庭,索賠90億美元。
而學會「軟體工程思維」的ChatGPT,能吊打它們嗎?按OpenAI的速度,恐怕我們不用等太久。
https://www.semafor.com/article/01/27/2023/openai-has-hired-an-army-of-contractors-to-make -basic-coding-obsolete
https://www.zdnet.com/article/chatgpt-can-write-code-now-researchers-say-its-good-at-fixing-bugs-too/
以上是程式設計師危!傳OpenAI全球招外包大軍,手把手訓練ChatGPT取代碼農的詳細內容。更多資訊請關注PHP中文網其他相關文章!