Google推出开源模型Gemma 2:性能大幅提升与创新训练方法

news2024/9/19 10:46:00

引言

近日,Google推出了开源模型Gemma 2,吸引了广大研究人员和开发者的关注。相比上一代模型,Gemma 2在性能和可用性方面实现了显著提升,提供了9B和27B两个版本,并且对外开放免费使用。本文将深入探讨Gemma 2的技术细节、性能改进以及其在实际应用中的潜力。

Gemma 2简介

Gemma 2是Google最新的开放大语言模型,提供了9B参数和27B参数两个规模版本,每个版本又分别有预训练基础和指令调优两个子版本。与第一代Gemma相比,Gemma 2不仅在性能上大幅提升,而且在部署要求上大幅降低,只需一块NVIDIA H100 Tensor Core GPU或TPU主机即可运行。此外,用户还可以在Google AI Studio中使用Gemma 2,即使硬件不达标也能测试27B参数版本的全部功能。

架构与训练数据改进

局部滑动窗口注意力与全局注意力

Gemma 2在架构上进行了全方位的改良,采用了局部滑动窗口注意力和全局注意力相结合的方法。局部滑动窗口注意力是一种减少Transformer模型中注意力计算的内存和时间的方法,在Gemma 2中每隔一层应用一个4096 token的滑动窗口,而中间层则使用8192 Token的全局二次注意力。这一改进使得模型在保持长上下文长度的前提下,能够提高输出质量,即使token数量过半,模型仍有余力关注所有的Token。

软上限技术

此外,Gemma 2在最终层和每个注意力层都使用了软上限技术,这是一种防止logits过度增长的方法。通过将logits除以最大值阈值(soft_cap),再通过tanh层确保它们在(-1, 1)范围内,最后再乘以阈值,从而确保最终值在(-soft_cap, +soft_cap)区间内。这一技术稳定了模型训练,尽管软上限与Flash Attention / SDPA不兼容,但在推理过程中仍然可以使用,不会干扰模型的高效执行。

知识蒸馏与训练策略

知识蒸馏

Gemma 2引入了知识蒸馏的方法,这是一种常用于训练较小模型模仿较大模型的方法。开发者可以将大语言模型的下一个Token预测任务与教师模型提供的Token概率分布结合起来,从而为学生模型提供更丰富的学习信号。在Gemma 2的训练过程中,9B参数的模型通过知识蒸馏预训练,而27B参数模型则是从头开始预训练的。

在线蒸馏

为了进一步优化训练效果,Gemma 2团队采用了在线蒸馏的方式。学生模型通过SFT提示生成补全,用于计算教师和学生logits之间的KL散度,从而在整个训练过程中最小化KL散度,使学生模型能够准确模拟教师的行为,同时最小化训练和推理之间文本不匹配的可能性。这一方法不仅部分解决了训练和推理不一致的问题,还具有廉价便捷的优势,适合开源社区中的开发者使用。

性能评估与实际应用

性能评估

在Google的评估中,27B模型在13万亿token上训练,并与Qwen1.5 34B和LLaMA-3 70B等规模相似的模型进行了比较。结果显示,Gemma 2在同规模类型中的表现最佳,甚至与训练时间更长的大型模型相比也具有竞争力。在MBPP、MMLU、ARC-C、GSM8K、BBQ Disambig等知名基准测试中,Gemma 2在多轮测试中表现出色,特别是在MMLU 5-shot测试中,27B模型得分达到75.2%,相比Gemma-1的42.3%有显著提升。

实际应用

Google还为Gemma 2提供了免费使用方式,用户可以通过Kaggle或Colab笔记本免费使用该模型,并有机会申请Gemma 2的学术研究计划,从而获得Google Cloud的信用额度。此外,Gemma 2还在Kaggle和Hugging Face Models提供下载渠道,进一步方便了研究人员和开发者的使用。

安全与未来展望

安全保障

在提升模型性能的同时,Google也重视安全保障。Gemma 2在训练过程中遵循严格的内部安全程序,对预训练数据进行筛选,并对一系列综合指标进行了严格测试和评估,从而识别和缓解潜在的偏见和风险。团队还开源了基于Gemma模型开发的文本水印技术SynthID,并提供了负责任的生成式AI工具包,帮助开发者和研究人员构建和部署安全的AI应用。

