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

引言

近日,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.mzph.cn/pingmian/38250.shtml

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

相关文章

架构师篇-10、DDD实战篇:通过领域模型落地系统

基于领域模型的设计与开发 数据库设计程序设计微服务设计 在线订餐系统的领域事件通知 微服务拆分 事件风暴会议 梳理领域事件进行领域建模识别聚合关系划分限界上下文 用户下单领域模型 更新后的模型 领域模型的设计实现过程 数据库设计 数据库映射:一对一关系…

SpringBoot使用redis 笔记(视频摘抄 哔哩哔哩博主(感谢!):遇见狂神)

springboot集成redis步骤 1.创建springboot项目 2.配置连接 3.测试 创建springboot项目 创建以一个Maven项目 创建之后查看pom.xml配置文件,可以看到 pom文件里面导入了 data-redis 的依赖,那我们就可以在知道,springboot集成redis操作…

计算机基础之汇编语言学习笔记

学习来源:b站各种学习资料 前置知识:计算机组成原理等知识 学习参考的资源 汇编语言编程的速成指南[上]~从零开始的期末抢救计划 (8086汇编)_哔哩哔哩_bilibili 链接: https://pan.baidu.com/s/1tg_ZW7VD3TS_s1v_EjS89w?pwdak6…

Uniapp 默认demo安装到手机里启动只能看得到底tab无法看到加载内容解决方案

Uniapp 默认demo安装到手机里以后,启动APP只能看到底tab栏,无法看到每个tab页对应的内容,HBuilder会有一些这样的报错信息: Waiting to navigate to: /pages/tabBar/API/API, do not operate continuously: 解决方案:…

分治精炼宝库-----快速排序运用(⌯꒪꒫꒪)੭

目录 一.基本概念: 一.颜色分类: 二.排序数组: 三.数组中的第k个最大元素: 解法一:快速选择算法 解法二:简单粗暴优先级队列 四.库存管理Ⅲ: 解法一:快速选择 解法二:简单粗…

Unity扩展编辑器功能的特性

1.添加分组标题 用于在Unity的Inspector视图中为属性或变量组创建一个自定义的标题或头部,有助于在Inspector中组织和分类不同的属性,使其更易于阅读和管理。 [Header("Common Properties")] public float MouseSensitivity 5; public float…

微服务中的Docker详细学习

Docker的个人理解 首先我对于Docker的理解分为两部分,第一是对名字上的理解,我们都知道docker的英文翻译是“码头工人”的意思,所以我们也可以理解为docker是码头上的一个个集装箱的使用。这也与他的图标很相似。其次我是对于其功能上的理解&…

Redis 高可用(理论)

目录 Redis 高可用 Redis 持久化 RDB 持久化 触发条件 手动触发 自动触发 ##其他自动触发机制## 执行流程 启动时加载 AOF 持久化 执行流程 (1)命令追加(append) (2)文件写入(write)和文件同步(sync) (3&…

帝国CMS(EmpireCMS)漏洞复现

简介 《帝国网站管理系统》英文译为Empire CMS,简称Ecms,它是基于B/S结构,且功能强大而帝国CMS-logo易用的网站管理系统。 帝国CMS官网:http://www.phome.net/ 参考相关漏洞分析文章,加上更详细的渗透测试过程。 参考…

snat、dnat和firewalld

目录 概述 SNAT源地址转换 DANT目的地址转换 抓包 firewalld 端口管理 概述 snat :源地址转换 内网——外网 内网ip转换成可以访问外网的ip 也就是内网的多个主机可以只有一个有效的公网ip地址访问外部网络 DNAT:目的地址转发 外部用户&#…

人工智能导论速成笔记

文章目录 前言考试题型第一章、人工智能导引 (10分 )课后习题第二章、Python基础 (10分 )*文件读写NumPy的使用Python绘图基础第三章、机器学习初步(15分 )逻辑回归分类(Logistic Regression)*,3.5线性回归预测(Linear Regression)*,3.6 、3.7、 3.8聚类 3.9第四章、自然语言…

一文带你了解乐观锁和悲观锁的本质区别!

文章目录 悲观锁是什么?乐观锁是什么?如何实现乐观锁?什么是CAS应用局限性ABA问题是什么? 悲观锁是什么? 悲观锁它总是假设最坏的情况,它会认为共享资源在每次被访问的时候就会出现线程安全问题&#xff0…

JVM调优(一)——JVM调优诊断工具详解

最近项目要生产上线,正在做压测性能测试,开始进行一些性能瓶颈分析,记得上一次做性能分析优化,还是国网项目,针对Kafka,Canal,ES,服务,数据库等一系列的排查分析,后面打算补一下总结内容&#x…

安全和加密常识(6)Base64编码方式

文章目录 什么是 Base64编码原理编解码示例应用什么是 Base64 Base64 是一种用于将二进制数据编码为仅包含64种ASCII字符的文本格式的编码方法,注意,它不是加密算法。它设计的目的主要是使二进制数据能够通过只支持文本的传输层(如电子邮件)进行传输。Base64常用于在需要处…

Windows系统下文件夹权限详解

文章目录 问题描述文件夹属性 问题描述 今天在Win10系统下,实现文件夹设置权限,具体的方案的涉及到我们公司内部的一款加密软件,不太方便透漏,借此机会,我也重新的回顾下windows系统下的文件夹权限 文件夹属性 打开…

vue3+Ts封装axios网络请求

1.安装axios npm i axios 在package.json中检查axios是否安装成功 "dependencies": {"axios": "^1.7.2","vue": "^3.4.29","vue-router": "^4.4.0"}, 2.新建文件 新建文件utils/request.ts import…

Java 并发编程常见问题

1、线程状态它们之间是如何扭转的? 1、谈谈对于多线程的理解? 1、对于多核CPU,多线程可以提升CPU的利用率; 2、对于多IO操作的程序,多线程可以提升系统的整体性能及吞吐量; 3、使用多线程在一些场景下可…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputDevice (输入设备)】

输入设备 输入设备管理模块,用于监听输入设备连接、断开和变化,并查看输入设备相关信息。比如监听鼠标插拔,并获取鼠标的id、name和指针移动速度等信息。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口&…

【算法专题--栈】用队列实现栈 -- 高频面试题(图文详解,小白一看就懂!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐两个队列实现栈 🥝解题思路 🍍案例图解 ⭐用一个队列实现栈 🍇解题思路 🍍案例图解 四、总结与提炼 五、共勉 一、前言 用队列实现栈 这道题,可以说是--栈…

002-基于Sklearn的机器学习入门:回归分析(上)

本节及后续章节将介绍机器学习中的几种经典回归算法,所选方法都在Sklearn库中聚类模块有具体实现。本节为上篇,将介绍基础的线性回归方法,包括线性回归、逻辑回归、多项式回归和岭回归等。 2.1 回归分析概述 回归(Regression&…