Google 发布 CodeGemma:7B 力压 CodeLLaMa-13B

刚刚发布!Google 带来了新的 Gemma 家族成员,CodeGemma,这是基于预训练的 Gemma-2B 和 Gemma-7B 的代码生成模型。

其上下文窗口长度为8K,在另外 500 B 个主要由英语、数学和代码组成的 token 上进行了训练,改进了逻辑和数学推理能力,适合代码生成任务。

GPT-3.5研究测试: https://hujiaoai.cn

GPT-4研究测试: https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4): https://hiclaude3.com

CodeGemma-7B 在 HumanEval 上的表现优于类似大小的7B模型,甚至还要超过 CodeLLaMa-13B

不过,在 DeepSeekCoder-7B 面前,CodeGemma 还是要稍逊一筹!

CodeGemma支持包括 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 在内的多种编程语言。

CodeGemma包含三款模型:

  • CodeGemma 2B Base Model,专门针对代码生成进行训练,旨在快速生成代码,适合需要隐私或高性能代码生成的环境。

  • CodeGemma 7B Base Model,训练数据包括80%的代码和20%的自然语言,适合代码生成和理解。

  • CodeGemma 7B Instruct Model,微调版,适用于聊天,擅长代码生成和数学推理。

2B模型相比同尺寸模型更具有优势

作者使用了 HumanEval Infilling benchmarks 中的单行和多行指标进行评估。在表 2 中展示了与其他基于 FIM 的代码模型的性能对比。

2B 预训练模型在代码自动补全用例中表现出色,低延迟是一个关键因素。在推断过程中,它表现与其他模型相当。

而在许多情况下,速度几乎是其他模型的两倍。作者将这种速度提升归因于基于 Gemma 的架构决策。

不过在 7B 模型上,CodeGemma 的延迟对比并没有优势,反而性能还较大程度地弱于 DeepSeek Coder。

表2. CodeGemma的单行和多行代码完成能力与其它代码模型的比较。

7B模型多语言性能超越 CodeLLaMa-13B

作者在 BabelCode-translated HumanEval 和 Mostly Basic Python Problems (MBPP) 数据集上对比 CodeGemma 系列的多语言代码能力。

同时,bigcode-models-leaderboard 上也发布了更详细的性能对比。CodeGemma 在 7B 大小的模型中要优于除了 DeepSeekCoder-7B 的模型,对比 CodeLLaMa-13B 也提升了 5个点。

但是我们从训练数据上也能初窥端倪,对于 DeepSeekCoder 所使用的 2000 B 的数据量,CodeGemma 的 500 B 还是小巫见大巫了!

保留 Gemma 的对话能力!

作者评估了 CodeGemma 在各种领域的性能,包括问答、自然语言和数学推理。将两个 7B 模型的结果与 Instruct Gemma-7B模型的结果呈现在图3中。

图3.

可以看到,CodeGemma 保留了 Gemma模型中大部分相同的自然语言功能。

表5. CodeGemma和指令调优版本Gemma的语言性能比较。Gemma和CodeGemma都属于7B大小类。

最后

借网友的话一用:“开源模型的发布和改进真的太快了!!”

即便是 Google 这样的团队,我们也能看到它在大模型的浪潮下有点手忙脚乱,本来以为是碾压局的 CodeGemma,没想到还是感觉发布得略显匆忙。

以 Google 的手笔,能在 500 B 的数据量下将 7B模型提高到 CodeLLaMa-13B(2500 B tokens)的水平,居然还是没有超过 DeepSeekCoder-7B。

回顾Google这几个月的动向,Bard、Gemini、Gemini Advanced、Gemma 轮番上阵,但是都没有在各自的领域上获得足够的认可,不免让吃瓜群众也感慨呀!

参考资料

[1]https://huggingface.co/blog/codegemma
[2]https://storage.googleapis.com/deepmind-media/gemma/codegemma_report.pdf
[3]https://huggingface.co/spaces/bigcode/bigcode-models-leaderboard

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/303645.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【企业场景】设计模式重点解析

设计模式 在平时的开发中,涉及到设计模式的有两块内容: 我们平时使用的框架(比如spring、mybatis等)我们自己开发业务使用的设计模式。 在平时的业务开发中,其实真正使用设计模式的场景并不多,虽然设计号…

allegro图片导入及调整的详细方法

目录 1. 图片转换2. 图片导入3. 导入图片调整3.1 图层调整 1. 图片转换 allegro只能导入IPF格式的文件: 正常情况下我们的图片都是JPG、BMP或者其他常见格式,需要将之转换为IPF格式才能导入,这里有工具。 需要工具在此 ->BMP转IPF工具 …

c++——sort()函数

一、代码和效果 #include<bits/stdc.h> using namespace std;int main() {int a[6]{1,45,2,5,456,7};sort(a,a6);for(int i0; i<6; i){cout<<a[i]<<" "<<endl;}return 0; } 二、sort函数解析 &#xff08;从小到大&#xff09; std::so…