未来展望

Gemma 2的发布标志着Google在开源大语言模型领域迈出了重要一步。随着技术的不断发展,我们可以期待Gemma 2在性能和应用范围上进一步拓展,为研究人员和开发者提供更多的可能性。未来,更多的机构和平台将对Gemma 2进行测试和评估,从而验证其实际应用效果,并推动其在各个领域的广泛应用。

结论

Gemma 2作为Google最新的开源大语言模型,在性能、架构和训练方法上实现了显著提升,并通过免费使用方式和多种平台支持,为研究人员和开发者提供了强大的工具。随着更多机构对其进行测试和评估,Gemma 2有望在未来成为开源大语言模型中的重要一员,为AI技术的发展和应用带来更多创新和可能性。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QueryClientProvider is not defined

QueryClientProvider is not defined 运行一个svelte的项目,报错如上,前后查找解决不了,然后没办法, 本来是用yarn 安装的依赖,改用npm install,再次运行就成功了

可燃气体报警器定期检测:优化与改进策略的探讨

在现代化的工业环境中,可燃气体报警器的作用日益凸显。它们像是我们生产现场的安全卫士,时刻警惕着可能发生的危险,确保我们的工作环境安全、稳定。 然而,要确保这些“卫士”始终忠诚可靠,定期检测就显得尤为重要。 …

【JVM面试题】总结-01

