Jamba: A Hybrid Transformer-Mamba Language Model

Jamba: A Hybrid Transformer-Mamba Language Model

相关链接:arXiv
关键字:hybrid architectureTransformerMambamixture-of-experts (MoE)language model

摘要

我们介绍了Jamba,一种新的基于新颖混合Transformer-Mamba混合专家(MoE)架构的基础大型语言模型。具体来说,Jamba交错了Transformer和Mamba层的块,享受两个模型家族的好处。在这些层中的一些层添加了MoE,以增加模型容量,同时保持活跃参数使用量可控。这种灵活的架构允许针对资源和目标的特定配置。在我们实现的特定配置中,我们得到了一个强大的模型,适合在单个80GB GPU中运行。Jamba在大规模构建,相比传统的Transformer,提供了高吞吐量和小内存占用,并且同时在标准语言模型基准测试和长上下文评估中表现出最先进的性能。值得注意的是,该模型对长达256K个token的上下文呈现出强大的结果。我们研究了各种架构决策,例如如何结合Transformer和Mamba层,以及如何混合专家,并且展示了它们在大规模建模中的重要性。我们还描述了在训练和评估Jamba过程中揭示的这些架构的几个有趣特性,并且计划公开不同消融运行的检查点,以鼓励对这个新颖架构的进一步探索。我们根据宽松的许可证公开了我们实现的Jamba的权重。

核心方法

在这里插入图片描述

  1. 混合架构:Jamba结合了Transformer层和Mamba层,这是一种最新的状态空间模型,以及混合专家(MoE)组件。
  2. 灵活配置:通过调整Transformer层和Mamba层的比例,可以在内存使用、高效训练和长上下文能力之间进行平衡。
  3. MoE层:MoE层允许在不增加计算需求的情况下增加模型容量,通过在每两层中应用MoE,使用16个专家,每个token使用前2个专家。
  4. 训练和评估:Jamba在多种基准测试中进行了评估,显示出与具有相似参数数量的Mixtral-8x7B相当的性能,并且在长上下文评估中超过了Mixtral。

实验说明

Jamba模型在一个80GB的GPU上进行了实现和训练,以适应单个GPU的内存限制,同时在质量和吞吐量方面实现了最佳性能。Jamba的特定配置选择了适当的层数、Transformer和Mamba层的比例、MoE的使用频率以及每个MoE层的专家数量,以确保模型可以在单个GPU上运行,同时具有足够的内存来处理输入。

结论

Jamba是一种新颖的架构,它结合了注意力和Mamba层,以及MoE模块,并且我们公开了它的实现,达到了最先进的性能并支持长上下文。我们展示了Jamba在平衡性能和内存需求方面提供的灵活性,同时保持高吞吐量。我们对几种设计选择进行了实验,例如注意力层和Mamba层的比例,并讨论了在开发过程中所做的一些发现,这些发现将为未来的混合注意力-状态空间模型的工作提供信息。为了促进这样的研究,我们计划公开小规模训练运行的模型检查点。我们在此发布的最大的模型具有12B活跃参数和52B可用参数,支持长达256K个token的上下文,并且即使在处理140K-token文本时也能适合单个80GB GPU。

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

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

相关文章

xilinx fpga程序固化

一、前言 xilinx 旗下的产品主要有包含有处理器的SOC系列,也有只有纯逻辑的fpga,两者的程序固化的方法并不相同,本文介绍只包含纯逻辑而不涉及处理器的fpga的代码固化。 二、固化流程 将工程综合,实现,并得到比特流…

MYSQL-7.内存

内存 Mysql的内存结构 大体可分为四个板块:mysql工作组件、线程本地内存、mysql共享内存、存储引擎缓冲区; Mysql server工作组件 对应着mysql架构图中的组件层: Mysql在启动时,会将这些工作组件初始化到内存中; …

MSSQL有关数据库、表的循环操作可使用的存储过程 sp_MSforeachdb 及 sp_MSforeachtable

MSSQL有关数据库、表的循环操作可使用的存储过程: 1. sp_MSforeachdb command1print ?, command2DBCC CHECKDB(?) --检查所有的数据库 2. sp_MSforeachtable command1print ?, command2sp_spaceused ? --统计各个表的空间使用情况 ​ 【说明】sys.​sp_MSforeachdb 和 …

【LAMMPS学习】七、加速性能(2)性能测试

