超越 Transformer开启高效开放语言模型的新篇章
在人工智能快速发展的今天,对于高效且性能卓越的语言模型的追求,促使谷歌DeepMind团队开发出了RecurrentGemma这一突破性模型。这款新型模型在论文《RecurrentGemma:超越Transformers的高效开放语言模型》中得到了详细介绍,它通过结合线性递归和局部注意力机制,承诺重新定义语言处理的标准。
模型架构
RecurrentGemma模型的架构是其高效性能的核心,它基于Google DeepMind提出的Griffin架构,这一架构通过结合线性递归和局部注意力机制,为处理语言任务提供了新的可能性。在深入探究RecurrentGemma的模型架构时,我们首先需要理解Griffin架构的基础,以及RecurrentGemma是如何在其基础上进行创新和优化的。
RecurrentGemma对Griffin架构进行了一项关键的修改,这一修改涉及输入嵌入的处理。模型的输入嵌入乘以了一个常数,这个常数等于模型宽度的平方根。这种处理方式对模型的输入端进行了调整,但并没有改变输出端,因为输出嵌入没有应用这个乘法因子。这种调整允许模型更有效地处理信息,同时保持了模型宽度的一致性。这种修改在模型的数学表达和信息流中起到了重要作用。它不仅优化了模型对输入数据的初始处理,而且通过调整嵌入的尺度,有助于模型更好地捕捉和表示语言的特征。
RecurrentGemma模型的性能和效率在很大程度上由其超参数决定。这些超参数是模型定义的关键部分,它们包括但不限于以下几个方面:
- 总参数量:2.7亿个参数,这表明了模型的复杂性和容量。
- 非嵌入参数量:2.0亿个参数,这是模型中不包括嵌入层的参数数量。
- 嵌入参数量:0.7亿个参数,这部分参数与模型的词汇嵌入直接相关。
- 词汇量:25.6万个词汇,这是模型能够理解和生成的词汇总数。
- 模型宽度:2560,这代表了模型内部表示的维度。
- RNN宽度:2560,这是循环神经网络部分的宽度。
- MLP扩展因子:3,这影响了模型中多层感知机的扩展程度。
- 深度:26层,这是模型的层数,反映了模型处理数据的深度。
- 注意力头数:10,这表示模型在处理序列时使用的注意力机制的头数。
- 局部注意力窗口大小:2048,这定义了局部注意力机制在序列上的作用范围。

表1提供了这些关键超参数的总结,更详细的模型定义可以在De等人的Griffin论文中找到。这些超参数共同构成了RecurrentGemma模型的基础,使其能够在保持较小内存占用的同时,实现对长序列的高效处理。
通过对Griffin架构的精心修改和超参数的细致调整,RecurrentGemma模型不仅在理论上展现了其先进性,更在实际应用中证明了其高效性和强大的语言处理能力。
训练细节
RecurrentGemma-2B的预训练使用了2万亿个token,这一数据量虽然小于Gemma-2B使用的3万亿个token,但依然构成了一个庞大的数据集,为模型提供了丰富的语言信息。
预训练的数据来源主要是英文的网络文档、数学和代码。这些数据不仅涵盖了广泛的主题和领域,而且经过了精心的筛选和清洗,以减少不想要或不安全的内容,并排除了个人或敏感数据。此外,为了确保评估的公正性,所有评估集都被排除在预训练数据集之外。
RecurrentGemma-2B在预训练中首先使用了一个大型的通用数据混合,然后转向更小但更高质量的数据集进行进一步训练。这种分阶段的训练方法有助于模型在广泛的数据上学习通用的语言表示,然后通过更专业的数据进行细化和优化。
在预训练之后,RecurrentGemma-2B通过指令调整和RLHF算法进行了微调。这一过程旨在优化模型,使其能够更好地遵循指令并生成具有高奖励的响应。
指令调整(Instruction Tuning)是一种训练方法,它使模型能够理解和响应特定的指令格式。RecurrentGemma-2B被训练以遵守特定的对话格式,这种格式通过特定的控制标记来定义,例如用户的输入和模型的输出分别用不同的标记来标识。
RLHF算法是一种先进的微调技术,它通过强化学习框架来优化模型的输出。在RLHF中,模型的输出会根据人类反馈进行评估,并根据评估结果进行调整,以提高输出的质量和奖励。这种算法使得模型能够学习如何在不同的上下文中生成更合适的响应。
通过指令调整和RLHF微调,RecurrentGemma-2B不仅能够生成高质量的语言输出,还能够在对话和遵循指令方面表现出色。这种训练方法为模型提供了灵活性和适应性,使其能够在各种应用场景中发挥作用。