【JVM面试题】总结-01 1. 介绍下Java内存区域(运行时数据区)1.1 程序计数器(线程私有)1.2 虚拟机栈(线程私有)1.3 本地方法栈(线程私有)1.4 Java堆(线程共享)1.5 方法区(线程共享)1.5.1 方法区和永久代的关系1.5.2 常用参数1.5.3 为什么要将永久代 (方法区) 替换为元空间 (Meta…

WCCI 2024开幕,横滨圣地巡礼,畅游动漫与美食的世界

惊喜!WCCI 2024开幕,横滨圣地巡礼!畅游动漫与美食的世界 会议之眼 快讯 会议介绍 IEEE WCCI(World Congress on Computational Intelligence)2024,即2024年IEEE世界计算智能大会,于6月30日至…

写代码,为什么还需要作图?

引言 古人云 :一图胜千言,闲人说:无图无真相。 在日常的聊天工具当中,无论是使用微信,还是钉钉。使用图片或表情包的频次越来越高,那是为什么呢?其实在互联网没有那么发达的时候,我…

Adobe Premiere 视频编辑软件下载安装,pr全系列分享 轻松编辑视频

Adobe Premiere,自其诞生之日起,便以其卓越的性能和出色的表现,稳坐视频编辑领域的王者宝座,赢得了无数专业编辑人员与广大爱好者的青睐。这款强大的视频编辑软件,凭借其丰富的功能和灵活的操作性,为用户提…

(1)Jupyter Notebook 下载及安装

目录 1. Jupyter Notebook是什么?2. Jupyter Notebook特征3. 应用3. 利用Google Colab安装Jupyter Notebook3.1 什么是 Colab?3.2 访问 Google Colab 1. Jupyter Notebook是什么? 百度百科: Jupyter Notebook(此前被称为 IPython …

函数创建单链表---无n型,需要 while 循环 + scanf

题目&#xff1a; #include <stdlib.h> struct link{int data;struct link *next; }; struct link* creatLink(); int main(){struct link *head,*p;headcreatLink();for(phead->next ;p;pp->next )printf("%d ",p->data );return 0; }/* 请在这里填…

501、二叉搜索树中的众数

给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。如果树中有不止一个众数&#xff0c;可以按 任意顺序 返回。 假定 BST 满足如下定义&#xff1…

泛微E9开发 根据故障来源新增明细行,并且初始化错误类型

根据故障来源新增明细行&#xff0c;并且初始化错误类型 1、需求说明2、实现方法3、扩展知识点3.1 批量修改字段值或显示属性3.1.1 格式3.1.2 参数3.1.3 演示 3.2 根据字段ID获取字段信息3.2.1 格式3.2.2 参数3.2.3 演示 1、需求说明 用户对出现故障的机器或设备进行判断问题判…

第十四届蓝桥杯省赛C++A组F题【买瓜】题解(AC)

70pts 题目要求我们在给定的瓜中选择一些瓜&#xff0c;可以选择将瓜劈成两半&#xff0c;使得最后的总重量恰好等于 m m m。我们的目标是求出至少需要劈多少个瓜。 首先&#xff0c;我们注意到每个瓜的重量最多为 1 0 9 10^9 109&#xff0c;而求和的重量 m m m 也最多为…

Linux高并发服务器开发(八)Socket和TCP

文章目录 1 IPV4套接字结构体2 TCP客户端函数 3 TCP服务器流程函数代码粘包 4 三次握手5 四次挥手6 滑动窗口 1 IPV4套接字结构体 2 TCP客户端 特点&#xff1a;出错重传 每次发送数据对方都会回ACK&#xff0c;可靠 tcp是打电话的模型&#xff0c;建立连接 使用连接 关闭连接…

探索SOLIDWORKS 2024设计增强功能

随着技术的不断进步和市场的日益竞争&#xff0c;工程设计和制造行业对于快捷、准确和创新的工具需求日益增长。SOLIDWORKS作为3D CAD设计软件&#xff0c;一直致力于为用户提供更强大、更便捷的设计工具。SOLIDWORKS 2024的发布&#xff0c;再次证明了其在设计增强功能方面的持…

代码随想录算法训练营Day55|42.接雨水、84.柱状图中最大的矩形

接雨水 42. 接雨水 - 力扣&#xff08;LeetCode&#xff09; 暴力解法 对计算接到的雨水&#xff0c;有两种方式&#xff0c;一是按照行来计算。 另一种是按列计算 按列计算容易不乱。基本思路如下&#xff1a; 对每列i进行循环&#xff0c;在循环中&#xff0c;找到该列左…

python-逻辑语句

if else语句 不同于C&#xff1a;else if range语句&#xff1a; continue continue的作用是&#xff1a; 中断所在循环的当次执行&#xff0c;直接进入下一次 continue在嵌套循环中的应用 break 直接结束所在的循环 break在嵌套循环中的应用 continue和break&#xff0c;在…

【TB作品】atmega16 计算器,ATMEGA16单片机,Proteus仿真

实验报告&#xff1a;基于ATmega16单片机的简易计算器设计 1. 实验背景 计算器是日常生活和工作中不可或缺的工具&#xff0c;通过按键输入即可实现基本的四则运算。通过本实验&#xff0c;我们将利用ATmega16单片机、矩阵键盘和LCD1602显示屏&#xff0c;设计并实现一个简易…

【TB作品】智能台灯,ATMEGA16单片机,Proteus仿真

智能台灯 1 adc检测光强光敏电阻 显示电压 2 光强太高 也就是高于临界值 就关闭小灯 3 光强太低 也就是低于临界值 就打开小灯 3 按键修改临界值 显示 实验报告&#xff1a;基于ATMEGA16单片机的智能台灯设计与Proteus仿真 1. 实验背景 智能台灯是一种能够根据环境光强自动调…

【Altium】AD-焊盘介绍

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 介绍PCB设计工具中焊盘的组成 2、 知识点 为元件创建封装时&#xff0c;焊盘都是不可获取的部分&#xff0c;一个完整的焊盘&#xff0c;包含了哪些部分&#xff0c;各自又是什么作用。 3、软硬件环境 1&#xff…

算法笔记:模拟过程(螺旋遍历矩阵)

1 模拟过程 “模拟过程题”通常指的是那些要求编程者通过编写代码来“模拟”或重现某个过程、系统或规则的题目。这类题目往往不涉及复杂的数据结构或高级算法&#xff0c;而是侧重于对给定规则的精确执行和逻辑的清晰表达。 其中螺旋遍历矩阵的题目就是一类典型的模拟过程题…

学习笔记(linux高级编程)7

2._exit 系统调用 void _exit(int status); 功能: 让进程退出,不刷新缓存区 参数: status:进程退出状态 返回值: 缺省 回调函数 3.atexit int atexit(void (*function)(void)); 功能: 注册进程退出前执行的函数 参数: function:函数指针 指向void返回值void参数的函数指针 返…