首个基于SSM-Transformer混合架构,开源商业大模型Jamba

news2024/11/26 18:32:30

3月29日,知名AI研究实验室AI21在官网开源了,首个基于SSM-Transformer混合架构的商业大模型——Jamba。

目前,ChatGPT、Stable Difusion 、Lyria等产品使用的皆是Transformer架构,虽然在捕捉序列内长距离依赖关系、泛化能力、特征提取等方面非常优秀,但在处理长序列、训练大参数模型时存在AI算力消耗大、过拟合、内存占用大等缺点。

Jamba则是在传统的Transformer架构之上,加入了结构化状态空间模型 (SSM) 技术,结合二者的优点来极大提升其性能。例如,Jamba的吞吐量是同类知名开源模型Mixtral 8x7B的3倍;也是同类模型中极少数能在单个GPU上容纳高达140K上下文的模型

图片

这也就是说,那些没有庞大GPU集群的小企业和个人开发者,通过Jamba也能开发出高性能、低消耗的生成式AI产品。

huggingface地址:https://huggingface.co/ai21labs/Jamba-v0.1

也可通过英伟达平台使用:https://developer.nvidia.com/blog/nvidia-nim-offers-optimized-inference-microservices-for-deploying-ai-models-at-scale/

图片

Jamba架构简单介绍

Jamba加入的SSM技术是借鉴了2023年12月1日,由卡内基梅隆大学Albert Gu和普林斯顿大学Tri Dao提出的论文《Mamba: Linear-Time Sequence Modeling with Selective State Spaces》。

论文地址:https://arxiv.org/abs/2312.00752

Mamba的核心技术是使用“选择性状态空间”来进行序列推理,我们可以把状态空间看作是一个库房。

在建模过程中,Mamba可以根据用户输入的具体情况,有选择性地去库房里拿东西或者忽略,这种灵活性使得它能够更好地处理离散型数据。

例如,Mamba可以根据当前的文本输入数据,有选择地过滤掉不相关的信息,并且能够长时间地记住与当前任务相关的信息。

图片

与传统的序列模型不同的是,Mamba不需要使用复杂的自注意力机制或者MLP块(多层感知器)。主要通过选择性状态空间和MLP块的协同工作,实现了高效的推理过程,并且在处理长序列数据时非常高效,可以轻松处理100万tokens数据。

但引入选择性机制后,状态空间模型不再满足时间不变性,所以,无法直接用高效的卷积来计算,Mamba设计了一种“硬件并行算法”。

图片

该扫描算法使用了GPU并行加速,充分利用了GPU内存层次结构,控制状态张量的具体化过程,只在更高带宽的内存层(如SMX寄存器)上暂存状态,避免了低效的全局内存访问。这使得模型可以更好地利用GPU效率,不会出现浪费的情况。

Jamba则在Mamba的基础之上进行了创新,采用了分块分层的方法成功融合了SSM和Transformer架构:每个Jamba 模块都包含一个注意力层或一个 Mamba 层,然后是一个多层感知器,总体比例为每八个层中有一个 Transformer 层。

图片

这样可以在保持模型推理性能的前提下,极大的降低了AI算力同时提升吞吐量。例如,与同类的开源模型Mixtral 8x7B相比,Jamba的吞吐量是其3倍。

图片

此外,Jamba还是一个专家混合模型(MoE),520亿参数中的120亿参数长期处于激活状态,并对所有MoE层的专家进行了大幅度优化,减轻了推理时内存占用大的问题。

AI21介绍

公开资料显示,AI21 Labs创立于2017年,总部位于特拉维夫和纽约。由Yoav Shoham、Ori Goshen和Amnon Shashua三人联合创立。其中Yoav是一位连续创业者,曾将两家企业出售给谷歌并担任斯坦福大学名誉教授;

Ori是希伯来大学的副教授,曾参与多个NLP项目并发表了几十篇学术论文;Amnon是希伯来大学的教授,同时是知名自动驾驶公司Mobileye的联合创始人兼CEO。

