上半年中國(guó)AR/VR出貨23.3萬(wàn)臺(tái),同比下滑了 29.1%IDC:2024 上半年中國(guó) AR / VR 頭顯出貨 23.3 萬(wàn)臺(tái),同比下滑 29.1%英特爾AI加速器Gaudi3下周發(fā)布,挑戰(zhàn)NVIDIA統(tǒng)治地位!大屏技術(shù)邂逅千年色彩美學(xué)!海信激光電視成為電影《只此青綠》官方合作伙伴OpenAI將最新AI模型o1擴(kuò)展到企業(yè)和教育領(lǐng)域三星新專利探索AR技術(shù)新應(yīng)用:檢測(cè)屏幕指紋殘留,提高手機(jī)安全性猛瑪傳奇C1:直播圖傳技術(shù)的革新者JFrog推出首個(gè)運(yùn)行時(shí)安全解決方案,實(shí)現(xiàn)從代碼到云的全面軟件完整性和可追溯性亞馬遜推出一大波生成式 AI 工具,購(gòu)物體驗(yàn)全面升級(jí)機(jī)器人公司1X推出世界模型Apple Intelligence測(cè)試版現(xiàn)已開放革命性AI對(duì)話系統(tǒng)Moshi問(wèn)世:機(jī)器也能說(shuō)人話了?阿里國(guó)際推出最新多模態(tài)大模型 Ovis,看菜品就能提供烹飪步驟華為發(fā)布智聯(lián)集成行業(yè)解決方案,助力客戶打造行業(yè)領(lǐng)先的目標(biāo)網(wǎng)絡(luò)AI 3D生成天花板再拉升!清華團(tuán)隊(duì)煉成3D Scaling Law正在逐步覆蓋!騰訊提醒勿為實(shí)況圖重裝微信:以免丟失微信聊天記錄iPhone16多款機(jī)型破發(fā):最高比官網(wǎng)便宜600元劉積仁不愛“湊熱鬧”,但東軟集團(tuán)喜歡“追風(fēng)口”快手電商新增近800個(gè)“0元開店”類目,推出多項(xiàng)新商入駐權(quán)益年內(nèi)狂攬五項(xiàng)第一,“字節(jié)系大模型”何以后發(fā)先至?
  • 首頁(yè) > 云計(jì)算頻道 > 大模型

    大型語(yǔ)言模型和人工智能代碼生成器的興起

    2023年08月04日 15:14:35   來(lái)源:51CTO

      譯者 | 李睿

      本文作者M(jìn)artin Heller是一名Web和Windows編程顧問(wèn),也是行業(yè)媒體InfoWorld的特約編輯和評(píng)論員。Heller表示,他在2021年11月撰寫關(guān)于GitHub Copilot的文章時(shí),Copilot是當(dāng)時(shí)發(fā)布的為數(shù)不多的人工智能代碼生成技術(shù)之一。他將GitHub Copilot作為Visual Studio代碼擴(kuò)展進(jìn)行了測(cè)試。當(dāng)時(shí),Copilot并不總是能生成良好的、正確的、甚至是可運(yùn)行的代碼,但它仍然有一些用處。Copilot(以及其他使用機(jī)器學(xué)習(xí)的代碼生成器)背后的巨大承諾是,它的設(shè)計(jì)是通過(guò)將用戶反饋和將新代碼樣本攝取到其訓(xùn)練語(yǔ)料庫(kù)中,并且隨著時(shí)間的推移而改進(jìn)。

      截至2023年5月,僅Visual Studio code就有數(shù)百個(gè)“人工智能”或“代碼生成”擴(kuò)展可用。其中一些可能會(huì)在編碼時(shí)為用戶節(jié)省一些時(shí)間,但是用戶不能在沒(méi)有檢查、測(cè)試和調(diào)試的情況下就相信它們生成的代碼。

      圖1

      市場(chǎng)上有數(shù)以百計(jì)的Visual Studio Code承諾“代碼生成”或“人工智能”擴(kuò)展可用,但實(shí)際上只有一小部分基于機(jī)器學(xué)習(xí)生成代碼

      在這一領(lǐng)域一個(gè)很有前途的發(fā)展是一些工具可以自動(dòng)生成單元測(cè)試。生成單元測(cè)試是一個(gè)比生成通用代碼更容易處理的問(wèn)題——事實(shí)上,它可以使用簡(jiǎn)單的模式來(lái)完成,但是用戶仍然需要檢查和運(yùn)行生成的測(cè)試,以確定它們是否有意義。

      本文將簡(jiǎn)要介紹語(yǔ)言模型的歷史,然后考察最先進(jìn)的大型語(yǔ)言模型(LLM),例如OpenAI公司的GPT家族和谷歌公司的LaMDA和PaLM,它們目前用于文本生成和代碼生成。最后,將簡(jiǎn)單介紹10個(gè)代碼生成工具,其中包括Amazon CodeWhisperer、Google Bard和GitHub Copilot X等。

      人工智能文本生成模型發(fā)展簡(jiǎn)史

      語(yǔ)言模型可以追溯到安德烈·馬爾科夫在1913年提出的馬爾可夫鏈,這是馬爾可夫模型的一個(gè)特例。馬爾科夫指出,在俄語(yǔ)中,特別是在普希金的韻文小說(shuō)《尤金·奧涅金》中,一個(gè)字母出現(xiàn)的概率取決于前一個(gè)字母,而且一般來(lái)說(shuō),輔音和元音往往交替出現(xiàn)。此后,馬爾可夫方法被推廣到詞匯、其他語(yǔ)言和其他語(yǔ)言應(yīng)用中。

      1948年,克勞德·香農(nóng)(Claude Shannon)在通信理論方面擴(kuò)展了馬爾可夫的理論,1985年,IBM公司的Fred Jelinek和Robert Mercer再次擴(kuò)展了馬爾科夫的理論,產(chǎn)生了一個(gè)基于交叉驗(yàn)證(他們稱之為刪除估計(jì))的語(yǔ)言模型,并將其應(yīng)用于實(shí)時(shí)、大詞匯量的語(yǔ)音識(shí)別。從本質(zhì)上講,統(tǒng)計(jì)語(yǔ)言模型為單詞序列分配概率。

      要想快速查看語(yǔ)言模型的運(yùn)行情況,可以在谷歌搜索或智能手機(jī)上的短信應(yīng)用程序中輸入幾個(gè)單詞,并允許它提供自動(dòng)完成選項(xiàng)。

      2000年,Yoshua Bengio等人發(fā)表了一篇關(guān)于神經(jīng)概率語(yǔ)言模型的論文,其中神經(jīng)網(wǎng)絡(luò)取代了統(tǒng)計(jì)語(yǔ)言模型中的概率,繞過(guò)了維度的詛咒,并將單詞預(yù)測(cè)(基于以前的單詞)提高了20%~35%,而不是平滑的三元模型(當(dāng)時(shí)是最新技術(shù))。語(yǔ)言的前饋、自回歸、神經(jīng)網(wǎng)絡(luò)模型的思想至今仍在使用,盡管這些模型現(xiàn)在有數(shù)十億個(gè)參數(shù),并且是在廣泛的語(yǔ)料庫(kù)上訓(xùn)練的,因此有了“大型語(yǔ)言模型”這個(gè)術(shù)語(yǔ)。

      正如人們將看到的,隨著時(shí)間的推移,語(yǔ)言模型的規(guī)模不斷變得更大,以使它們表現(xiàn)得更好。然而,這樣做是有代價(jià)的。2021年發(fā)表的論文《隨機(jī)鸚鵡的危險(xiǎn):語(yǔ)言模型是否太大?》的作者Emily Bender、Timnit Gebru質(zhì)疑人們是否在這一趨勢(shì)上走得太遠(yuǎn)。他們建議,除了其他事項(xiàng)之外,人們應(yīng)該首先權(quán)衡環(huán)境和財(cái)務(wù)成本,并將資源投入到整理和仔細(xì)記錄數(shù)據(jù)集上,而不是從網(wǎng)絡(luò)上攝取一切。

      Gebru和Bender后來(lái)都因?yàn)橹肛?zé)谷歌公司在人工智能的道德應(yīng)用問(wèn)題而辭職。Bender現(xiàn)在入職華盛頓大學(xué),而Gebru創(chuàng)立了分布式人工智能研究所。

      用于文本生成的大型語(yǔ)言模型

      最近大型語(yǔ)言模型的爆發(fā)是由Google Brain項(xiàng)目和Google Research項(xiàng)目的Ashish Vaswani等人在2017年發(fā)表的論文《注意力就是你所需要的一切》引發(fā)的。該論文介紹了“Transformer這種新的簡(jiǎn)單網(wǎng)絡(luò)架構(gòu),它完全基于注意力機(jī)制,完全省去了遞歸和卷積。”Transformer模型比遞歸和卷積模型更簡(jiǎn)單,也更優(yōu)越。它們訓(xùn)練所需的時(shí)間也顯著減少。

      ELMo

      ELMo是AllenNLP在2018年推出的深度語(yǔ)境化單詞表示(參見ELMo論文),它既模擬了單詞使用的復(fù)雜特征(例如語(yǔ)法和語(yǔ)義),也模擬了這些用法在不同的語(yǔ)言語(yǔ)境中是如何變化的(例如建模多義性)。其最初的模型有9360萬(wàn)個(gè)參數(shù),并在十億個(gè)單詞基準(zhǔn)上進(jìn)行訓(xùn)練。

      BERT

      BERT是來(lái)自Google AI Language的2018年語(yǔ)言模型,基于該公司的Transformer(2017)神經(jīng)網(wǎng)絡(luò)架構(gòu)(參見BERT論文)。BERT的目的是通過(guò)在所有層中對(duì)左右場(chǎng)景進(jìn)行聯(lián)合條件反射,從未標(biāo)記的文本中預(yù)訓(xùn)練深度雙向表示。原文中使用的兩種模型規(guī)模分別是1億個(gè)參數(shù)和3.4億個(gè)參數(shù)。BERT使用掩碼語(yǔ)言建模(MLM),其中約15%的令牌被“破壞”用于訓(xùn)練。它是在英文維基百科和多倫多圖書語(yǔ)料庫(kù)上訓(xùn)練的。

      T5

      來(lái)自谷歌的2020文本到文本傳輸轉(zhuǎn)換器(T5)模型(見T5論文)使用一個(gè)新的開源預(yù)訓(xùn)練數(shù)據(jù)集,稱為Colossal Clean Crawled Corpus (C4),基于來(lái)自GPT、ULMFiT、ELMo和BERT及其后繼者的最佳遷移學(xué)習(xí)技術(shù),綜合了一個(gè)新的模型。C4是一個(gè)基于CommonCrawl數(shù)據(jù)集的800GB數(shù)據(jù)集。T5將所有自然語(yǔ)言處理任務(wù)重新構(gòu)建為統(tǒng)一的文本到文本格式,其中輸入和輸出始終是文本字符串,而BERT風(fēng)格的模型只輸出一個(gè)類標(biāo)簽或輸入的一個(gè)范圍;镜腡5模型總共有大約2.2億個(gè)參數(shù)。

      GPT家族

      OpenAI公司是一家人工智能研究和部署公司,其使命是“確保通用人工智能(AGI)造福人類”。當(dāng)然,OpenAI公司還沒(méi)有實(shí)現(xiàn)通用人工智能(AGI)。一些人工智能研究人員(例如Meta-FAIR的機(jī)器學(xué)習(xí)先驅(qū)Yann LeCun)認(rèn)為OpenAI公司目前研究的通用人工智能(AGI)方法是一條死胡同。

      OpenAI公司開發(fā)了GPT語(yǔ)言模型家族,這些模型可以通過(guò)OpenAI API和微軟的Azure OpenAI服務(wù)獲得。需要注意的是,整個(gè)GPT系列都是基于谷歌公司的2017 Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu),這是合法的,因?yàn)楣雀韫鹃_放了Transformer的源代碼。

      GPT(生成預(yù)訓(xùn)練Transformer)是OpenAI公司在2018年開發(fā)的一個(gè)模型,使用了大約1.17億個(gè)參數(shù)(參見GPT論文)。GPT是一個(gè)單向轉(zhuǎn)換器,它在多倫多圖書語(yǔ)料庫(kù)上進(jìn)行了預(yù)訓(xùn)練,并使用因果語(yǔ)言建模(CLM)目標(biāo)進(jìn)行了訓(xùn)練,這意味著它被訓(xùn)練為預(yù)測(cè)序列中的下一個(gè)標(biāo)記。

      GPT-2是GPT的2019年直接擴(kuò)展版,具有15億個(gè)參數(shù),在800萬(wàn)個(gè)網(wǎng)頁(yè)或約40GB的文本數(shù)據(jù)集上進(jìn)行了訓(xùn)練。OpenAI公司最初限制使用GPT-2,因?yàn)樗?ldquo;太好了”,會(huì)產(chǎn)生“假新聞”。盡管隨著GPT-3的發(fā)布,潛在的社會(huì)問(wèn)題變得更加嚴(yán)重,但該公司最終還是讓步了。

      GPT-3是一個(gè)2020年開發(fā)的自回歸語(yǔ)言模型,具有1750億個(gè)參數(shù),在Common Crawl、WebText2、Books1、Books2和英語(yǔ)維基百科的過(guò)濾版本的組合上進(jìn)行訓(xùn)練(見GPT-3論文)。GPT-3中使用的神經(jīng)網(wǎng)絡(luò)與GPT-2中使用的類似,有幾個(gè)額外的塊。

      GPT-3最大的缺點(diǎn)是它容易產(chǎn)生“幻覺”,換句話說(shuō),它在沒(méi)有辨別依據(jù)的情況下編造事實(shí)。GPT-3.5和GPT-4也有同樣的問(wèn)題,盡管程度較輕。

      CODEX是GPT-3在2021年推出的新一代模型,針對(duì)5400萬(wàn)個(gè)開源GitHub存儲(chǔ)庫(kù)的代碼生成進(jìn)行了微調(diào)。這是GitHub Copilot中使用的模型,將在下一節(jié)中討論。

      GPT-3.5是GPT-3和CODEX在2022年的一組更新版本。GPT-3.5-turbo模型針對(duì)聊天進(jìn)行了優(yōu)化,但也適用于傳統(tǒng)的完成任務(wù)。

      GPT-4是一個(gè)2023年的大型多模態(tài)模型(接受圖像和文本輸入,發(fā)出文本輸出),OpenAI公司聲稱它在各種專業(yè)和學(xué)術(shù)基準(zhǔn)上表現(xiàn)出人類水平的性能。GPT-4在許多模擬考試中表現(xiàn)優(yōu)于GPT-3.5,包括統(tǒng)一律師考試、LSAT、GRE和幾個(gè)AP科目考試。

      值得關(guān)注的是,OpenAI公司沒(méi)有解釋GPT-4是如何訓(xùn)練的。該公司表示,這是出于競(jìng)爭(zhēng)原因,考慮到微軟公司(一直在為OpenAI公司提供資金)和谷歌公司之間的競(jìng)爭(zhēng),這在一定程度上是有道理的。然而,不知道訓(xùn)練語(yǔ)料庫(kù)中的偏差意味著人們不知道模型中的偏差。

      Emily Bender對(duì)GPT-4的看法(于2023年3月16日發(fā)表在Mastodon上)是“GPT-4應(yīng)該被認(rèn)為是有毒的垃圾,除非OpenAI公司對(duì)其訓(xùn)練數(shù)據(jù)、模型架構(gòu)等進(jìn)行開放。”

      ChatGPT和BingGPT是最初基于GPT-3.5-turbo的聊天機(jī)器人,并于2023年3月升級(jí)為使用GPT-4。目前使用基于GPT-4的ChatGPT版本,需要訂閱ChatGPTPlus;贕PT-3.5的標(biāo)準(zhǔn)ChatGPT是根據(jù)2021年9月截止的數(shù)據(jù)進(jìn)行訓(xùn)練的。用戶可以在微軟Edge瀏覽器中訪問(wèn)BingGPT,它也接受了2021年中斷的數(shù)據(jù)的訓(xùn)練,但它說(shuō)(當(dāng)你問(wèn)它時(shí)) “我正在不斷學(xué)習(xí),并用網(wǎng)絡(luò)上的新信息更新我的知識(shí)。”

      圖2 BingGPT在圖片右側(cè)解釋其語(yǔ)言模型和訓(xùn)練數(shù)據(jù)

      2023年3月初,香港科技大學(xué)人工智能研究中心的Pascale Fung就ChatGPT評(píng)估進(jìn)行了演講。

      LaMDA(對(duì)話應(yīng)用程序語(yǔ)言模型)是谷歌2021年的“突破性”對(duì)話技術(shù),是2017年針對(duì)對(duì)話訓(xùn)練的Transformer模型,經(jīng)過(guò)微調(diào),可以顯著提高其反應(yīng)的敏感性和特異性。LaMDA的優(yōu)勢(shì)之一是它可以處理人類對(duì)話中常見的話題漂移。

      LaMDA的一個(gè)版本為谷歌公司的對(duì)話式人工智能服務(wù)Bard提供了動(dòng)力。Bard于2023年3月21日發(fā)布,并于2023年5月10日全面發(fā)布。以下將討論它的代碼生成功能。

      PaLM

      PaLM (路徑語(yǔ)言模型)是來(lái)自Google Research的2022年密集的純解碼器Transformer模型,具有5400億個(gè)參數(shù),使用Pathways系統(tǒng)進(jìn)行訓(xùn)練(參見PaLM論文)。PaLM是使用英語(yǔ)和多語(yǔ)言數(shù)據(jù)集的組合進(jìn)行培訓(xùn)的,這些數(shù)據(jù)集包括高質(zhì)量的網(wǎng)絡(luò)文檔、書籍、維基百科、對(duì)話和GitHub代碼。

      谷歌公司還為PaLM創(chuàng)建了一個(gè)“無(wú)損”詞匯表,它保留了所有空白(對(duì)代碼尤其重要),將詞匯表外的Unicode字符拆分成字節(jié),并將數(shù)字分割成單獨(dú)的令牌,每個(gè)數(shù)字一個(gè)令牌。PaLM Coder是PaLM 540B的一個(gè)版本,僅對(duì)Python代碼數(shù)據(jù)集進(jìn)行了微調(diào)。

      PaLM-E

      PaLM-E是谷歌公司在2023年推出的“具體化”(用于機(jī)器人)多模態(tài)語(yǔ)言模型。研究人員從一個(gè)強(qiáng)大的大型語(yǔ)言模型PaLM開始,并通過(guò)補(bǔ)充機(jī)器人代理的傳感器數(shù)據(jù)來(lái)具體化它(PaLM-E中的“E”)。PaLM-E也是一個(gè)功能強(qiáng)大的視覺和語(yǔ)言模型。除了PaLM之外,它還集成了ViT-22B視覺模型。

      LLaMA

      LLaMA(大型語(yǔ)言模型元人工智能)是由Meta AI(又名Meta- FAIR))于2023年2月發(fā)布的650億個(gè)參數(shù)的“原始”大型語(yǔ)言模型。Meta表示,“在大型語(yǔ)言模型空間中訓(xùn)練像LLaMA這樣的小型基礎(chǔ)模型是可取的,因?yàn)樗枰俚挠?jì)算能力和資源來(lái)測(cè)試新方法,驗(yàn)證其他人的工作,并探索新的用例;A(chǔ)模型在大量未標(biāo)記的數(shù)據(jù)上進(jìn)行訓(xùn)練,這使得它們非常適合針對(duì)各種任務(wù)進(jìn)行微調(diào)。”

      LLaMA以多種尺寸發(fā)布,同時(shí)還發(fā)布了一張模型卡,詳細(xì)說(shuō)明了模型是如何構(gòu)建的。Meta-FAIR的Yann LeCun表示,最初,用戶必須請(qǐng)求檢查點(diǎn)和標(biāo)記器,但現(xiàn)在它們已經(jīng)被釋放了,因?yàn)橛腥送ㄟ^(guò)提交請(qǐng)求正確獲得了模型,并在4chan上發(fā)布了一個(gè)可下載的種子。

      專門的代碼生成產(chǎn)品

      雖然包括ChatGPT和Bard在內(nèi)的一些大型語(yǔ)言模型可以生成用于發(fā)布的代碼,但如果它們對(duì)某些代碼進(jìn)行微調(diào),通常是來(lái)自免費(fèi)開源軟件的代碼,以避免公然侵犯版權(quán)。這仍然引發(fā)了“開源軟件盜版”的擔(dān)憂,比如2022年針對(duì)GitHub、微軟(GitHub的所有者)和OpenAI公司的GitHub Copilot產(chǎn)品和OpenAI GPT Codex模型提起集體訴訟的主張。

      需要注意的是,除了使用在公共可用代碼上訓(xùn)練的人工智能模型之外,一些代碼生成工具依賴于搜索代碼共享網(wǎng)站,例如Stack Overflow。

      Amazon CodeWhisperer

      Amazon CodeWhisperer集成了Visual Studio Code和JetBrains IDE,根據(jù)現(xiàn)有代碼生成代碼建議以響應(yīng)注釋和代碼完成,并可以掃描代碼以查找安全問(wèn)題。用戶還可以激活CodeWhisperer,以便在AWS Cloud9和AWS Lambda中使用。

      CodeWhisperer很好地支持Python、Java、JavaScript、TypeScript和C#編程語(yǔ)言,以及其他10種編程語(yǔ)言。它對(duì)個(gè)人開發(fā)人員是免費(fèi)的,對(duì)專業(yè)團(tuán)隊(duì)來(lái)說(shuō),每個(gè)用戶每月需要支付19美元。

      Heller采用CodeWhisperer編寫了如下所示的Python代碼,并對(duì)它進(jìn)行了審查、測(cè)試和調(diào)試,其結(jié)果很好。

      圖3

      Heller使用Amazon CodeWhisperer生成代碼。在文件的頂部輸入了注釋,剩下的大部分都是CodeWhisperer。Heller必須從幾個(gè)選項(xiàng)中選擇代碼,并從前一個(gè)選項(xiàng)中刪除未使用的導(dǎo)入語(yǔ)句

      Bard

      Bard于2023年4月21日宣布支持編程。該公告指出,支持20多種編程語(yǔ)言,包括C++、Go、Java、JavaScript、TypeScript和Python。作為一個(gè)快速測(cè)試,Heller讓Bard“編寫一個(gè)Go函數(shù)來(lái)返回當(dāng)前的日期和時(shí)間。”它做得很快:

      圖4

      Bard生成了一個(gè)正確的Go語(yǔ)言函數(shù),一個(gè)使用該函數(shù)的示例,以及對(duì)該函數(shù)的解釋,所有這些都來(lái)自“編寫一個(gè)Go函數(shù)以返回當(dāng)前日期和時(shí)間”的提示。注意復(fù)制函數(shù)和測(cè)試代碼的圖標(biāo)

      Bard不僅編寫了這個(gè)函數(shù),還解釋了這個(gè)函數(shù),并生成了一個(gè)調(diào)用函數(shù)的例子。

      CodeT5

      CodeT5是Salesforce AI Research的2021代碼特定的統(tǒng)一預(yù)訓(xùn)練編碼器-解碼器轉(zhuǎn)換器模型。它基于2020年谷歌T5模型架構(gòu),并對(duì)CodeSearchNet數(shù)據(jù)集和BigQuery的一些C/C#代碼進(jìn)行了微調(diào)。CodeT5的官方PyTorch實(shí)現(xiàn)位于GitHub上,在Hugging Face上有兩個(gè)檢查點(diǎn),在GitHubREADME中有鏈接。

      GitHub Copilot

      當(dāng)Heller在2021年11月審查GitHub Copilot的預(yù)發(fā)布版本時(shí),他發(fā)現(xiàn),雖然它并不總是生成良好的、正確的、甚至運(yùn)行的代碼,但它仍然有些有用。Copilot基于OpenAI Codex,而OpenAI Codex又基于GPT-3,GPT-3經(jīng)過(guò)微調(diào),可以在5400萬(wàn)個(gè)開源GitHub存儲(chǔ)庫(kù)上生成代碼。GitHub Copilot目前的費(fèi)用是每月10美元或每年100美元,除非用戶有資格獲得免費(fèi)版本。

      Heller喜歡Copilot在Visual Studio Code中的工作方式;旧,必須編寫函數(shù)的第一行,或者描述函數(shù)的注釋,然后Copilot將生成多達(dá)10個(gè)版本的函數(shù),可以按原樣使用,編輯或不使用。正如Heller在上面所指出的,應(yīng)該對(duì)Copilot生成的任何代碼持保留態(tài)度,因?yàn)樗_實(shí)容易產(chǎn)生幻覺,例如在下面的示例中第8行和第9行的代碼注釋中。

      圖5

      代碼由GitHub Copilot制作。通過(guò)輸入行首和一堆制表符,生成了第8行和第9行。Heller輸入了第10行和第11行的開頭,Copilot完成了第11行。注意,第8行和第9行中生成的關(guān)于預(yù)期結(jié)果值的不正確注釋

      GitHub Copilot X

      目前處于技術(shù)預(yù)覽階段的GitHub Copilot X基于GPT-4。它通過(guò)聊天和終端界面、生成單元測(cè)試的能力、生成拉取請(qǐng)求描述的能力以及從文檔中提取解釋的能力“升級(jí)”了原始的Copilot。

      GitHub Copilot X比原來(lái)的GitHub Copilot有了很大的改進(jìn),有時(shí)可以在沒(méi)有太多人工幫助的情況下生成正確的函數(shù)和一組測(cè)試。它仍然會(huì)犯錯(cuò)誤和產(chǎn)生幻覺,但遠(yuǎn)不如它的前身那么多。作為參考,以下是Heller寫的原始Copilot。

      圖6

      Heller能夠讓GitHub Copilot X生成大部分正確的函數(shù)和良好的參數(shù)化測(cè)試集,只需在頂部輸入注釋并按Enter和Tab四到五次

      IntelliSense和IntelliCode

      Microsoft IntelliSense是Visual Studio和Visual Studio代碼的內(nèi)置功能,它使用語(yǔ)言語(yǔ)義為短代碼完成提供一個(gè)選項(xiàng)菜單。它通常能很好地幫助用戶找到所需的API或方法調(diào)用,但往往會(huì)提供許多選擇。

      IntelliCode是IntelliSense的一個(gè)增強(qiáng)插件,它使用在本地機(jī)器上運(yùn)行的人工智能來(lái)檢測(cè)代碼場(chǎng)景——包括變量名、函數(shù)和正在編寫的代碼類型,并提供最好的建議,在某些情況下可提供整行補(bǔ)全。IntelliCode還可以幫助用戶清理重復(fù)的代碼,并為常見的編程任務(wù)推薦快速操作。

      IntelliCode在Visual Studio 2022中與C#、C++、Java、SQL和XAML配合使用,在Visual Studio代碼中與TypeScript、JavaScript和Python配合使用。

      Kite

      Kite是2014年至2021年使用人工智能幫助開發(fā)者編寫代碼的早期嘗試。盡管它吸引了50多萬(wàn)名開發(fā)者,但卻從未創(chuàng)造任何收益。Kiteco存儲(chǔ)庫(kù)包含其大部分源代碼,但有一些私有位已被XXXXX取代,因此一些代碼無(wú)法運(yùn)行。

      PolyCoder

      PolyCoder是卡內(nèi)基梅隆大學(xué)用于代碼生成的2022,27億個(gè)參數(shù)的開源大型語(yǔ)言模型(見論文)。它基于GPT-2模型架構(gòu),并在12種編程語(yǔ)言的249GB代碼上進(jìn)行了訓(xùn)練。在C編程語(yǔ)言中,PolyCoder優(yōu)于包括Codex在內(nèi)的所有模型。

      Replit Ghostwriter

      Replit Ghostwriter于2022年萬(wàn)圣節(jié)發(fā)布,提供五種功能:代碼完成、代碼解釋、代碼轉(zhuǎn)換、代碼生成以膠帶調(diào)試的錯(cuò)誤檢測(cè),每月10美元(或多或少,取決于用戶使用的“周期”數(shù)量)。它與Replit在線編輯器集成,支持Python、Ruby、JavaScript、TypeScript、HTML、CSS、Go、Lisp、Haskell、Bash、C、C++、Rust、Java和JSON。

      根據(jù)Replit公司的說(shuō)法,Ghostwriter“返回由公開可用代碼訓(xùn)練并由Replit調(diào)優(yōu)的大型語(yǔ)言模型生成的結(jié)果。”Replit沒(méi)有指定用于Ghostwriter的大型語(yǔ)言模型或訓(xùn)練語(yǔ)料庫(kù),這使它與Emily Bender對(duì)GPT-4的指控相同:除非Replit公開其訓(xùn)練數(shù)據(jù),模型架構(gòu)等,否則應(yīng)該假設(shè)Ghostwriter是有毒垃圾。這也讓Replit面臨著與GitHub Copilot同樣的“開源軟件盜版”指控。

      Tabnine

      Tabnine來(lái)自總部位于以色列特拉維夫的Tabnine公司,看起來(lái)就像服用了類固醇的IntelliSense,可以選擇在用戶自己的代碼語(yǔ)料庫(kù)上進(jìn)行訓(xùn)練,也可以在開源代碼上進(jìn)行訓(xùn)練。它可以在編輯器或IDE中完成整行和全功能的代碼補(bǔ)全,支持20種這樣的工具,從Visual Studiocode和IntelliJ到Emacs和Vim。

      根據(jù)用戶選擇的計(jì)劃,Tabnine可以使用一種通用的人工智能模型,這種模型是在許可的開源代碼上訓(xùn)練的,或者一組針對(duì)所有編程語(yǔ)言優(yōu)化的生成人工智能模型“專門用于匹配的技術(shù)堆棧”,或者在用戶自己的存儲(chǔ)庫(kù)上訓(xùn)練的私有代碼模型。

      Tabnine的免費(fèi)Starter計(jì)劃只提供基本的代碼補(bǔ)全功能。Pro計(jì)劃以每個(gè)用戶每月12美元的價(jià)格完成全線和全功能代碼。Tabnine尚未披露其模型架構(gòu)或訓(xùn)練語(yǔ)料庫(kù)。因此,根據(jù)Emily Bender原則,用戶應(yīng)該對(duì)它生成的任何代碼進(jìn)行最壞的假設(shè)。

      大型語(yǔ)言模型有時(shí)可以用于生成或完成代碼,無(wú)論它們是否在代碼語(yǔ)料庫(kù)上進(jìn)行過(guò)訓(xùn)練。經(jīng)過(guò)代碼訓(xùn)練的語(yǔ)言模型往往更了解空白的重要性。而像OpenAI Codex和Tabnine這樣的代碼生成產(chǎn)品通常比更通用的語(yǔ)言模型與編程編輯器有更好的集成。

      人們應(yīng)該期待AI代碼生成器隨著時(shí)間和使用而改進(jìn)。GitHub Copilot X比原來(lái)的Copilot更好,并相信下一個(gè)Copilot會(huì)更好。然而,永遠(yuǎn)不能假設(shè)任何類型的人工智能生成的代碼都是正確或有效的,甚至不能假設(shè)它可以編譯并運(yùn)行。應(yīng)該將人工智能生成的代碼視為來(lái)自未知程序員的拉取請(qǐng)求,這意味著在將其作為應(yīng)用程序的一部分之前,要對(duì)其進(jìn)行審查、測(cè)試和調(diào)試。

      原文標(biāo)題:LLMs and the rise of the AI code generators,作者:Martin Heller

      文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。

    即時(shí)

    TCL實(shí)業(yè)榮獲IFA2024多項(xiàng)大獎(jiǎng),展示全球科技創(chuàng)新力量

    近日,德國(guó)柏林國(guó)際電子消費(fèi)品展覽會(huì)(IFA2024)隆重舉辦。憑借在核心技術(shù)、產(chǎn)品設(shè)計(jì)及應(yīng)用方面的創(chuàng)新變革,全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)成功斬獲兩項(xiàng)“IFA全球產(chǎn)品設(shè)計(jì)創(chuàng)新大獎(jiǎng)”金獎(jiǎng),有力證明了其在全球市場(chǎng)的強(qiáng)大影響力。

    新聞

    敢闖技術(shù)無(wú)人區(qū) TCL實(shí)業(yè)斬獲多項(xiàng)AWE 2024艾普蘭獎(jiǎng)

    近日,中國(guó)家電及消費(fèi)電子博覽會(huì)(AWE 2024)隆重開幕。全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)攜多款創(chuàng)新技術(shù)和新品亮相,以敢為精神勇闖技術(shù)無(wú)人區(qū),斬獲四項(xiàng)AWE 2024艾普蘭大獎(jiǎng)。

    企業(yè)IT

    重慶創(chuàng)新公積金應(yīng)用,“區(qū)塊鏈+政務(wù)服務(wù)”顯成效

    “以前都要去窗口辦,一套流程下來(lái)都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。

    3C消費(fèi)

    “純臻4K 視界煥新”——愛普生4K 3LCD 激光工程投影

    2024年3月12日,由愛普生舉辦的主題為“純臻4K 視界煥新”新品發(fā)布會(huì)在上海盛大舉行。

    研究

    2024全球開發(fā)者先鋒大會(huì)即將開幕

    由世界人工智能大會(huì)組委會(huì)、上海市經(jīng)信委、徐匯區(qū)政府、臨港新片區(qū)管委會(huì)共同指導(dǎo),由上海市人工智能行業(yè)協(xié)會(huì)聯(lián)合上海人工智能實(shí)驗(yàn)室、上海臨港經(jīng)濟(jì)發(fā)展(集團(tuán))有限公司、開放原子開源基金會(huì)主辦的“2024全球開發(fā)者先鋒大會(huì)”,將于2024年3月23日至24日舉辦。