偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動(dòng)完成和生成技術(shù)再升級(jí)-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ì)元,代碼自動(dòng)完成和生成技術(shù)再升級(jí)-AI.x社區(qū)

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

在發(fā)布的第一個(gè)版本(v1.0)中,包括了所有三種模型,隨后在一個(gè)月后的第二個(gè)版本(v1.1)中,對(duì)預(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模型都是在主要由英語(yǔ)網(wǎng)頁(yè)文檔、數(shù)學(xué)和代碼組成的5000億token數(shù)據(jù)上進(jìn)一步訓(xùn)練的。2B v1.1模型則在1萬億token上訓(xùn)練。所有2B模型都是100%使用代碼訓(xùn)練的,而7B模型則是80%代碼和20%自然語(yǔ)言的混合。我們的代碼語(yǔ)料庫(kù)來源于公開可用的代碼倉(cāng)庫(kù)。數(shù)據(jù)集經(jīng)過去重和過濾,以移除評(píng)估代碼中的污染以及某些個(gè)人和敏感數(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)用的一致性,我們通過將代碼倉(cāng)庫(kù)中最相關(guān)的源文件共同定位,并盡最大努力將它們分組到相同的訓(xùn)練示例中來創(chuàng)建訓(xùn)練示例。具體來說,我們采用了兩種啟發(fā)式方法:基于依賴圖的打包和基于單元測(cè)試的詞匯打包。

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

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

模型性能評(píng)估

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

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

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

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

2. 自然語(yǔ)言理解能力

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


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

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

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

Google推出開源代碼大模型CodeGemma:AI編程新紀(jì)元,代碼自動(dòng)完成和生成技術(shù)再升級(jí)-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ù)和自然語(yǔ)言理解任務(wù)中的強(qiáng)大表現(xiàn),更適合部署在托管環(huán)境中,如云計(jì)算平臺(tái)。這些模型在處理大規(guī)模和復(fù)雜的代碼生成和理解任務(wù)時(shí),能夠提供高質(zhì)量的輸出。

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

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

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

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

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

2. 模型的局限性

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

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

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