跳到正文
IFAI

开源项目

Google 联合 Hugging Face 开源 CodeGemma:主打代码补全,轻至 2B

首次发布 传播指数 59

Google 联合 Hugging Face 上线代码模型 CodeGemma。该系列在 Gemma 基础上补充了 5000 亿 token 训练,推出主打代码填充的 2B 版本、兼顾自然语言的 7B 基础版及 7B 对话版。其中 2B 版仅需约 6 GB 内存,适合在端侧设备快速补全代码。

Google 联合 Hugging Face 开源 CodeGemma:主打代码补全,轻至 2B
图:huggingface.co

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)

  1. [1]
    huggingface.co(在新标签页打开)原文huggingface.co
  2. [2]
    developers.googleblog.com(在新标签页打开)报道developers.googleblog.com

话题追踪Google Gemma 系列模型

这个话题的历次新闻,最新的在上面。

  1. Google 上线 Gemma 2:27B 越级打两倍体量,单卡就能跑
  2. Google 升级 Gemini API:开放 200 万上下文,自带代码执行沙箱
  3. Google 联合 Hugging Face 开源 CodeGemma:主打代码补全,轻至 2B本条
  4. Google 开源轻量模型 Gemma:笔记本能跑,允许商用

每日 AI 内容精选