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在启动时,会将这些工作组件初始化到内存中; …

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

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

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

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

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

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

c++20协程详解(一)

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

pygame--坦克大战(二)

加载敌方坦克 敌方坦克的方向是随机的,使用随机数生成。 初始化敌方坦克。 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…

clickhouse sql使用2

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

免费图片转excel方案大全

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

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

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

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

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

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

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

AWS-EKS 给其他IAM赋予集群管理权限

AWS EKS 设计了权限管理系统,A用户创建的集群 B用户是看不到并且不能管理和使用kubectl的,所以我们需要共同管理集群时就需要操场共享集群访问给其他IAM用户。 两种方式添加集群控制权限(前提:使用有管理权限的用户操作&#xff…

【c++】类和对象(七)

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章来到类和对象的最后一部分 目录 1.static成员1.1特性 2.友元2.1引入&#xff1a;<<和>>的重载2.2友元函数2.3友元类 3.内部类4.匿名对象5.拷…

聚观早报 | 蔚来推出油车置换补贴;iPhone 16 Pro细节曝光

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 4月02日消息 蔚来推出油车置换补贴 iPhone 16 Pro细节曝光 小米SU7创始版第二轮追加开售 OpenAI将在日本设立办事…

Ollama教程——入门:开启本地大型语言模型开发之旅

Ollama教程——入门&#xff1a;开启本地大型语言模型开发之旅 引言安装ollamamacOSWindows预览版LinuxDocker ollama的库和工具ollama-pythonollama-js 快速开始运行模型访问模型库 自定义模型从GGUF导入模型自定义提示 CLI参考创建模型拉取模型删除模型复制模型多行输入多模态…

ADB 命令之 模拟按键/输入

ADB 命令之 模拟按键/输入 模拟按键/输入 在 ​​adb shell​​​ 里有个很实用的命令叫 ​​input​​&#xff0c;通过它可以做一些有趣的事情。 ​​input​​ 命令的完整 help 信息如下&#xff1a; Usage: input [<source>] <command> [<arg>...] Th…

SV学习笔记(一)

SV&#xff1a;SystemVerilog 开启SV之路 数据类型 內建数据类型 四状态与双状态 &#xff1a; 四状态指0、1、X、Z&#xff0c;包括logic、integer、 reg、 wire。双状态指0、1&#xff0c;包括bit、byte、 shortint、int、longint。 有符号与无符号 &#xff1a; 有符号&am…

云计算对象存储服务

对象存储服务&#xff08;OSS&#xff09;中的存储桶(Bucket)叫做‘OBS桶 存储桶&#xff08;Bucket&#xff09;&#xff1a;存储桶式对象存储服务中用于存储对象的基本容器&#xff0c;类似于文件系统中的文件夹。每个存储桶具有唯一的名称&#xff0c;并且可以在桶中存储任…

理解Three.js的相机

大家都知道我们生活中的相机&#xff0c;可以留下美好瞬间。那Three.js的相机是什么呢&#xff1f;Three.js创建的场景是三维的&#xff0c;而我们使用的显示器显然是二维的&#xff0c;相机就是抽象的定义了三维空间到二维显示器的投影方式。Three.js常见的相机有两类&#xf…