小米大模型提效新框架:训练最高提速34%,推理最高提速52%!Kaldi之父合作出品

news2024/11/27 11:40:47

大模型推理速度提升50%以上,还能保证少样本学习性能!

小米大模型团队提出SUBLLM(Subsampling-Upsampling-Bypass Large Language Model),国际AI语音大牛、开源语音识别工具Kaldi之父Daniel Povey也参与指导。

与Llama等模型相比,SUBLLM在训练和推理速度以及降低内存方面都有了显著提升。

在大模型训练中,SUBLLM的速度提高了26%,每个GPU的内存减少了10GB。在推理中,它的速度提高了37%,每个GPU的内存减少了1GB。

训练和推理速度分别最高可以提高****至34%和52%

图片

SUBLLM通过智能地选择和处理数据,使得模型在训练和推理时更加高效:子采样模块剔除不必要的信息,上采样模块恢复数据的完整性,而绕过模块则加快了学习过程。

图片

在一万字中挑选最关键的五百字

目前,云端的大模型处理超长文本任务,通常需要动用多达8个GPU,这个过程不仅耗时,而且成本昂贵。如果将大模型类比于人脑,那么当前大模型的运行功率相比于人脑运行功率的100倍以上。

此前,Daniel Povey在语音识别领域提出了Zipformer,Zipformer可以用最低压缩16倍的帧率,达到与更大模型一致甚至更高的语音识别率,完成了语音识别领域的“四两拨千斤”。

小米集团大模型团队尝试将这一思路扩展至大型语言模型中,在性能不受损害的前提下,实现了更高效率的大模型运算。

总的来说,SUBLLM的工作原理通过引入子采样、上采样和旁路模块等方式,对计算资源动态分配,从而减少了冗余的token计算负担,加速了模型的训练和推理过程。

能做到就像在一万字中挑选最关键的五百字一样,保留文本中必需的部分,删减其中的冗余,从而让大模型所需处理的文本更短。

图片

就实现路径而言,会将子采样模块根据token的重要性分数对其进行筛选,保留重要的token并丢弃不重要的部分。

随后,上采样模块将子采样后的序列恢复到原始长度,确保语言模型在生成token时的顺序一致性。

同时,旁路模块通过结合子采样前后的序列,进一步提高了模型的收敛速度。这种设计不仅显著减少了计算成本,还保持了输入序列的语义完整性。

如果将SUBLLM理解为一个聪明的编辑,就像我们的大脑会识别要点一样,它可以在阅读一大段文字时快速识别出哪些词是关键的,哪些词不那么重要。SUBLLM会保留那些重要的词汇,而忽略那些不太重要的部分,这就大大减少了需要处理的信息量。

随后,就像我们能通过只言片语补充完整故事的来龙去脉,SUBLLM也能将精简后的信息恢复到原有的完整度,确保整个文本在表达时的连贯与完整。在处理信息时,SUBLLM还能更加迅速地找到最佳的表达方式。

接下来具体看SUBLLM的模型结构。

SUBLLM具体长啥样?

前不久,谷歌Deepmind提出了mixture of depths(MoD)模型结构,MoD使用静态计算预算,使用每个块的路由器选择token进行计算,并通过对自注意力和MLP块或残差连接的选择来优化FLOP使用。

更早以前,经典论文CoLT5使用条件路由来决定给定token是通过轻量分支还是重量分支在前馈和注意力层中传递,以便将更多资源分配给重要token。

与这些模型结构类似,SUBLLM采用的原理接近于人脑对于信息的处理机制。

人脑有两种思维模式,一种低功耗的快模式,一种高功耗的慢模式,分工明确,且两种模式恰恰用的是同一个脑部区域。

因此,SUBLLM作者也从这一信息处理模式的角度思考了如何将大模型的算力进行合理地分配:重要的token用全部算力,相对不重要的token使用更少算力。

