Google 聯合 Hugging Face 開源 CodeGemma:主打程式碼補全,輕至 2B
Google 聯合 Hugging Face 上線程式碼模型 CodeGemma。該系列在 Gemma 基礎上補充了 5000 億 token 訓練,推出主打程式碼填充的 2B 版本、兼顧自然語言的 7B 基礎版及 7B 對話版。其中 2B 版僅需約 6 GB 記憶體,適合在端側裝置快速補全程式碼。

CodeGemma 是 Google 聯合 Hugging Face 推出的開原始碼模型家族,專門用來做程式碼補全、程式碼生成和程式設計答疑。
整個系列基於 Gemma 的 2B 和 7B 權重構建,在原本基礎上額外餵了 5000 億 token 的程式碼、數學和英文資料,上下文長度保持在 8K。
三個版本與核心機制
CodeGemma 這次一共放出了三個版本,分工很明確。
2B 版本完全專攻程式碼填充任務,也就是在游標前後補充程式碼。它體積小、延遲低,專門為筆記本或本地開發環境準備。
7B 基礎版裡有 80% 的訓練資料是程式碼填充,另外補充了自然語言,能同時兼顧程式碼補全和程式碼理解。7B Instruct 則是在此基礎上做了指令微調,適合用來搭建程式設計對話助手。
在實現補全時,CodeGemma 採用了中間填充機制。你只要把游標前後的程式碼分別塞給特定的前後綴標記,模型就會在游標所在的位置生成補丁程式碼,還支援多檔案上下文標記。
從測試成績看,CodeGemma 7B 在 Python 基準 HumanEval 以及 MultiPL-E 的 Java、JavaScript、C++ 測試中,表現壓過了 Code Llama 7B 和 StarCoder 2 7B,僅次於 DeepSeek-Coder-7B。官方報告還提到它拿下了 7B 級別裡最好的 GSM8K 數學推理成績。
硬體要求與上手方式
CodeGemma 對本地硬體相當友好。
在 float16 精度下,跑 2B 模型只需要大約 6 GB 記憶體,普通消費級顯示卡甚至無獨立顯示卡的裝置都能嘗試。如果你想跑 7B 模型,利用 4 位量化後視訊記憶體佔用大概在 9 GB 左右,主流遊戲顯示卡和免費的 Google Colab 就能吃下。
模型權重和模型卡片已經同步上線 Hugging Face Hub,社群還提供了全精度的 GGUF 檔案方便做後續量化。
想直接呼叫的話,升級到 Transformers 4.39 即可直接載入,也支援用 torch.compile 加速推理。此外,Google 官方還提供了 JAX、PyTorch、Gemma.cpp 以及 TensorRT-LLM 的支援,並在 Vertex AI 和 Hugging Face Inference Endpoints 上提供了一鍵部署介面。
需要注意的是,7B 版本在生成補全時有時比較囉嗦,會接著輸出多餘的程式碼或註釋,呼叫時最好把分隔符設為終止詞,提前截斷輸出。
為什麼重要
如果你正在給自己的 IDE 找一個不需要聯網、能在本地靜默執行的程式碼補全外掛,CodeGemma 2B 值得立刻試一下。它把程式碼填充的門檻拉到了消費級筆記本級別,既保證了程式碼隱私,又沒有明顯的打字延遲。
和 DeepSeek-Coder 或 StarCoder 2 相比,CodeGemma 的絕對程式設計能力不是全面拔尖,但背靠 Google 的生態支援,它的推理工具鏈和跨平臺適配非常完整。我們認為它最大的價值不是刷榜,而是給開發者提供了一個開箱即用、極輕量的端側程式碼輔助底座。
來源 (2)
- huggingface.co(在新分頁開啟)原文huggingface.co
- developers.googleblog.com(在新分頁開啟)報導developers.googleblog.com
話題追蹤Google Gemma 系列模型
- Google 上線 Gemma 2:27B 越級打兩倍體量,單卡就能跑
- Google 升級 Gemini API:開放 200 萬上下文,自帶程式碼執行沙箱
- Google 聯合 Hugging Face 開源 CodeGemma:主打程式碼補全,輕至 2B本則
- Google 開源輕量模型 Gemma:筆記本能跑,允許商用