图片

仅2023年,AI21一共融资了2.08亿美元,目前总融资额度3.26亿美元。

产品方面,AI21 Labs在2023年3月推出了大语言模型Jurassic-2,包含Large、Grande和Jumbo三种模型。

图片

Jurassic-2除了在文本生成、API延迟、语言支持等全面增强之外,还开放了指令微调、数据微调,帮助企业、个人开发者打造量身定制的ChatGPT助手。

Jurassic-2特定微调的类型共包括语义搜索,了解查询的意图和上下文含义,并从文档中检索相关的文本片段;上下文问答,仅根据特定上下文提供答案,也可以从文档库中自动检索等。

目前,耐克、Zoom、沃尔玛、三星、阿迪达斯、airbnb等知名企业在使用AI21的大模型产品。

本文素材来源Jamba官网,如有侵权请联系删除

END

图片

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

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

相关文章

NineAi3.5 –支持GPT绘图,语音播报,联网访问,上下文关联,语音模式

NineAi3.5 –支持GPT绘图,语音播报,联网访问,上下文关联,语音模式 基于ChatGPT开发的一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动&…

5.6 物联网RK3399项目开发实录-Android开发之U-Boot 编译及使用(wulianjishu666)

物联网入门到项目实干案例下载: https://pan.baidu.com/s/1fHRxXBqRKTPvXKFOQsP80Q?pwdh5ug --------------------------------------------------------------------------------------------------------------------------------- U-Boot 使用 前言 RK U-B…

多系统使用ffmpeg读取麦克风数据

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、命令行1.Ubuntu1.alsa2.pulseaudio 2.Windows1.dshow 二、代码总结 前言 最近在搞一个项目需要用到麦克风读取数据并分析,我的开发环境是Ubunt…

[Windows]服务注册工具(nssm)

文章目录 官网下载地址百度云下载地址NSSM常用命令 使用场景:例如现在我们想开启自动启动一个Java服务,nginx,node等。 官网下载地址 https://nssm.cc/download 百度云下载地址 链接:https://pan.baidu.com/s/111fkBWIS7CTlWIj80Kc8Sg?pwdanan 提取码…

解码视频流在opengl中的贴图投影计算