具体来说,SUBLLM的模型结构是基于decoder-only的大语言模型架构,在不改变原有模型结构的基础上,在一些特殊的层上进行了结构升级。

图片

为了管理要处理的token数量,子采样和上采样模块被集成到Transformer块之间

首先,模型使用几个Transformer块处理完整序列,捕获全面的token序列表示。

引入子采样模块后,这些模块暂时去除不关键的token,从而减少处理所需的序列长度。

然后对缩减后的序列进行更多次的子采样过程,也就是序列的缩减是嵌套的。序列压缩的最高级别发生在网络的最中间的Transformer块中。

随后,使用上采样模块逐步恢复序列长度。这些模块将较短的处理序列与子采样前的原始序列合并,将它们恢复到完整长度。

这种机制允许仅解码器模型作为语言模型操作,按顺序生成token,保证输入和输出序列长度相同。

此外,上采样过程后集成了绕过连接模块,以利用每个子采样前的嵌入,帮助改进从子采样到上采样的学习过程。

随后的实验证实,这种方法显著提高了收敛效率。

与LLaMA模型相比,SUBLLM在训练和推理方面分别实现了26%和37%的速度提升,同时显著降低了内存成本,同时保持了性能。

预训练阶段、推理阶段计算效率的详细分析:

图片

论文链接:https://arxiv.org/abs/2406.06571

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

【学习笔记】爱立信SPO 1400 CRAFT软件基础知识4——图形用户界面之通知列表和状态栏

一、前期准备 提示:下面所有学习内容都是基于以下条件完成的 条件1.已经正确安装并正常运行SPO 1400 CRAFT软件(以下简称LCT) 条件2.确认已正确使用爱立信SPO 1400 CRAFT软件通过网络登录设备(以下简称NE) 具体登录…

大数据学习之分布式数据采集系统Flume学习

分布式数据采集系统Flume学习 一、Flume架构 1.1 Hadoop业务开发流程 1.2 Flume概述 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 支持在日志系统中定制各类数据发送方,用于收集数据; 同时,Flume提供对数据进行简单处理&…

怎么在线电脑上做图片二维码?在线3步图片转活码的制作方法

图片怎么才能做成二维码展示呢?图片生成二维码的方式能够在手机上查看图片,有利于图片的快速分享,通过这种方法能够减少对内存的占用,也提高了用户获取图片的便利性。通过生成图片活码能够不断提供最新的图片给用户展示&#xff0…

某山词霸翻译js逆向分析

