自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2700萬(wàn)程序員要失業(yè)?機(jī)器編程要讓全球78億人都能寫(xiě)代碼

新聞 前端
機(jī)器編程并非近來(lái)提出的全新概念,在20世紀(jì)50年代時(shí)它被稱(chēng)為“程序合成”,程序合成是一種使用數(shù)學(xué)證明的非常形式化的方法,它采用某種形式的輸入,然后生成一個(gè)軟件。

本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。

數(shù)據(jù)顯示,全球78億人中,只有2700萬(wàn)人會(huì)編寫(xiě)代碼,占比不到1%。不過(guò),機(jī)器編程想讓另外99%的人也能編寫(xiě)代碼。這聽(tīng)起來(lái)很科幻,但英特爾在機(jī)器編程領(lǐng)域的進(jìn)展讓我們相信讓100%的人都能寫(xiě)代碼并非觸不可及。

2700萬(wàn)程序員要失業(yè)?機(jī)器編程要讓全球78億人都能寫(xiě)代碼

英特爾的ControlFlag系統(tǒng)是全球首個(gè)自我監(jiān)控系統(tǒng),不需要標(biāo)記數(shù)據(jù)就能學(xué)習(xí),通過(guò)學(xué)習(xí)超過(guò)十億行代碼,可以自主檢測(cè)代碼中的錯(cuò)誤,發(fā)現(xiàn)了許多過(guò)去被開(kāi)發(fā)人員忽略的違規(guī)和異常。

機(jī)器編程到底要做什么?為什么全員都能編程后程序員不會(huì)失業(yè)?

什么是機(jī)器編程?

機(jī)器編程并非近來(lái)提出的全新概念,在20世紀(jì)50年代時(shí)它被稱(chēng)為“程序合成”,程序合成是一種使用數(shù)學(xué)證明的非常形式化的方法,它采用某種形式的輸入,然后生成一個(gè)軟件。

實(shí)際上,機(jī)器編程是構(gòu)建系統(tǒng),然后由系統(tǒng)自動(dòng)構(gòu)建軟件系統(tǒng),硬件系統(tǒng)也隨之構(gòu)建起來(lái)。顯然,自動(dòng)生成軟件是機(jī)器編程的核心重點(diǎn),其核心原則是,人類(lèi)向機(jī)器表達(dá)他(她)的意圖,機(jī)器會(huì)自動(dòng)創(chuàng)建完成該意圖所需的所有軟件。

[[356910]]

研究機(jī)器編程是為了替代程序員嗎?答案當(dāng)然是否定的。英特爾高級(jí)院士、副總裁、英特爾研究院院長(zhǎng)Rich Uhlig在2020英特爾研究院開(kāi)放日上表示:“關(guān)于編程,我們看到了兩種對(duì)立的趨勢(shì)。一方面,計(jì)算資源變得越來(lái)越異構(gòu),需要了解硬件以及如何最大限度使用硬件的專(zhuān)家級(jí)程序員。另一方面,軟件開(kāi)發(fā)人員越來(lái)越青睞于使用更抽象的語(yǔ)言,以提高工作效率,但這會(huì)導(dǎo)致硬件難以發(fā)揮出它本身的性能。”

“研究當(dāng)前的軟件是如何開(kāi)發(fā)的,考慮異構(gòu)硬件的未來(lái),可以得出一個(gè)強(qiáng)有力的結(jié)論,那就是當(dāng)前開(kāi)發(fā)軟件的方式不會(huì)可維持地繼續(xù)向前發(fā)展。”英特爾首席科學(xué)家、英特爾研究院機(jī)器編程研究主任及創(chuàng)始人Justin Gottschlich認(rèn)為,“我們對(duì)程序員的要求過(guò)高。”

用一個(gè)非常形象的比喻來(lái)解釋軟件開(kāi)發(fā)需要的準(zhǔn)備工作,想象你是一位技藝高超的畫(huà)家,但在畫(huà)畫(huà)之前,需要制作畫(huà)筆、畫(huà)布、畫(huà)框、畫(huà)架、顏料。“有多少畫(huà)家能做到這些?我認(rèn)為這樣的畫(huà)家很少,甚至沒(méi)有,編程的門(mén)檻過(guò)高導(dǎo)致許多天才被埋沒(méi)。“Justin認(rèn)為。

