生成式人工智能的走紅已經(jīng)持續(xù)了一年多時間,而且大概率會一直熱下去。
不過隨著大眾對于AI的了解越來越深入,有一個事實也被不少人用段子的形式揭露了出來,“我以為AI是要來幫人類做家務(wù)的,讓我好去寫詩做畫,結(jié)果現(xiàn)在AI來了,AI直接開始寫詩做畫了,我依然在掃地做菜”。
如此調(diào)侃背后指向了當下的AI過于“風(fēng)花雪月”,離真正能改變生產(chǎn)力場景太遠。
01
當然,目前并不是所有的AI大模型廠商都在文生圖、文生視頻賽道狂奔。
日前有消息顯示,英偉達聯(lián)合知名AI開源社區(qū)Hugging Face和ServiceNow,發(fā)布了名為StarCoder2的LLMs系列模型,并希望成為代碼生成領(lǐng)域的新標準。
據(jù)悉,LLMs系列系列模型包括一個由ServiceNow訓(xùn)練的30億參數(shù)模型、一個由Hugging Face訓(xùn)練的70億參數(shù)模型,以及一個由英偉達訓(xùn)練的150億參數(shù)模型。
據(jù)悉,StarCoder2經(jīng)過了619門編程語言的訓(xùn)練,可執(zhí)行源代碼生成、工作流生成、文本摘要等專業(yè)任務(wù)。英偉達對此表示,開發(fā)人員可以利用它進行代碼補全、高級代碼總結(jié)、代碼片段檢索等,從而提高工作效率。
并且值得一提的是,該模型將在BigCode Open RAIL-M許可證的基礎(chǔ)上以開放訪問的方式發(fā)布,以允許免版稅分發(fā)。與現(xiàn)階段沒有用例限制的傳統(tǒng)開源軟件不同,BigCode在發(fā)布模型時附帶了一個負責(zé)任的人工智能模型許可證,限制其被用于生成或分發(fā)惡意代碼以損害電子系統(tǒng)。
02
在GitHub Copilot之后,終于又出現(xiàn)了一個真正意義上的代碼生成大模型。那么,這一次人人都能是程序員的時代要來了嗎?當然不是,且不提StarCoder2并有沒有夸大宣傳,即便StarCoder做到了它所宣稱的一切,上限也只不過是一個程序員的助手,而非代替程序員。這與Midjourney、Stable Diffusion在一定程度上代替畫家,有著本質(zhì)的區(qū)別。
目前StarCoder2的技術(shù)文檔并沒有公開,但從它的上一代產(chǎn)品StarCoder就能一窺該LLMs系列模型的特質(zhì)。作為將大語言模型集成至編程領(lǐng)域代表的StarCoder,其訓(xùn)練模式與傳統(tǒng)的大語言模型并沒有什么區(qū)別,無非就是訓(xùn)練ChatGPT、文心一言這類大模型主要是使用各種文字內(nèi)容,而StarCoder的語料則是代碼。
這也就意味著StarCoder與ChatGPT、文心一言沒有本質(zhì)上的區(qū)別,前者更像是一個專精于細分場景的大模型,而這一類代碼大模型目前能做到的就是自動補全代碼、根據(jù)指令修改代碼,以及用自然語言解釋代碼片段等任務(wù)。
要知道,目前一眾大語言模型最大的命門就是缺乏自我糾正的能力,無論是作為AI聊天機器人的ChatGPT、文生圖的Stable Diffusion,還是文生視頻的Sora都無法規(guī)避幻覺,它們可能會生成一大段不同風(fēng)格天馬行空般的囈語。如今能看到的用ChatGPT作詩、用Stable Diffusion作畫,乃至用Sora生成視頻,其實都離不開人來篩選和修正其中可用的一段。而這背后的含義,就是目前的AIGC還不是智能體、更不是AGI,而像是一種對于人類輸出能力的模仿。
以目前應(yīng)用AIGC最為成熟的游戲美術(shù)領(lǐng)域為例,游戲廠商通常采用的工作流是用AI出一個底稿,然后由人工來增加細節(jié)、并糾偏,再將修改過的畫面重新輸入AI大模型,然后重復(fù)多次,直至打磨出能用的作品。指望AI一次就做成可以商用的圖片,至少現(xiàn)階段是不現(xiàn)實的一件事。然而這樣的工作模式放在編程領(lǐng)域就不那么好使了,因為使用StarCoder2其實就相當于是接手別人的代碼、并debug。
但這幾乎可以說是程序員最不喜歡做的事情之一,特別是沒有注釋的代碼。因為你不可能清晰明了地了解他人代碼的整體設(shè)計思想及理念,所以能讓代碼跑起來就已經(jīng)不錯了,再加上缺失了相關(guān)注釋,debug簡直就是一件災(zāi)難性的工作。因此如今即便已經(jīng)是程序員的用戶,對于代碼模型的使用都很謹慎,基本也不會考慮直接用大模型生成用于生成環(huán)境的代碼。
03
至于說有了StarCoder2人人都能成為程序員,這就更難實現(xiàn)了。用自然語言生成代碼其實早在GitHub的Copilot Chat上就已經(jīng)實現(xiàn),可又多少人僅僅靠著Copilot Chat就能敲開程序員生涯的大門呢?其實編程是一門與計算機對話的學(xué)問,C++、Java、PHP等語言則是代碼世界的“英語”、“漢語”、“法語”。但程序員真正的競爭力并不是代碼編得又快又好,而是能否把現(xiàn)實世界中的需求,清晰地翻譯到抽象的觀念世界。
這種能力,就是產(chǎn)品經(jīng)理與開發(fā)這兩大互聯(lián)網(wǎng)公司中常見職位的標志性差異,而沒有受過計算機科學(xué)培訓(xùn)的人最缺乏的往往就是抽象能力。不過盡管程序員暫時還不需要像畫師一般擔(dān)憂自己的工作馬上就會被AI搶走,可StarCoder2等代碼大模型的出現(xiàn),就代表著相關(guān)廠商一直在嘗試削弱程序員群體的議價權(quán),這顯然不是一個好兆頭。