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

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級 精華

發(fā)布于 2024-6-21 16:38
瀏覽
0收藏

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

  • 論文標(biāo)題: CodeGemma: Open Code Models Based on Gemma
  • 機(jī)構(gòu): Google LLC
  • 論文鏈接: https://arxiv.org/pdf/2406.11409.pdf

CodeGemma模型概述

CodeGemma是基于Google DeepMind的Gemma模型系列(Gemma Team et al., 2024)開發(fā)的一系列開放代碼模型。這些模型繼承了Gemma預(yù)訓(xùn)練模型的基礎(chǔ),并在此基礎(chǔ)上進(jìn)一步訓(xùn)練,使用的數(shù)據(jù)主要是代碼,訓(xùn)練數(shù)據(jù)量在5000億到1000億token之間。CodeGemma模型在代碼完成和生成任務(wù)中達(dá)到了最先進(jìn)的性能,同時(shí)在大規(guī)模情況下仍保持強(qiáng)大的理解和推理能力。

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

CodeGemma發(fā)布了三種模型:一個7B的代碼預(yù)訓(xùn)練模型,一個7B的指令調(diào)優(yōu)代碼模型,以及一個專門為代碼填充和開放式生成訓(xùn)練的2B模型。這些模型的系譜在文中的圖1中有所展示。

在發(fā)布的第一個版本(v1.0)中,包括了所有三種模型,隨后在一個月后的第二個版本(v1.1)中,對預(yù)訓(xùn)練的2B模型和指令調(diào)優(yōu)的7B模型進(jìn)行了更新。如果速度不是關(guān)鍵考慮因素,建議使用v1.1版本,因?yàn)樗谫|(zhì)量上有較好的平衡提升。

模型訓(xùn)練和數(shù)據(jù)處理

1. 數(shù)據(jù)處理和預(yù)訓(xùn)練

所有CodeGemma v1.0模型都是在主要由英語網(wǎng)頁文檔、數(shù)學(xué)和代碼組成的5000億token數(shù)據(jù)上進(jìn)一步訓(xùn)練的。2B v1.1模型則在1萬億token上訓(xùn)練。所有2B模型都是100%使用代碼訓(xùn)練的,而7B模型則是80%代碼和20%自然語言的混合。我們的代碼語料庫來源于公開可用的代碼倉庫。數(shù)據(jù)集經(jīng)過去重和過濾,以移除評估代碼中的污染以及某些個人和敏感數(shù)據(jù)。除了Gemma的處理步驟外,我們還為代碼數(shù)據(jù)執(zhí)行了額外的預(yù)訓(xùn)練步驟。

2. 指令調(diào)優(yōu)

指令調(diào)優(yōu)的7B v1.1模型與其1.0版本不同之處在于使用的強(qiáng)化學(xué)習(xí)算法(基于Gemma 1.1)和合成數(shù)據(jù)生成的具體細(xì)節(jié)。這些模型都遵循以下的一般方向。

為了提高模型與現(xiàn)實(shí)世界應(yīng)用的一致性,我們通過將代碼倉庫中最相關(guān)的源文件共同定位,并盡最大努力將它們分組到相同的訓(xùn)練示例中來創(chuàng)建訓(xùn)練示例。具體來說,我們采用了兩種啟發(fā)式方法:基于依賴圖的打包和基于單元測試的詞匯打包。

為了構(gòu)建依賴圖,我們首先按倉庫對文件進(jìn)行分組。對于每個源文件,我們從頂部N行中提取導(dǎo)入,并執(zhí)行后綴匹配以確定在倉庫結(jié)構(gòu)中最長的匹配路徑。我們確定文件之間的邊緣重要性(一種啟發(fā)式測量),并移除不重要的邊緣以打破循環(huán)依賴(在Python中常見)。然后,我們計(jì)算圖中所有對的最短路徑,其中較短的距離表示文件關(guān)系更強(qiáng)。最后,我們使用拓?fù)渑判驅(qū)ξ募D進(jìn)行線性化,選擇基于到已排序節(jié)點(diǎn)的最小距離的下一個無父節(jié)點(diǎn),并使用字典順序來打破平局。

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

模型性能評估

1. 代碼完成和生成任務(wù)的性能

CodeGemma模型在代碼完成和生成任務(wù)中表現(xiàn)出色。特別是,2B預(yù)訓(xùn)練模型在代碼完成任務(wù)中表現(xiàn)突出,其低延遲特性對于需要快速響應(yīng)的用例非常關(guān)鍵。此外,7B模型在代碼生成任務(wù)中也顯示了強(qiáng)大的性能,尤其是在多語言代碼生成方面,如BabelCode測試所示(表4)。這些模型在HumanEval和Mostly Basic Python Problems基準(zhǔn)測試中的表現(xiàn)(表3)進(jìn)一步驗(yàn)證了其優(yōu)越性。

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