解码视频流在opengl中的贴图投影计算 修改顶点着色器cpp 文件放大缩小 我们把视频当成纹理,首先要确定贴入的坐标,原始坐标如下所示 static float vertices[] {// ---- 位置 ---- ---- 颜色 ---- - 纹理坐标 -1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f…

js计算点到直线的距离并使用canvas可视化

使用方程计算 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Distance to Line Visualization</…

题目:小明的背包2(蓝桥OJ 1175)

问题描述&#xff1a; 解题思路&#xff1a; 本题是完全背包模板题&#xff0c;与01背包的不同处在于状态是由小到大转移。 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 1e3 9;int dp[N]; // N表示体积int main() {int n, m;cin >…

健身运动蓝牙耳机什么牌子好?五大业内顶级优品推荐

在当下这个健身热潮席卷的时代&#xff0c;越来越多的人开始注重运动与健康&#xff0c;而音乐作为运动时的最佳伴侣&#xff0c;无疑为锻炼过程增添了不少乐趣。为了在运动时享受音乐&#xff0c;一款优质的健身运动蓝牙耳机显得尤为重要&#xff0c;市场上各大品牌纷纷推出自…

每日面经分享(SpringBoot part4:Controller层)

SpringBoot Controller层的作用 a. 请求映射&#xff1a;Controller层使用注解&#xff08;如RequestMapping、GetMapping、PostMapping等&#xff09;将HTTP请求映射到相应的方法上。这些方法根据URL路径、请求方法、请求参数等来决定要执行的操作。 b. 参数解析&#xff1a;C…

KUKA机器人更改时间和HMI最小化设置

在使用 KUKA 机器人时&#xff0c;示教器上左边有个“表”的图标&#xff0c;点一下就会显示时间。但一般不准&#xff0c;想要更改时间可以通过HMI最小化后进行更改设置。更改时间需要将示教器界面最小化&#xff0c;也就是进入Windows 界面。通过以下步骤可以进行设置&#x…

ES学习日记(二)-------集群设置

上一节写了elasticsearch单节点安装和配置,现在说集群,简单地说就是在多台服务器上搭建单节点,在配置文件里面增加多个ip地址即可,过程同单节点部署,主要说集群配置 注意:不建议在之前单节点es上修改配置为集群,据说运行之后会生成很多文件,在单点基础上修改容易出现未知问题,…

微信支付平台与微信服务号关联配置要点

目录 JSAPI支付 前期资料及相关准备 申请微信服务号 服务号配置要点 微信认证 基本配置 功能设置 申请微信支付号 支付号配置要点 设置操作密码 API安全 开发设置 与服务号关联 小结 JSAPI支付 我们的开发应用场景以JSAPI支付为举例&#xff0c;这也是常用的一…

基于Java+SpringBoot+Mybaties+layui+Vue+elememt 实习管理系统 的设计与实现

一.项目介绍 前台功能&#xff1a;用户进入系统可以实现首页&#xff0c;系统公告&#xff0c;个人中心&#xff0c;后台管理等功能进行操作 后台由管理员&#xff0c;实习单位&#xff0c;教师和学生&#xff0c;主要功能包括首页&#xff0c;个人中心&#xff0c;班级管理&am…

Python多任务处理---多线程

引入 生活中&#xff0c;我们在电脑上打开了一个word, 这个word对操作系统来说就是一个进程。我们在进行word操作的时候&#xff0c;比如在你打字的时候&#xff0c;该word同时可以进行文字检查。发现了没&#xff0c;在同一个进程中&#xff0c;我们也可以进行同时操作。…

编程语言 MoonBit 本周有超多重磅更新等你来探索:expect 测试添加 inspect 函数,还有……

MoonBit 更新 1. expect 测试添加 inspect 函数 expect 测试添加针对 Show 接口的 inspect 函数&#xff0c;签名如下&#xff1a; pub fn inspect(obj: Show,~content: String "",~loc: SourceLoc _,~args_loc: ArgsLoc _ ) -> Result[Unit, String]⚠️ 此…

【javascript】Promise的介绍和使用方法

简言 什么是Promise&#xff1f; Promise 是一个对象&#xff0c;它代表了一个异步操作的最终完成或者失败。它可以进行链式调用、错误捕捉等操作&#xff0c;轻松解决经典的回调地狱问题&#xff0c;可以像编写同步代码那样&#xff0c;从容、简洁、优雅地实现高复杂度的异步…

【算法分析与设计】丑数 | |

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给你一个整数 n &#xff0c;请你找出并返回第 n 个 丑数 。 丑数 就是质因子只包含 2、3 和 5 的正整数。 示例 示例 1&#xff1a;…

智慧城市数字孪生,综合治理一屏统览

现代城市作为一个复杂系统&#xff0c;牵一发而动全身&#xff0c;城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。城市工作要树立系统思维&#xff0c;从构成城市诸多要素、结构、功能等方面入手&#xff0c;系统推进…

Python基础之Class类的定义、继承、多态

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、class类1.类属性操作&#xff08;增删改&#xff09;2.类方法操作 二、类的继承1、语法2、方法重写 二、类的多态 一、class类 、三部分组成 1、类名&#xff…

makefile第五讲

更多精彩内容在公众号。 书写命令 每条规则中的命令和操作系统 Shell 的命令行是一致的。 make 会按顺序一条一条的执行命令&#xff0c; 每条命令的开头必须以[Tab]键开头&#xff0c; 除非&#xff0c;命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被…