他舉了個(gè)例子,一名房地產(chǎn)行業(yè)的權(quán)威,對(duì)市場(chǎng)的理解敏銳又細(xì)致,但現(xiàn)有的工具不能幫助她制定房地產(chǎn)決策,于是只能分開(kāi)使用每一種工具,慢慢收集數(shù)據(jù)。但只要在她決策之前市場(chǎng)發(fā)生變化,之前的工作就需要重新開(kāi)始,時(shí)間也被浪費(fèi)。

不僅僅是需要精細(xì)度、精確性的地產(chǎn)行業(yè),農(nóng)業(yè)、生物、建筑、醫(yī)療、金融領(lǐng)域的專(zhuān)家也希望能夠向機(jī)器表達(dá)他們的意圖,機(jī)器能夠構(gòu)建相應(yīng)的軟件實(shí)現(xiàn)他們的意圖。

這也是機(jī)器編程的概念以及人們?yōu)槭裁葱枰獧C(jī)器編程。

如何實(shí)現(xiàn)機(jī)器編程?

英特爾研究院和麻省理工學(xué)院的教授團(tuán)隊(duì)合作撰寫(xiě)的題為《機(jī)器編程的三大支柱》的論文指出,意圖(Intention)、創(chuàng)造(Invention)和適應(yīng)(Adaption)是機(jī)器編程的三大支柱。

2700萬(wàn)程序員要失業(yè)?機(jī)器編程要讓全球78億人都能寫(xiě)代碼

簡(jiǎn)而言之,“意圖”是人類(lèi)向機(jī)器表達(dá)自己想法的能力,表達(dá)出來(lái)后機(jī)器就可以“創(chuàng)造”,之后繼續(xù)根據(jù)用戶(hù)指定的意圖,構(gòu)造更高級(jí)的程序表達(dá)。在構(gòu)造了更高級(jí)的表達(dá)后,“適應(yīng)系統(tǒng)”會(huì)對(duì)這個(gè)更高階的程序進(jìn)行轉(zhuǎn)換,化解異構(gòu)硬件挑戰(zhàn)。

要實(shí)現(xiàn)這個(gè)長(zhǎng)期的愿景,需要先邁出關(guān)鍵一步。Justin說(shuō):“要讓機(jī)器編程同時(shí)從兩個(gè)方向?yàn)殚_(kāi)發(fā)人員提供幫助。首先是提高編碼員和非編碼員的工作效率。其次是確保機(jī)器編程系統(tǒng)生成的是高質(zhì)量、快速、安全的代碼。”

基于兩個(gè)核心價(jià)值,機(jī)器編程關(guān)鍵的第一步是改進(jìn)軟件調(diào)試(Debug)。軟件Debug本質(zhì)上是識(shí)別、分析和糾正軟件缺陷的過(guò)程,讓軟件變得更強(qiáng)大和可靠。根據(jù)2017 年劍橋大學(xué)開(kāi)展的一項(xiàng)調(diào)查,美國(guó)程序員Debug的時(shí)間平均花費(fèi)占到整個(gè)開(kāi)發(fā)周期的一半。

這明確了兩個(gè)問(wèn)題,程序員的開(kāi)發(fā)的軟件質(zhì)量不合格,同時(shí)Debug嚴(yán)重影響了程序員的工作效率。據(jù)悉,英特爾研究院開(kāi)發(fā)的機(jī)器編程系統(tǒng)可以將程序員的工作效率提高2倍。

利用《診斷軟件性能回歸的零正學(xué)習(xí)方法》提出的一種在高性能計(jì)算代碼中,自動(dòng)進(jìn)行回歸測(cè)試(由新代碼簽入引起的錯(cuò)誤)的方法AutoPerf,在運(yùn)行代碼時(shí)只利用名義訓(xùn)練數(shù)據(jù)和硬件性能計(jì)數(shù)器,英特爾的系統(tǒng)證明AutoPerf可以檢測(cè)到并行編程中一些最復(fù)雜的性能bug。更重要的是,這個(gè)系統(tǒng)可以自動(dòng)將測(cè)試應(yīng)用于不同的硬件架構(gòu)上,解決了硬件異構(gòu)帶來(lái)的軟件編程復(fù)雜性大幅提升的挑戰(zhàn)。這個(gè)系統(tǒng)的研究成果已經(jīng)在去年的機(jī)器學(xué)習(xí)頂級(jí)研究會(huì)議NeurIPS上發(fā)布。