通过这种方式,RecurrentGemma-2B成为了一个强大的语言模型,能够在多种任务和环境中提供高效和准确的语言处理能力。
评估
自动化基准测试是评估RecurrentGemma-2B性能的第一步。这些测试涵盖了多种流行的下游任务,包括但不限于问答、文本摘要、语言推理等。RecurrentGemma-2B在这些任务上的表现与Gemma-2B进行了比较,结果显示,尽管RecurrentGemma-2B训练的token数量较少,但其性能与Gemma-2B相当。
RecurrentGemma-2B在如MMLU 5-shot、HellaSwag 0-shot、PIQA 0-shot等多个学术基准测试中的表现与Gemma-2B相近,这证明了其在不同任务上的通用性和有效性。这些测试结果不仅展示了模型对语言的深入理解能力,也反映了其在实际应用中的潜力。

除了自动化基准测试,RecurrentGemma-2B还经过了人类评估的检验。人类评估是评估语言模型能否生成符合人类期望的响应的关键步骤。在这个过程中,RecurrentGemma-2B的指令调整变体(RecurrentGemma-2B-IT)与Mistral 7B v0.2 Instruct模型进行了对比。
人类评估使用了大约1000个针对创意写作和编码任务的指令遵循的提示集合。RecurrentGemma-2B-IT在这个集合上的表现令人印象深刻,其胜率达到了43.7%,仅略低于Gemma-1.1-2B-IT的45.0%。这一结果表明RecurrentGemma-2B在理解和执行复杂指令方面的能力与现有的先进模型相当。
RecurrentGemma-2B-IT还在大约400个测试基本安全协议的提示集合上进行了评估,其胜率达到了59.8%,显示出模型在遵循安全准则方面的优势。

通过结合自动化基准测试和人类评估,RecurrentGemma-2B的性能得到了全面的检验。自动化测试提供了对模型在各种语言任务上性能的定量评估,而人类评估则提供了对模型输出质量的定性理解。这种综合评估方法确保了RecurrentGemma-2B不仅在理论上表现出色,而且在实际应用中也能提供高质量的语言生成和理解能力。
推理速度基准测试
推理速度是衡量语言模型实用性的关键指标之一,尤其是在处理长序列数据时。RecurrentGemma-2B在推理速度上的优化是其区别于传统Transformer模型的一大亮点。在传统的Transformer模型中,为了进行有效的序列处理,模型需要检索和加载键值(KV)缓存到设备内存中。随着序列长度的增加,KV缓存的大小也会线性增长,这不仅增加了内存的使用,也限制了模型处理长序列的能力。尽管可以通过局部注意力机制减小缓存的大小,但这通常以牺牲一定的性能为代价。
RecurrentGemma-2B通过其创新的架构设计,解决了上述问题。它将输入序列压缩成固定大小的状态,而不是依赖于随序列长度增长的KV缓存。这种设计显著减少了内存的使用,并且使得模型在处理长序列时能够保持高效的推理速度。
在基准测试中,RecurrentGemma-2B展现出了显著的吞吐量优势。如图1a所示,在单个TPUv5e设备上,从2k个token的提示中采样不同长度序列时,RecurrentGemma-2B能够实现每秒高达6k个token的吞吐量,而Gemma模型则随着缓存的增长而吞吐量下降。
RecurrentGemma-2B的固定状态大小是其高效推理的关键。与Gemma模型相比,RecurrentGemma-2B的状态不会随着序列长度的增加而增长,这意味着它可以不受限制地生成任意长度的序列,而不受主机内存大小的限制。这一点在长序列处理中尤为重要,因为它允许模型在保持高性能的同时,处理更长的文本数据。
推理速度的提升不仅在理论上具有重要意义,更在实际应用中展现出其价值。在资源受限的环境中,如移动设备或边缘计算设备,RecurrentGemma-2B的高吞吐量和低内存占用特性使其成为一个理想的选择。此外,高效的推理速度也使得模型能够更快地响应用户请求,提供更加流畅的交互体验。