7. 加速性能 7.1.基准测试 7.2.性能测试 在尝试让模拟运行得更快之前,您应该了解它当前的执行情况以及瓶颈所在。 做到这一点的最佳方法是在几个不同的处理器计数(如果可能的话,包括单个处理器)上运行您的系统(实际…

【Vscode】无法将“python,pip,node,npm等”识别为cmdlet...问题

问题出现场景 新换个电脑,然后重新安装了软件,又复现一次又一次“老生常谈”的问题。 解决方法 网络答案吧五花八门,我采取一个我的场景解决可行的方案, 首先我的场景是,环境变量,配置路径都是没有问题…

抖音视频关键词批量下载工具|视频爬虫采集软件

抖音视频批量提取工具,搜索即下载,轻松获取所需视频! 正文: 想要轻松获取抖音上的精彩视频吗?现在,有了我们的抖音视频批量提取工具,一切变得简单易行!Q:290615413无论是针对特定关…

Nginx中间件服务:负载均衡(调度算法)

文章目录 引言I 原理1.1 后端服务器在负载均衡调度中的状态1.2 调度算法II upstreamd的应用2.1 加权负载均衡的服务器列表2.2 AB测试中使用upstream切分流量2.3 基于URL的HASH2.4 IP_HASHsee also引言 作用 转发功能:按照一定的调度算法(轮询、权重)将客户端发来的请求转发…

策略模式

定义: 策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。 优点: 1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。 缺点: 1、策…

基于Pytorch+昇腾NPU部署baichuan2-7B大模型

一、模型介绍 Baichuan 2 是百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。Baichuan 2 在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。 它基于 Transformer 结构,在大约1.2万亿 tokens…

c++20协程详解(一)

前言 本文是c协程第一篇,主要是让大家对协程的定义,以及协程的执行流有一个初步的认识,后面还会出两篇对协程的高阶封装。 在开始正式开始协程之前,请务必记住,c协程 不是挂起当前协程,转而执行其他协程&a…

el-table\vxe-table深色背景Css样式

一、el-table 1、HTML <div class"table"><el-table:data"tableData":cell-class-name"tabCellClassName":row-class-name"tabRowClassName"border><!-- 序号 --><el-table-column type"index" labe…

pygame--坦克大战(二)

加载敌方坦克 敌方坦克的方向是随机的&#xff0c;使用随机数生成。 初始化敌方坦克。 class EnemyTank(Tank):def __init__(self,left,top,speed):self.images {U: pygame.image.load(img/enemy1U.gif),D: pygame.image.load(img/enemy1D.gif),L: pygame.image.load(img/e…

Golang基础-9

Go语言基础 介绍 基础 结构体 自定义类型 结构体定义 结构体声明 结构体初始化 字段访问与修改 匿名结构体 结构体嵌套 初始化函数定义 介绍 本文介绍Go语言中自定义类型、结构体定义、结构体声明、结构体初始化、字段访问与修改、匿名结构体、结构体嵌套、初始化…

clickhouse sql使用2

1、多条件选择 multiIf(cond_1, then_1, cond_2, then_2, …, else) select multiIf(true,0,1) 当第一条件不成立看第二条件判断 第一个参数条件参数&#xff0c;第二参数条件成立时走 2、clickhouse 在计算时候长出现NaN和Infinity异常处理 isNaN()和isInfinite()处理

免费图片转excel方案大全

随着信息技术的发展&#xff0c;我们经常会遇到需要将图片中的数据转换成Excel表格的情况。这种需求在数据分析、报表制作、信息整理等领域尤为常见。然而&#xff0c;许多人在面对这一任务时感到困惑&#xff0c;不知道如何进行。本文将为大家介绍几种免费的图片转Excel方案&a…

【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 如何在Qt中打印日志 | qDebug的使用 文章编号&#xff1a;Qt 学习笔记…

七、Mybatis-缓存

文章目录 缓存一级缓存二级缓存1.概念2.二级缓存开启的条件:3.使二级缓存失效的情况&#xff1a;4.在mapper配置文件中添加的cache标签可以设置一些属性:5.MyBatis缓存查询的顺序 缓存 一级缓存 级别为sqlSession&#xff0c;Mybatis默认开启一级缓存。 使一级缓存失效的四种…

路径规划——搜索算法详解(七):D*lite算法详解与Matlab代码

&#xff01;&#xff01;&#xff01;注意&#xff01;&#xff01;&#xff01; 看本篇之前&#xff0c;一定要先看笔者上一篇的LPA*讲解&#xff0c;笔者统一了符号看起来过渡会更加好理解&#xff01; 到目前为止&#xff0c;我们学习了广度优先搜索Dijkstra算法、能够计…

openGauss 分布式分析能力

分布式分析能力 可获得性 本特性自openGauss 3.1.0版本开始引入。 特性简介 基于openLookeng实现分布式分析能力&#xff0c;与shardingsphere配合openGauss组成HTAP数据库。 客户价值 通过openLookeng快速实现海量数据分析。 特性描述 openLookeng复用shardingsphere中…

基于深度学习的日常场景下的人脸检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文详细介绍基于YOLOv8/v7/v6/v5的日常场景下的人脸检测&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streaml…