
Google轻量级开放模型Gemma增加两个新成员,其一是可用于程式码完成以及指令遵循生成式任务的CodeGemma,另一个则是针对研究实验效率最佳化架构的RecurrentGemma。
CodeGemma模型针对开发人员和企业的程式码完成、生成和聊天工具使用情境开发,其提供了多种变体供用户灵活应用,包括CodeGemma 7B预训练变体,可用作专门处理程式码完成和生成任务,还有针对指令调校的CodeGemma 7B变体,能用于程式码聊天和指令遵循任务,另外CodeGemma 2B预训练变体则适用于本地端快速程式码完成。这些变体针对不同功能进行最佳化,以适应不同的使用场景和需求。
由于CodeGemma模型使用5,000亿个,主要为英文的网页文件、数学和程式码Token进行训练,Google提到,CodeGemma产生的程式码不仅语法正确,而且语义也更具意义,有助于减少程式码错误与除错时间。CodeGemma同样具有多语言能力,特别是Python、JavaScript、Java等各种热门程式语言的程式码编写建议。
RecurrentGemma则可支援研究人员进行大批次的高效推理,採用循环神经网路和局部注意力机制提升记忆效率,Google提到,虽然RecurrentGemma在基準测试上成绩与Gemma 2B模型相当,但是RecurrentGemma使用的记忆体量更少,在记忆体资源相对有限的装置上,像是单GPU或是CPU电脑,能够生成更长的样本。
也因为RecurrentGemma较少的记忆体使用量,因此能够以更大的批次规模进行推理,在生成长序列时,每秒能够产生更多Token。Google指出,RecurrentGemma展示了一种非Transformer模型,也能实现高效能的深度学习研究进展。
CodeGemma和RecurrentGemma皆採用Google所开发的开源数值运算函式库JAX建置,与JAX、PyTorch、Hugging Face Transformers、Gemma.cpp相容,支援包括笔记型电脑、桌上型电脑、Nvidia GPU和Google云端TPU等装置,进行本地实验和云端部署。此外,CodeGemma还相容于Keras、NvidiaNeMo、TensorRT-LLM、Optimum-Nvidia、MediaPipe与Vertex AI等市面上各种机器学习工具与框架。