国产熟女一区二区五月婷-又爽又黄又无遮挡网站-亚洲国产精品视频在线播放-国内偷拍国内精品网999

當(dāng)前位置:首頁(yè) > 最新資訊 > 行業(yè)資訊

為何大語(yǔ)言模型不會(huì)取代碼農(nóng)?

生成式人工智能(GenAI)會(huì)取代人類程序員嗎?恐怕不會(huì)。不過(guò),使用GenAI的人類可能會(huì)取代程序員。但是如今有這么多的大語(yǔ)言模型(LLM),實(shí)際效果不一而足。

為何大語(yǔ)言模型不會(huì)取代碼農(nóng)?

如果您在努力跟上所有LLM,并非只有您一個(gè)人。我們目睹一場(chǎng)激烈的LLM競(jìng)賽。單單谷歌的GenAI產(chǎn)品就已經(jīng)變得非常豐富——其最新的開(kāi)放模型Gemma是LLM快速精簡(jiǎn)的最新例子,甚至可以稱之為小語(yǔ)言模型。

與DevOps社區(qū)更密切相關(guān)的是我們看到其他用于生成代碼的LLM閃電般的開(kāi)發(fā)速度,比如Meta最近更新的Code Llama 70B。當(dāng)然,GenAI嚇倒了不少開(kāi)發(fā)者。最近的一項(xiàng)研究發(fā)現(xiàn),近一半的開(kāi)發(fā)者對(duì)于自己憑借目前的技術(shù)技能在GenAI界取得成功表示了擔(dān)憂。

但這種擔(dān)心真的有道理嗎?關(guān)于人類程序員已死的說(shuō)法可能夸大其辭了。人類甚至可能實(shí)際上有更多的時(shí)間來(lái)準(zhǔn)備迎接由GenAI主導(dǎo)的世界。

事實(shí)上,開(kāi)發(fā)者應(yīng)該詢問(wèn)的更適當(dāng)?shù)膯?wèn)題不是“GenAI會(huì)搶走我的工作嗎?”,而是“我該使用哪個(gè)LLM?”

太龐大了,編程沒(méi)法成功

LLM給軟件開(kāi)發(fā)界的承諾是有望將碼農(nóng)變成架構(gòu)師。然而,并非所有LLM都天生一樣;值得探討的是,為什么一開(kāi)始就涌現(xiàn)出了較小巧的LLM。

更強(qiáng)大的主流模型(比如GPT-4和Claude 2)仍然只能勉強(qiáng)解決不到5%的實(shí)際GitHub問(wèn)題。ChatGPT仍然存在嚴(yán)重的幻覺(jué)問(wèn)題:假變量,或者甚至十多年前就已經(jīng)被棄用的概念。此外,它讓沒(méi)用的內(nèi)容看起來(lái)很有用。您可以嘗試?yán)?ldquo;提示工程”來(lái)擺脫這些沒(méi)用的內(nèi)容,但是有益的上下文數(shù)量存在一個(gè)最佳平衡點(diǎn)——太多會(huì)導(dǎo)致更混亂更隨機(jī)的結(jié)果,白白耗費(fèi)了更多的處理能力。

LLM編程方面更大的問(wèn)題是信任。在過(guò)去,主流LLM不加區(qū)別地吸收網(wǎng)上的一切內(nèi)容,就像一個(gè)大型數(shù)字吸塵器,至于它們從哪里獲取數(shù)據(jù)缺乏透明度。哪怕一家公司交付的代碼中僅僅1%含有另一家公司的受版權(quán)保護(hù)的代碼,這也是個(gè)問(wèn)題。您可以想象噩夢(mèng)般的召回場(chǎng)景:交付的產(chǎn)品沒(méi)有無(wú)線傳輸功能來(lái)挑出可疑代碼。

不過(guò),LLM格局正在迅速改變。

LLM對(duì)于編碼夠?qū)I(yè)嗎?

當(dāng)Meta在今年早些時(shí)候宣布對(duì)其Code Llama 70B進(jìn)行更新時(shí),感覺(jué)這是大受歡迎的嘗試,有望解決主流LLM對(duì)編碼缺乏關(guān)注的問(wèn)題。它有三種不同大小的版本:70億個(gè)參數(shù)、130億個(gè)參數(shù)和340億個(gè)參數(shù)。它還使用代碼的5000億個(gè)token和與代碼相關(guān)的數(shù)據(jù)進(jìn)行訓(xùn)練,包含10萬(wàn)個(gè)token的龐大上下文窗口。

從理論上講,其中最令人興奮的是Code Llama Python,這是專門為Python設(shè)計(jì)的Code Llama版本——主要是由于它代表了LLM未來(lái)的發(fā)展方向。與Meta的大型科技同行開(kāi)發(fā)的一些模型不同,這個(gè)模型完全致力于為一種特定的語(yǔ)言編程,使用Python代碼的大約1000億個(gè)額外的token進(jìn)行訓(xùn)練。業(yè)界更加需要的正是針對(duì)特定用例的這種級(jí)別的定制建模。

