谷歌開源專業代碼模型:對硬件要求低,性能超強!
谷歌發布了面向企業、開發人員的全新代碼模型Code Gemma,一共有基礎預訓練、指令微調和快速推理三個版本。
Code Gemma是基于谷歌在今年2月發布的Gemma模型之上開發而成。其參數很小只有20億和70億兩種,但使用了超過5000億tokens的代碼、數學、文本等數據進行了大規模預訓練,能快速生成Python、JavaScript、Java、C/C++、C#等主流編程語言代碼。
在代碼編程、多語言編程等基準測試中,Code Gemma 70億參數的性能超過了DeepSeek Coder、 StarCoder2等同類代碼模型,并且推理效率和準確率更高。
開源地址:https://huggingface.co/collections/google/codegemma-release-66152ac7b683e2667abdee11
技術報告地址:https://goo.gle/codegemma
Code Gemma簡單介紹
為了提升模型的性能,Code Gemma開發團隊采用了基于“填充中間”任務的訓練方法,對性能進行了大幅度改進,包括使用特定的格式化控制令牌,例如,FIM前綴、中間和后綴,以及文件分隔符等。
還特別針對多文件環境下的代碼生成任務進行了優化。通過將代碼庫中最相關的源文件放在一起,并盡可能將它們分組到同一個訓練樣本中,可以使模型能夠更好地理解和生成基于倉庫級別上下文的代碼。
本次發布的Code Gemma系列模型一共有三個版本:Code Gemma 2B 是專門針對代碼填充進行訓練,其推理效率非常高但對硬件要求卻很低,非常適用于對延遲、隱私要求較高的業務環境中。
Code Gemma 7B 是基礎預訓練模型,主要包括代碼填充數據(80%)和自然語言,可用于代碼補全以及代碼和語言的理解和生成。
Code Gemma 7B Instruct 是在Code Gemma 7B?;A之上進行了指令微調,非常適用于開發對話式AI機器人,尤其是代碼、編程或數學推理主題的對話。
為了提升Code Gemma的推理能力,開發人員在多個數學數據集上進行監督式微調,包括來自競賽的12,500個具有挑戰性的數學問題、8,500個小學數學問題、大規模的數學文字問題數據集等,以及用于提高解決長代數問題能力的合成數據集。
Code Gemma測試數據
開發人員在多個知名測試平臺中對Code Gemma進行了多維度的測試,皆取得了不錯的成績。
通過HumanEval In?lling平臺測試了Code Gemma的CodeGemma的代碼補全能力,結果顯示,Code Gemma 2B表現出色,與其他FIM感知代碼模型相比,在推理速度上快了近2倍,同時保持了更好的代碼補全質量。
在Python編碼方面,Code Gemma使用了HumanEval和MBPP測試平臺。結果顯示,CodeGemma 7B預訓練基礎模型和指令微調兩款模型,均優于Gemma基礎模型,并且在在Python編程任務上效果更好。
多語言編程方面,CodeGemma使用了Babel Code測試平臺,結果顯示,Code Gemma在多種流行的編程語言上都展現出了強大的編碼能力,包括C/C++、C#、Go、Java、JavaScript、Kotlin、Python和Rust等。
尤其是在Java、JavaScript和Kotlin等語言上,Code Gemma的指令微調版本效果非常好。
本文轉自 AIGC開放社區 ,作者:AIGC開放社區