(b) 展示了处理不同长度提示时的吞吐量,与自回归采样不同,提示是并行处理的。Gemma和RecurrentGemma在处理提示时的速度相似。
负责任的部署
在人工智能领域,模型的部署不仅仅是技术的实现,更是对安全和伦理责任的承担。RecurrentGemma-2B的部署策略充分体现了对这些关键因素的重视。
在模型部署之前,RecurrentGemma-2B经过了一系列标准学术安全基准测试,这些测试旨在评估模型可能产生的不当行为或偏见。通过这些测试,开发团队能够识别并减轻潜在的风险,确保模型在公开使用时的安全性。

除了自动化的安全基准测试,RecurrentGemma-2B还接受了独立团队的伦理和安全评估。这一过程涉及对模型进行全面的审查,包括但不限于其对特定群体的公平性、避免产生有害输出的能力,以及对用户隐私的保护。
尽管进行了严格的测试和评估,但考虑到RecurrentGemma-2B可能被应用于多种不同的场景,开发团队强调无法覆盖所有可能的使用案例。因此,他们建议所有使用者在部署模型之前,根据自己的特定用例进行额外的安全测试。这一建议体现了对用户责任的强调,确保每个部署都是经过深思熟虑和定制化的。
负责任的部署还包括对模型性能和限制的透明度。开发团队提供了详细的模型架构和训练细节,使用户和研究人员能够理解模型的工作原理和潜在局限。此外,团队承诺对模型进行持续的监控和改进,以应对新出现的风险和挑战。
负责任的部署还涉及到与更广泛的AI社区和多方利益相关者的合作。通过分享研究成果、参与公开讨论和接受外部反馈,RecurrentGemma的开发团队展示了其对开放科学和协作的承诺。
随着人工智能领域的不断扩展,RecurrentGemma作为结合了创新架构设计理念、严格的训练和评估过程的典范,证明了在语言理解和生成方面突破可能性的界限的潜力。
论文链接:https://arxiv.org/abs/2404.07839
相关文章:

超越 Transformer开启高效开放语言模型的新篇章
在人工智能快速发展的今天,对于高效且性能卓越的语言模型的追求,促使谷歌DeepMind团队开发出了RecurrentGemma这一突破性模型。这款新型模型在论文《RecurrentGemma:超越Transformers的高效开放语言模型》中得到了详细介绍,它通过…...

快速排序-Hoare 递归版 C语言
个人主页点这里~ 快速排序的简介: 快速排序是Hoare于1962年提出的一种 二叉树结构 的 交换 排序方法,其基本思想为:任取待排序元素序列中 的某元素作为 基准值 ,按照该排序码将待排序集合分割成 两子序列 , 左子序列中所有元素均 …...

C语言经典指针运算笔试题图文解析
指针运算常常出现在面试题中,画图解决是最好的办法。 题目1: #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } //程序的结果是什么&…...
使用 KubeKey v3.1.1 离线部署原生 Kubernetes v1.28.8 实战
今天,我将为大家实战演示,如何基于操作系统 openEuler 22.03 LTS SP3,利用 KubeKey 制作 Kubernetes 离线安装包,并实战离线部署 Kubernetes v1.28.8 集群。 实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不…...

DOS 命令
Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。 ..\ 到上一级目录 常用的dos 命令: 查看当前目录是有什么内容 dir dir d:\abc2\test200切换到其他盘下:盘符号 cd : change directory 案例演示:切换…...

如何用Java程序实现一个简单的消息队列?
在Java程序中,可以使用内置的java.util.concurrent.BlockingQueue作为消息队列存放的容器,来实现一个简单的消息队列。 具体实现如下,在这个例子中,我们创建了一个生产者线程和一个消费者线程,他们共享同一个阻塞队列…...