之所以需要強(qiáng)調(diào)“理論上令人興奮”,是由于像Code Llama這樣的LLM對(duì)開(kāi)發(fā)者到底有多有用還有待觀察。去Reddit看看,就會(huì)發(fā)現(xiàn)早期的結(jié)論似乎是,該模型因諸多問(wèn)題而令人沮喪,其中包括復(fù)雜的提示格式、過(guò)于嚴(yán)格的護(hù)欄,最重要的還有幻覺(jué)問(wèn)題。最后一點(diǎn)是另一個(gè)不爭(zhēng)的事實(shí),提醒人們:任何模型的好壞完全取決于訓(xùn)練它所使用的數(shù)據(jù)。

不管是否存在缺陷,Meta的定制LLM方法已經(jīng)引起了人們的重視,即大語(yǔ)言模型并不是AI輔助代碼生成取得成功的唯一途徑。我們看到,業(yè)界越來(lái)越青睞使用規(guī)模較小、更專門化的LLM編寫代碼,比如BigCode、Codegen和CodeAlpaca。StarCoder是另一個(gè)LLM,盡管只有155億個(gè)參數(shù),但在評(píng)估基準(zhǔn)測(cè)試中的表現(xiàn)卻勝過(guò)PaLM、LaMDA和LLaMA等超大模型。

這每一種選擇都有優(yōu)缺點(diǎn),但最重要的是,小模型用起來(lái)比大模型安全得多。如果您在用C++編程,果真需要您的LLM充斥著一大堆不相關(guān)的知識(shí)(比如“誰(shuí)是美國(guó)第三任總統(tǒng)?”)嗎?數(shù)據(jù)池越小,保持內(nèi)容的相關(guān)性就越容易,模型的訓(xùn)練成本就越低,無(wú)意中竊取他人受版權(quán)保護(hù)數(shù)據(jù)的可能性也就越小。

2024年的DevOps團(tuán)隊(duì)?wèi)?yīng)該徹底調(diào)研市面上所有可用的LLM選項(xiàng),而不是默認(rèn)選擇最明顯的選項(xiàng)。甚至可能有必要針對(duì)不同的用例使用不止一種LLM。

但回到當(dāng)前存在的問(wèn)題……

GenAI會(huì)取代人類嗎?

這些GenAI工具有可能代替真正的程序員嗎?除非模型提供的編程答案具有的準(zhǔn)確性提高到了可接受的誤差范圍內(nèi)(即98%-100%),否則可能代替不了。

不過(guò)為了便于討論,我們假設(shè)GenAI確實(shí)達(dá)到了這個(gè)誤差范圍。那么這是否意味著軟件工程的角色將發(fā)生轉(zhuǎn)變,您只需審查和驗(yàn)證AI生成的代碼,而不是編寫代碼?如果四眼原則(four-eyes principle)適用的話,這樣的假設(shè)可能是錯(cuò)誤的。這是內(nèi)部風(fēng)險(xiǎn)控制最重要的機(jī)制之一,要求任何實(shí)質(zhì)性風(fēng)險(xiǎn)的活動(dòng)(比如交付軟件)都要由第二個(gè)、獨(dú)立的、有能力的人進(jìn)行審查和復(fù)核。除非AI被重新歸類是一種獨(dú)立的、有能力的生命體,否則它短期內(nèi)應(yīng)該沒(méi)有資格成為四眼原則中的另一雙眼睛。

如果GenAI將來(lái)有能力進(jìn)行端到端開(kāi)發(fā)和構(gòu)建人機(jī)界面,那也不會(huì)是在不久的將來(lái)。LLM可以充分地與文本和圖像元素進(jìn)行交互。甚至現(xiàn)在就有工具可以將網(wǎng)頁(yè)設(shè)計(jì)轉(zhuǎn)換成前端代碼。然而與編碼相比,AI單獨(dú)承擔(dān)與圖形和UI/UX工作流程相關(guān)的設(shè)計(jì)要困難得多,盡管并非不可能。編碼也只是開(kāi)發(fā)的其中一部分。剩余的工作就是另辟蹊徑,弄清楚誰(shuí)是受眾,將想法轉(zhuǎn)化為可以構(gòu)建的產(chǎn)品,然后加以完善和改進(jìn),這正是人類發(fā)揮作用的地方。

不管LLM變得有多好,對(duì)于程序員來(lái)說(shuō),有一條原則應(yīng)該始終不變:像對(duì)待自己編寫的代碼一樣對(duì)待每一段代碼。請(qǐng)同行評(píng)審,詢問(wèn)同事“這是好的代碼嗎?”。永遠(yuǎn)不要盲目相信代碼。

猜你喜歡