[【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

长基线大高差RTK定位效果分析

为了评估基于GNSS参考站网的实时高精度滑坡监测算法效果&#xff0c;如图2所示&#xff0c;本文共收集了中国西北2019年年积日第271&#xff5e;277共7天的4个CORS站数据&#xff0c;分别为LZLC、BYBY、LXDX、LXJS&#xff0c; 2个黑方台滑坡监测站数据HF01和HF06&#xff0c;其…

快速掌握SpringBoot多环境开发

多环境开发 在一个项目当中可能同一套代码需要用于多种环境进行不同的用途例如&#xff1a;生产环境&#xff0c;开发环境&#xff0c;测试环境&#xff0c;需要通过配置进行不同环境的开发切换&#xff1a; spring:profiles:active: shengchan # 通过属性active进行选择 …

抖音评论ID提取工具|视频关键词评论批量采集软件

抖音评论ID提取工具&#xff1a;批量抓取抖音评论 抖音评论ID提取工具是一款功能强大的软件&#xff0c;可以帮助您批量抓取抖音视频下的评论信息。通过输入关键词和评论监控词&#xff0c;即可进行评论的抓取&#xff0c;并提供评论昵称、评论日期、评论内容、命中关键词以及所…

Matplotlib实现数据可视化

Matplotlib是Python中应用较为广泛的绘图工具之一&#xff0c;首次发布于2007年。它在函数设计上参考了MATLAB&#xff0c;因此名字以"Mat"开头&#xff0c;中间的"plot"代表绘图功能&#xff0c;结尾的"lib"表示它是一个集合。Matplotlib支持众…

MQ之————如何保证消息的可靠性

MQ之保证消息的可靠性 1.消费端消息可靠性保证&#xff1a; 1.1 消息确认&#xff08;Acknowledgements&#xff09;&#xff1a; 消费者在接收到消息后&#xff0c;默认情况下RabbitMQ会自动确认消息&#xff08;autoAcktrue&#xff09;。为保证消息可靠性&#xff0c;可以…

CST电磁仿真基本单位设置和保存结果【仿真教程】

保存结果的Result Navigator 积累的结果一目了然&#xff01; 用户界面上的Result Navigator 在一个仿真工程中更改变量取值进行仿真分析或者改变设置进行仿真分析时&#xff0c;之前的1DResult会不会消失呢&#xff1f; 1D Result&#xff1a;CST中1D Result指的是Y值取决…

交换机的基本原理与配置_实验案例一:交换机的初始配置

1、实验环境 实验用具包括一台Cisco交换机&#xff0c;一台PC&#xff0c;一根Console 线缆。 2、需求描述 如图5.17所示&#xff0c;实验案例一的配置需求如下。 通过PC连接并配置一台Cisco交换机。在交换机的各个配置模式之间切换。将交换机主机的名称改为BDON 3、推荐步…

【SpringBoot3】Bean管理

1.Bean扫描 1.1传统Spring 标签&#xff1a;<context:component-scan base-package"com. example "/>注解&#xff1a;ComponentScan(basePackages "com.example") 1.2SpringBoot SpringBoot默认扫描启动类所在的包及其子包 2.Bean注册 如果要注…

统一用安卓Studio修改项目包名

可以逃跑&#xff0c;可以哭泣&#xff0c;但不可以放弃 --《鬼灭之刃》 修改项目包名 1&#xff09;选中项目中药修改的包名&#xff1a; 2)目结构显示方式&#xff0c;取消 Compact Middle Packages 选项&#xff1b; 3)右键要修改的包名&#xff0c;选择 Refactor —— Re…

力矩,转矩,扭矩的理解——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 力矩、转矩和扭矩是力学中常用的概念&#xff0c;它们描述了力的转动效果。虽然这三个词经常被互换使用&#xff0c;但它们之间实际上存在细微的差别。本文将从力学的基本原理出发&#xff0c;深入剖析这三个概念的含义…

【记录】LangChain|Ollama结合LangChain使用的速通版(包含代码以及切换各种模型的方式)

官方教程非常长&#xff0c;我看了很认可&#xff0c;但是看完了之后呢就需要一些整理得当的笔记让我自己能更快地找到需求。所以有了这篇文章。【写给自己看的&#xff0c;里面半句废话的解释都没有&#xff0c;如果看不懂的话直接看官方教程再看我的】 我是不打算一开始就用…

比 Nest.js 更优雅的 TS 控制反转策略 - 依赖查找

一、Cabloy5.0 内测预告 Cabloy5.0 采用 TS 对整个全栈框架进行了脱胎换骨般的大重构&#xff0c;并且提供了更加优雅的 ts 控制反转策略&#xff0c;让我们的业务开发更加快捷顺畅 1. 新旧技术栈对比&#xff1a; 后端前端旧版js、egg2.0、mysqljs、vue2、framework7新版ts…

Goingpub国自然基金-免费查询

可进行年份、学部、项目类别等检索&#xff0c;支持生成主题词汇总分析报告。 最最最关键&#xff0c;免费&#xff0c;只需要你注册登录一下&#xff0c;防止被爬虫侵扰。 界面简单&#xff0c;实用&#xff0c;支持模糊搜索&#xff0c;包含最新2023年数据&#xff0c;共56…

Xshell连接CentOS7教程

一、在CentOS7中单击右键&#xff0c;打开命令行终端&#xff1a; 二、输入ifconfig命令之后&#xff0c;找到CentOS的ip地址&#xff1a; 三、打开Xshell&#xff0c;命令行中输入 “ssh 用户名上述查到的ip地址 ”&#xff0c;之后输入密码即可连接成功&#xff1a; 四、测试…

做了多年前端,有没有想在python,go,nodejs,.net,java,c++中学一门后端,推荐

作为一名经验丰富的前端开发者&#xff0c;选择学习后端技术是一个重要的职业发展决策。Python、Go、Node.js、.NET、Java和C都是强大的后端开发语言&#xff0c;每门语言都有其特定的优势和应用场景。以下是对这些技术的分析&#xff0c;以帮助你做出选择&#xff1a; 目录 …

「JavaEE」初识进程

初识进程 &#x1f349;进程&#x1f34c;操作系统的进程管理 &#x1f349;PCB 重要属性&#x1f34c;进程的身份标识&#x1f34c;内存指针&#x1f34c;文件描述符表&#x1f34c;进程的状态&#x1f34c;优先级&#x1f34c;记账信息&#x1f34c;上下文 &#x1f349;内存…