一、基础知识 1、post的几种发包的方式 2、query string和form data的区别 Query String Parameters: GET请求时,参数会以url string 的形式进行传递,即?后的字符串则为其请求参数,并以&作为分隔符。(有时候pos…

RocketMQ快速入门:linux安装rocketmq并配置开机自启(十一)

目录 0. 引言1. 下载安装包1.1 高版本直接下载安装包1.2 下载源码包进行编译 2. namesrv和broker安装2.1 安装2.2 放开服务器端口2.3 测试 3. 配置开机自启3.1 配置namesrv开机自启3.2 配置broker开机自启 0. 引言 之前我们针对本机电脑安装rocketmq进行了讲解,同时…

营销翻车,杜国楹出面道歉,小罐茶的“大师作”故事仓皇结尾

“小罐茶,大师作”,这句slogan曾一度在央视平台长时间、高密度播放,成为家喻户晓的广告词,也打响了小罐茶品牌的名号。但同时,市场上关于“大师作”真实性的质疑也从未停息。 就在6月25日小罐茶十二周年发布会上&#…

页分裂和页合并——Java全栈知识(33)

上篇文章我们讲到了 MySQL 的数据页,我们说到了 InnoDB 的索引是以 B树的形式构建的,而且 B树的节点都是一个数据页。 但是 B树在使用过程中难免会有节点分裂和节点合并的过程。 因为我们是以数据页为基本单位构造的 B树,那么 B树的节点分裂和…

django —— 搭建项目及简单测试

打开Pycharm编辑器 新建项目 File -> New Project 创建应用管理 -> myapp 打开终端输入 python38 manage.py startapp myapp 执行后会在项目下自动生成myapp文佳夹 把myapp配置到settings.py中 在settings.py文佳INSTALLED_APPS 中输入 在views.py中编写业务接口 把…

云计算:重塑数字时代的基石

目录 一、引言 二、云计算的定义与特点 三、云计算的发展历程 四、云计算的应用场景 五、云计算面临的挑战 六、云计算的未来发展趋势 七、结语 一、引言 随着信息技术的飞速发展,云计算已经逐渐渗透到我们生活的方方面面。从个人用户的在线存储、在线办公&…

昇思25天学习打卡营第5天|数据变换 Transforms

昇思25天学习打卡营第5天|数据变换Transforms 前言数据变换 TransformsCommon TransformsCompose Vision TransformsRescaleNormalizeHWC2CHW Text TransformsPythonTokenizerLookup Lambda Transforms 个人任务打卡(读者请忽略)个人理解与总结 前言 非常…

树莓派4B学习笔记14:Python多线程编程_线程间的同步通信_(锁‘threading.Lock’)

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日学习树莓派与Python的多进程编程_线程间同步通信 文…

capitalize()方法——字符串首字母转换为大写

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 capitalize()方法用于将字符串的首字母转换为大写,其他字母为小写,例如图1所示的效果。 图1 字符串首字母大写效果…

安全技术和防火墙(2)

安全技术和防火墙 文章目录 安全技术和防火墙安全技术防火墙通信的五大要素和四大要素四表五链*控制类型管理选项:匹配条件实验步骤关闭防火墙 添加规则指定IP地址指定多个ip指定端口拒绝访问nginx删除规则修改策略修改链拒绝整个网段禁止多个端口匹配mac地址 iptab…

代理IP对SEO影响分析:提升网站排名的关键策略

你是否曾经为网站排名难以提升而苦恼?代理服务器或许就是你忽略的关键因素。在竞争激烈的互联网环境中,了解代理服务器对SEO的影响,有助于你采取更有效的策略,提高网站的搜索引擎排名。本文将为你详细分析代理服务器在SEO优化中的…

自动化代码规范检查--Sonarqube部署

参考文档 官方文档安装数据库 官方给出几种数据库: # 我们选用postgres, 拉取镜像 docker pull postgres:16.0# 创建存储卷 docker volume create postgresql-data# 运行容器 docker run -d --name sonarqube-postgres \-p 5432:5432 \-e POSTGRES_DB=sonar_DB \-e POSTGRE…

pyqt5 制作视频剪辑软件,切割视频

该软件用于切割视频,手动选取视频片段的起始帧和结束帧并保存为json文件。gui界面如下:包含快进、快退、暂停等功能, 代码如下: # coding=UTF-8 """ theme: pyqt5实现动作起始帧和结束帧的定位,将定位到的帧数保存json文件 time: 2024-6-27 author: cong…

vs2017调试MFC源码与dll版本不匹配

如上图,使用VS2017调试MFC源码,提示源码与dll不匹配。 经过一番折腾终于找到了原因:同时安装了vs2017、vs2022,结果加载的mfc140ud.dll不是vs2017的,而是vs2022的,主版本号虽然都是14,但小版本…

uniapp加载打点点效果

uniapp加载打点点效果 背景实现思路代码实现尾巴 背景 为了增加系统的交互性,我们在加载数据时通常会增加一些loading动效,但是在某些场景下只需要一些简单文字提醒。比如说使用【加载中】或者【loading】等字段,但是写静态的字符又显得交互…

探索未来的AI革命:GPT-5的即将登场

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

-bash: /snap/bin/docker: 没有那个文件或目录

-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后,重新加载配置文件 source ~/.bashrc