英特爾的另一個(gè)機(jī)器編程系統(tǒng)就是文章開(kāi)篇提到的ControlFlag系統(tǒng),可以在無(wú)人監(jiān)督的情況下查找不限于性能的漏洞。

“ControlFlag可以在沒(méi)有任何人類(lèi)生成的數(shù)據(jù)標(biāo)簽下學(xué)習(xí),非常讓我興奮的是,這個(gè)系統(tǒng)最近突破了從超過(guò)10億行代碼中學(xué)習(xí)的極限。”Justin說(shuō):“它能夠發(fā)現(xiàn)一些高度復(fù)雜的細(xì)微漏洞,其中有些漏洞十多年來(lái)一直被開(kāi)發(fā)人員所忽略。每次我們添加更多數(shù)據(jù),它似乎都能學(xué)到以前沒(méi)有觀察到的新事物。”

雷鋒網(wǎng)了解到,ControlFlag更多研究成果將會(huì)在今年的NeurIPS上展示。

Jestin介紹,機(jī)器編程主要有兩種方法,一種是形式化方法,一種是隨機(jī)方法,目前業(yè)界更重視隨機(jī)的方法。英特爾的不同在于融合了兩種算法,并且在許多案例中實(shí)現(xiàn)了超過(guò)千倍的成績(jī)。比如在改進(jìn)軟件開(kāi)發(fā)時(shí)序質(zhì)量(Temporal qualities),也就是開(kāi)發(fā)軟件的時(shí)間減少到千分之一,這就有可能讓現(xiàn)在需要花三年開(kāi)發(fā)的軟件,借助機(jī)器編程只需要花費(fèi)一天就可以完成同樣的軟件。

“在某些例子中,可以說(shuō)是近乎無(wú)限的改進(jìn)。因?yàn)闃?gòu)建某些東西需要一定的時(shí)間,然后我們把這個(gè)數(shù)字降為零。”Justin進(jìn)一步指出。

機(jī)器編程會(huì)替代程序員嗎?

程序能夠自動(dòng)化的高效構(gòu)建,意味著程序員要失業(yè)了嗎?Justin的觀點(diǎn)是,如果機(jī)器編程成功,其真正過(guò)人之處是創(chuàng)造數(shù)千萬(wàn)到數(shù)億個(gè)就業(yè)機(jī)會(huì),為全新類(lèi)型的程序員有非常大的創(chuàng)造平臺(tái),專(zhuān)業(yè)程序員也不會(huì)被替代。

原因很簡(jiǎn)單,首先,現(xiàn)存在的大多數(shù)機(jī)器編程系統(tǒng)都需要大量數(shù)據(jù),這些數(shù)據(jù)通常是代碼的形式存在,而代碼是由專(zhuān)業(yè)程序員編寫(xiě),自動(dòng)化將會(huì)對(duì)高技能程序員的需求將會(huì)增加,因?yàn)閷?zhuān)業(yè)程序員寫(xiě)的代碼越多,構(gòu)建的機(jī)器編程系統(tǒng)就越先進(jìn)。

更重要的是,如果意圖系統(tǒng)成功,將降低編程的準(zhǔn)入門(mén)檻。這樣一來(lái),只要他們有批判性思考的能力,就可以表達(dá)其想法,軟件就能幫助他實(shí)現(xiàn),就像前面提到的房產(chǎn)權(quán)威的例子。

接下來(lái)的問(wèn)題就是機(jī)器編程何時(shí)會(huì)被大量應(yīng)用。Justin認(rèn)為得益于算法、算力和數(shù)據(jù)的提升,機(jī)器編程正處于拐點(diǎn)。