OpenAI 宕机事件:GPT 停摆的影响与应对
引言 2024年6月4日,OpenAI 的 GPT 模型发生了一次全球性的宕机,持续时间长达8小时。此次宕机不仅影响了OpenAI自家的服务,还导致大量用户涌向竞争对手平台,如Claude和Gemini,结果也导致这些平台出现故障。这次事件的广…...
linux常用的基础命令
ls - 列出目录内容。 cd - 更改目录。 pwd - 打印当前工作目录。 mkdir - 创建新目录。 rmdir - 删除空目录。 touch - 创建新文件或更新现有文件的时间戳。 cp - 复制文件或目录。 mv - 移动或重命名文件或目录。 rm - 删除文件或目录。 cat - 显示文件内容。 more - 分页显示…...

618家用智能投影仪推荐:这个高性价比品牌不容错过
随着科技的不断进步,家庭影院的概念已经从传统的大屏幕电视逐渐转向了更为灵活和便携的家用智能投影仪。随着618电商大促的到来,想要购买投影仪的用户们也开始摩拳擦掌了。本文将从投影仪的基础知识入手,为您推荐几款性价比很高的投影仪&…...
自愿离婚协议书
自愿离婚协议书 男方(夫): 女方(妻): 双方现因 原因,导致夫妻情感已破裂,自愿离婚…...

WPS JSA 宏脚本入门和样例
1入门 WPS window版本才支持JSA宏的功能。 可以自动化的操作文档中的一些内容。 参考文档: WPS API 参考文档:https://open.wps.cn/previous/docs/client/wpsLoad 微软的Word API文档:Microsoft.Office.Interop.Word 命名空间 | Microsoft …...

Printing and Exporting
打印 大多数DevExpress。NET控件(XtraGrid、XtraPivotGrid、XttraTreeList、XtraScheduler、XtraCharts)提供打印和导出功能。 所有可打印的DevExpress.NET控件是使用XtraPrinting库提供的方法打印的。 若要确定预览和打印选项是否可用,请检…...

c++【入门】正多边形每个内角的度数
限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 根据多边形内角和定理,正多边形内角和等于:(n - 2)180(n大于等于3且n为整数)(如下图所示是三角形、四边形、五边形、六边形的形状)…...

spring boot3登录开发-邮箱登录/注册接口实现
⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 上文衔接 内容简介 功能分析 所需依赖 邮箱验证登录/注册实现 1.创建交互对象 2.登录注册业务逻辑实…...
数据结构-二叉搜索树
二叉搜索树:BST(Binary Search Tree) 二叉搜索树是二叉树,可以为空,如果不为空,满足以下性质: 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值大于其根节点的键值左、右字数本身也都是二叉搜索树 二叉…...

JUnit:Java开发者不可或缺的单元测试框架
在软件开发过程中,测试是确保代码质量的关键环节。单元测试作为测试体系的基础,对提升代码质量、降低bug率、增强软件稳定性具有重要作用。JUnit 作为 Java 语言事实上的标准单元测试框架,已经成为 Java 开发者进行单元测试的首选工具。本文将…...
NG32单片机GPIO口配置方式
目录 一、引言 二、GPIO口基本结构 三、GPIO口配置方式 四、工作原理 五、总结 一、引言 NG32单片机是一款集成度高、功能强大的微控制器。其中,GPIO(General Purpose Input/Output)口作为单片机与外部设备通信的重要接口,具…...

SpringCloud-OpenFeign拓展-连接池、最佳使用方法、日志输出
目录 1 OpenFeign连接池 1.1 常见连接类型 1.2 连接池使用方法 1.2.1 引入依赖 1.2.2 开启连接池功能 1.2.3 配置完成,重启实例即可,底层将更改设置。 2 OpenFeign最佳使用方法 2.1 每个微服务都是单独的project,内部有三个独立模块 …...
跨链协议中Cosmos IBC、Polkadot/XCM、Celer Network的区别以及用途
跨链协议是实现不同区块链之间通信和价值转移的关键技术。Cosmos IBC、Polkadot/XCM 和 Celer Network 是三个在跨链领域内具有代表性的协议,它们各自有着独特的设计理念和应用场景。下面是这三个协议的详细对比: Cosmos IBC (Inter-Blockchain Communi…...

电子画册制作与传统画册相比,有哪些优势?
在当今数字化时代,电子画册作为一种新兴的媒体形式,其制作与传统画册相比具有显著的优势。以下是对这些优势的详细探讨。 首先,电子画册的制作过程通常更加便捷和经济。相较于传统画册需要经历的繁琐的印刷过程,电子画册的制作大多…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...