2. 自然語言理解能力

CodeGemma模型保留了基礎(chǔ)Gemma模型的自然語言處理能力。在自然語言理解方面,CodeGemma的表現(xiàn)優(yōu)于多個同類模型,例如Mistral 7B和Llama-2 13B模型。這一優(yōu)勢體現(xiàn)在多個自然語言處理基準(zhǔn)測試中,如BoolQ和PIQA(Clark et al., 2019; Bisk et al., 2019)。這些能力使得CodeGemma模型不僅在代碼相關(guān)任務(wù),也在需要理解和生成自然語言的任務(wù)中表現(xiàn)出色。


Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

3. 數(shù)學(xué)推理能力

CodeGemma模型在數(shù)學(xué)推理能力方面也顯示出卓越的性能。通過在多個數(shù)學(xué)數(shù)據(jù)集上進(jìn)行訓(xùn)練,如Math Dataset和MathQA,模型的數(shù)學(xué)問題解決能力得到了顯著提升。這些數(shù)據(jù)集包括從數(shù)學(xué)競賽中收集的問題以及基于程序生成的代數(shù)問題,這些訓(xùn)練幫助模型在復(fù)雜的數(shù)學(xué)推理任務(wù)中表現(xiàn)優(yōu)異(表5)。

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動完成和生成技術(shù)再升級-AI.x社區(qū)

實(shí)際應(yīng)用和部署

CodeGemma模型的設(shè)計(jì)使其非常適合在實(shí)際應(yīng)用和部署中使用。2B模型由于其快速的代碼填充能力,特別適合集成到集成開發(fā)環(huán)境(IDE)和本地環(huán)境中。這一模型在內(nèi)存和響應(yīng)速度方面的優(yōu)化,使其成為開發(fā)者的有力工具。

7B模型則因其在代碼任務(wù)和自然語言理解任務(wù)中的強(qiáng)大表現(xiàn),更適合部署在托管環(huán)境中,如云計(jì)算平臺。這些模型在處理大規(guī)模和復(fù)雜的代碼生成和理解任務(wù)時(shí),能夠提供高質(zhì)量的輸出。

在部署這些模型時(shí),需要注意的是,應(yīng)選擇合適的輸出停止策略以適應(yīng)部署環(huán)境。例如,可以使用生成FIM哨兵令牌的方法來截?cái)噍敵?,以確保生成的代碼質(zhì)量和一致性。

總之,CodeGemma模型系列通過在代碼生成、自然語言理解和數(shù)學(xué)推理等多個方面的出色表現(xiàn),為各種實(shí)際應(yīng)用場景提供了強(qiáng)大的支持。

模型的優(yōu)勢和局限性

1. 模型的優(yōu)勢

CodeGemma模型在代碼生成和理解方面展現(xiàn)出了顯著的優(yōu)勢。這些模型不僅在自然語言處理任務(wù)中保持了強(qiáng)大的性能,而且在數(shù)學(xué)推理方面也顯示出了卓越的能力。例如,CodeGemma 7B模型在多種編程語言的代碼生成任務(wù)中表現(xiàn)優(yōu)異,這一點(diǎn)在BabelCode的評估中得到了驗(yàn)證(見表4)。此外,這些模型在處理大規(guī)模代碼數(shù)據(jù)集時(shí),能夠有效地進(jìn)行代碼補(bǔ)全和生成,特別是2B預(yù)訓(xùn)練模型在低延遲場景下表現(xiàn)出了極高的效率,這對于集成開發(fā)環(huán)境(IDEs)等應(yīng)用場景非常關(guān)鍵。

2. 模型的局限性

盡管CodeGemma模型在多個方面表現(xiàn)出色,但它們也存在一些局限性。首先,盡管7B模型在代碼任務(wù)中表現(xiàn)優(yōu)異,但其在推理時(shí)需要較大的內(nèi)存,這可能限制了它們在資源受限的環(huán)境中的應(yīng)用。此外,根據(jù)Gemma團(tuán)隊(duì)的報(bào)告,所有模型都在處理某些特定類型的代碼或語言結(jié)構(gòu)時(shí)存在一定的局限性,尤其是在跨文件代碼依賴關(guān)系的自動補(bǔ)全方面。此外,雖然模型在數(shù)學(xué)問題解決方面表現(xiàn)良好,但在一些高難度的數(shù)學(xué)問題上,模型的解決能力仍有待提高。

本文轉(zhuǎn)載自 ??AI論文解讀??,作者: 柏企科技圈

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