據(jù)悉,許多機(jī)器編程的研究成果都出自英特爾2017年成立的機(jī)器編程中心卡帕研究中心(Kappa Research Center)。并且,英特爾發(fā)布了開(kāi)源技術(shù)和出版物,推動(dòng)機(jī)器編程的進(jìn)一步發(fā)展以及與合伙伙伴的合作。英特爾還創(chuàng)立了叫做“機(jī)器編程研討會(huì)”,也稱(chēng)MAPS,參會(huì)人數(shù)已經(jīng)從四年前的20人增加到了去年差不多400人。

Justin透露,2021年英特爾還將建立一個(gè)新的機(jī)器編程中心,英特爾也會(huì)建立更廣泛的合作。

不過(guò),無(wú)論是在硬件還是軟件領(lǐng)域,想要實(shí)現(xiàn)1000倍的提升僅靠單一技術(shù)是不夠的。Rich說(shuō):“英特爾的目標(biāo)是讓每個(gè)人都能獲得百億億次級(jí)計(jì)算,英特爾研究院正在實(shí)現(xiàn)這一目標(biāo)。為了實(shí)現(xiàn)目標(biāo),必須改變思考方式,將各領(lǐng)域?qū)<揖奂谝黄?,合作探索科學(xué)和技術(shù)知識(shí)的交叉領(lǐng)域。我們選擇了集成光電、神經(jīng)擬態(tài)計(jì)算、量子計(jì)算、保密計(jì)算、機(jī)器編程這五個(gè)領(lǐng)域。我們認(rèn)為這五個(gè)領(lǐng)域能夠真正大規(guī)模釋放數(shù)據(jù)價(jià)值,并且變革人們與數(shù)據(jù)互動(dòng)的方式。”

2700萬(wàn)程序員要失業(yè)?機(jī)器編程要讓全球78億人都能寫(xiě)代碼

比如機(jī)器編程和神經(jīng)擬態(tài)的交叉研究,Justin認(rèn)為,“機(jī)器編程可以幫助神經(jīng)擬態(tài)計(jì)算,以非傳統(tǒng)的編程角度進(jìn)入該架構(gòu)。今天使用的機(jī)器編程的很多技術(shù),是基于各種機(jī)器學(xué)習(xí)類(lèi)型的系統(tǒng)。我特別感興趣的是,我們是否可以運(yùn)用神經(jīng)擬態(tài)計(jì)算,探索機(jī)器編程的創(chuàng)造性和適應(yīng)性系統(tǒng),目前我們還沒(méi)有探索到。”

最后,引用Justin的一句話:“對(duì)于顛覆性的技術(shù),需要‘理性的自由’,要花時(shí)間深入挖掘把事情做好,如果做事急躁,在設(shè)計(jì)和方法上妥協(xié),可能會(huì)獲得短期收益,但系統(tǒng)長(zhǎng)期的生命力會(huì)下降。”

 

責(zé)任編輯:張燕妮 來(lái)源: 雷鋒網(wǎng)
相關(guān)推薦

2021-01-04 11:13:36

機(jī)器編程程序員代碼

2022-12-08 20:16:43

2021-04-12 10:09:34

AI 數(shù)據(jù)人工智能

2022-12-07 10:02:17

ChatGPTAI免費(fèi)試用

2012-08-29 15:49:50

2021-04-21 09:26:20

程序員技能開(kāi)發(fā)者

2014-11-11 15:27:36

程序員PLINY

2013-05-30 10:19:06

程序員失業(yè)的程序員

2020-07-03 15:34:45

微軟GitHubWindows

2020-10-27 10:26:37

開(kāi)發(fā)無(wú)人編程程序員

2022-02-11 11:32:07

程序員AI編程

2015-05-19 14:34:17

程序員編程語(yǔ)言

2013-04-10 09:44:59

2013-03-05 10:39:47

程序員創(chuàng)業(yè)

2013-03-13 09:50:23

程序員創(chuàng)業(yè)

2013-03-27 10:45:31

2013-05-30 09:55:51

程序員分歧程序員失業(yè)的程序員

2013-02-27 10:40:13

程序員

2013-04-16 11:00:34

2013-03-19 15:15:23

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)