放大招了|十亿参数大模型LLMs运行功耗仅需13W,内存使用量减少90%!

矩阵乘法(MatMul)历来是大型语言模型(LLMs)总体计算成本的主导因素,尤其在模型向更大维度嵌入和上下文长度发展时,这一成本呈指数级增长。

图片

近期有一篇刚刚发表的论文中提出的方法完全去除了矩阵乘法操作,同时在十亿参数级别的模型中实现了与前沿Transformer模型相当的性能。研究发现,随着模型规模的增加,无矩阵乘法模型与全精度Transformer模型之间的性能差距逐渐减小。在GPU实现上,通过优化内核,训练时的内存消耗相比未优化版本减少了高达61%,而在推理阶段,模型的内存使用量更是减少了90%以上。此外,作者们还在FPGA上构建了定制硬件,利用了比GPU更轻量级的操作,实现了在13W功耗下处理十亿参数规模模型的能力

图片

大型语言模型,如ChatGPT,虽然能产生令人印象深刻的智能结果,但其高昂的运行成本和巨大的碳足迹也让人望而却步。据估算,运行ChatGPT 3.5每天的能源成本高达70万美元。然而,UC Santa Cruz的研究团队展示了如何在不牺牲性能的前提下,剔除运行大型语言模型过程中最昂贵的计算环节。

矩阵乘法是大多数神经网络中占据主导地位的操作,密集层涉及向量-矩阵乘法(VMM),卷积可以作为具有共享权重的块稀疏VMM实现,而自注意力则依赖于矩阵-矩阵乘法(MMM)。由于图形处理器(GPU)对MatMul操作进行了优化,MatMul的普遍性得以凸显。通过CUDA和高度优化的线性代数库如cuBLAS,MatMul操作可以被高效并行化和加速。这种优化是AlexNet在ILSVRC2012竞赛中获胜的关键,也是深度学习崛起的历史标志。AlexNet利用GPU将训练速度提升至CPU无法企及的程度,因此,无论是训练还是推理,都离不开MatMul操作。

为了进行矩阵相乘,需要将矩阵存储在物理分离的多个图形处理单元(GPU)上,这些GPU是专为快速处理大规模数据集设计的电路,主要由NVIDIA制造。当需要从不同GPU上的矩阵中提取数字进行相乘时,数据的移动成为神经网络时间及能耗成本的主要来源。

尽管在深度学习中普遍存在,但MatMul操作占据了计算开销的主要部分,通常消耗了执行时间和内存访问的大部分,无论是在训练阶段还是推理阶段。一些工作通过两种主要策略替代了MatMul,以更简单的操作取而代之。第一种策略涉及用基本操作替换MatMul,例如AdderNet在卷积神经网络(CNNs)中用有符号加法代替了乘法。考虑到对卷积的关注,AdderNet更适合用于计算机视觉而不是语言建模。第二种策略是通过近似方法减少MatMul的计算复杂度,如低秩分解和哈希技巧。这些策略通常会牺牲一定程度的精度以换取计算效率。

图片

从上图对比发现,在370M参数规模下,MatMul-free Transformer++模型未能收敛,而本论文提出的方法在没有矩阵乘法(MatMul-free)的设置下成功收敛。这意味着,尽管MatMul-free Transformer++尝试在不使用矩阵乘法的情况下训练,但它未能有效地最小化损失函数,从而导致训练失败。这可能是因为它在去除矩阵乘法后,未能找到有效的替代机制来处理复杂的计算需求,特别是当涉及到大量的权重更新和梯度传播时。

相比之下,我们提出的方法在相同的MatMul-free条件下实现了成功的收敛。这表明我们的方法有效地解决了在没有矩阵乘法的情况下进行训练的问题,通过创新的算法设计或优化策略,确保了即使在去除矩阵乘法后,模型依然能够学习并改进其预测能力。

研究人员采用两种主要技术避免使用矩阵乘法。首先,他们将所有矩阵内的数字限制为三进制,即只能取-1、0或1三个值,这使得计算过程简化为加法而非乘法。其次,研究者调整了矩阵之间的通信策略,不是将一个矩阵中的每个数字与另一个矩阵中的每个数字相乘,而是设计了一种只执行最重要运算的策略,通过叠加矩阵并仅计算最关键的部分,达到与矩阵乘法相同的效果,但大大减少了计算成本。

图片

尽管计算量减少,但通过引入基于时间的计算训练模型,研究者能够保持神经网络的性能,使网络能够“记住”处理的关键信息,从而提升表现。实验显示,他们的模型在数十亿参数规模下与Meta的顶级算法Llama取得了相同的性能。

研究团队最初设计的神经网络可在GPU上运行,以利用GPU在人工智能行业的普及性,让软件易于获取和使用。在标准GPU上,该神经网络的内存消耗减少了约10倍,运行速度提高了约25%,这可能为在内存较小的设备(如智能手机)上全速运行强大的大型语言模型铺平道路。

NVIDIA设计的GPU高度优化了矩阵乘法的性能,这使他们在行业中独占鳌头,成为全球最盈利的公司之一。然而,这些硬件并未针对三进制运算进行全面优化。为了进一步节省能源,研究团队与计算机科学与工程系助理教授Dustin Richmond以及讲师Ethan Sifferman合作,创建了定制硬件。在三周内,他们在一个高度可定制的电路——现场可编程门阵列(FPGA)上构建了硬件原型,充分利用了神经网络中编程的所有节能特性。

借助定制硬件,模型在仅13瓦特功率下实现了超越人类阅读速率的输出,相比之下,使用GPU大约需要700瓦特的功率,这意味着定制硬件的效率是GPU的50多倍。研究人员认为,随着进一步的发展,他们可以进一步优化技术,实现更高的能源效率。他们指出,当前的结果已经相当出色,但在更有效地利用资源方面仍有巨大的潜力可挖。如果能在13瓦特功率下做到这一点,那么想象一下在整座数据中心的计算能力加持下,我们能取得怎样的成就。

论文中提到了GPU和FPGA上的轻量化模型实现。通过融合内核,GPU实现加速了训练过程,内存消耗减少了61%。此外,使用低比特优化的CUDA内核,推理速度提高了4.57倍,当模型扩展到130亿参数时,内存使用量减少90%。FPGA上的定制硬件解决方案展示了在真实世界中,轻量化模型不仅能降低计算需求,还能减少能源使用。

总的来说,这篇论文展示了在大型语言模型中完全移除矩阵乘法的可能性,同时保持了模型性能,大幅降低了计算和内存消耗。此外,通过GPU和FPGA上的优化实现,展示了轻量化模型在实际应用中的潜力,特别是其能源效率接近脑部水平。这些成果为未来的模型设计和硬件优化提供了新的方向。


如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • CXL:拯救NVMe SSD缓存不足设计难题

  • 数据中心:AI范式下的内存挑战与机遇

  • WDC西部数据闪存业务救赎之路,会成功吗?

  • 属于PCIe 7.0的那道光来了~

  • 深度剖析:AI存储架构的挑战与解决方案

  • 浅析英伟达GPU NCCL P2P与共享内存

  • 3D NAND原厂:哪家芯片存储效率更高?

  • 大厂阿里、字节、腾讯都在关注这个事情!

  • 磁带存储:“不老的传说”依然在继续

  • 浅析3D NAND多层架构的可靠性问题

  • SSD LDPC软错误探测方案解读

  • 关于SSD LDPC纠错能力的基础探究

  • 存储系统如何规避数据静默错误?

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 浅析不同NAND架构的差异与影响

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • CXL崛起:2024启航,2025年开启新时代

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

如果您也想针对存储行业分享自己的想法和经验,诚挚欢迎您的大作。
投稿邮箱:Memory_logger@163.com (投稿就有惊喜哦~)

《存储随笔》自媒体矩阵

图片

如您有任何的建议与指正,敬请在文章底部留言,感谢您不吝指教!如有相关合作意向,请后台私信,小编会尽快给您取得联系,谢谢!

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

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

相关文章

Oracle ACE夜话--和首席-总监一起跟大家谈一谈分布式数据库发展

前言 在昨日的Oracle ACE夜话中,和薛首席、尹总监一起聊了下当前分布式数据库的内容,现将分享内容又进行了相应整理,分享给大家,也希望大家多多指正。 一、自我介绍 尚雷,公众号【尚雷的驿站】,PG ACE&a…

C++项目实践学习笔记---DLL

linux守护进程 守护进程或精灵进程(Daemon):以后台服务方式运行的进程,它们不占用终端(Shell),因此不会受终端输入或其他信号(如中断信号)的干扰守护进程有如下特点。 &…

高性能并行计算课程论文:并行网络爬虫的设计与实现

目录 1.绪论 1.1 研究背景 1.2 研究意义 ​​​​​​​1.3 文章结构 2. 网络爬虫相关理论 ​​​​​​​2.1 URL地址格式 ​​​​​​​2.2 网页爬取策略 2.2.1 深度优先策略 2.2.2 广度优先策略 2.2.3 最佳优先策略 ​​​​​​​2.3 网页分析算法 ​​​​​​​2.3.1 正…

微软发布Phi-3系列语言模型:手机端的强大AI助手

大模型(LLMs)在处理复杂任务时展现出的巨大潜力,但却需要庞大的计算资源和存储空间,限制了它们在移动设备等资源受限环境中的应用。微软公司最新发布的Phi-3系列语言模型,以其卓越的性能和小巧的体积,打破了…

c++习题01-ljc的暑期兼职

目录 一,题目描述 二,思路 三,伪代码 四,流程图 五,代码 一,题目描述 二,思路 1,根据题目要求需要声明4个变量:a,b,c,d ;牛奶价格a,活动要求b&…

柯桥商务英语培训under是“在下面”,dog是“狗”,那underdog是什么意思?

英语中有很多单词 拆开看都认识 但合在一起意思就变了 就比如这个表达:underdog 大家都知道:under是下面,dog是狗 那么underdog是啥意思呢? 在小狗下面? 还是活得连狗都不如? 当然没有那么简单 但我…

flask 接收vuejs element el-upload传来的多个文件

el-upload通过action指定后端接口,并通过name指定传输的文件包裹在什么变量名中 <el-uploadclass="upload-demo"dragaction="https://ai.zscampus.com/toy/upload"multiplename="fileList":limit="10"accept=

Linux-笔记 使用SCP命令传输文件报错 :IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

前言 使用scp命令向开发板传输文件发生报错&#xff0c;报错见下图; 解决 rm -rf /home/<用户名>/.ssh/known_hosts 此方法同样适用于使用ssh命令连接开发板报错的情况。 参考 https://blog.csdn.net/westsource/article/details/6636096

【Java Web】Axios实现前后端数据异步交互

目录 一、Promise概述 二、Promise基本用法 三、async和await关键字 四、Axios介绍 4.1 Axios基本用法 4.2 Axios简化用法之get和post方法 五、Axios拦截器 六、跨域问题处理 一、Promise概述 axios是代替原生的ajax实现前后端数据交互的一套新解决方案&#xff0c;而axios使用…

Geotools系列说明之入门介绍与坐标系转换说明

Geotools介绍 借用官网的介绍 GeoTools is an open source Java library that provides tools for geospatial data 就是提供java处理地理空间的工具详细内容请参考官网 Geotools环境搭建 我们这里只讨论Geotools在Maven中和Idea的项目实战&#xff0c;至于Geotools的服务端…

Filter and Search

应用筛选器时&#xff0c;“视图”仅显示符合当前筛选条件的记录。您可以根据一列或多列筛选数据。如果针对多个列进行筛选&#xff0c;则网格会在列筛选器之间应用AND逻辑运算符。 GridControl-Grid View 大多数DevExpress数据感知组件&#xff08;数据网格、树列表、垂直网…

讯飞星火企业智能体平台正式发布,打造每个岗位专属AI助手

大力财经 | 发布 讯飞星火V4.0来了&#xff01;6月27日&#xff0c;科大讯飞在北京发布讯飞星火大模型V4.0及相关落地应用。讯飞星火V4.0七大核心能力全面提升&#xff0c;整体超越GPT-4 Turbo&#xff0c;在8个国际主流测试集中排名第一&#xff0c;国内大模型全面领先。 大模…

台灯的功能作用有哪些?分享好用的护眼灯!看完就知道台灯怎么选

在当今时代&#xff0c;学生们长时间地沉浸于平板、手机、电脑等电子设备中&#xff0c;这些设备的屏幕往往伴随着频闪和蓝光辐射&#xff0c;这无疑对视力健康构成了潜在威胁。家长们日益关注孩子的护眼养眼问题&#xff0c;因为视力疲劳和眼部疾病不仅会降低个体的生活质量&a…

已解决:macOS Navicat保存密码失败(Failed to save password Error code: -34018),错误代码34018

Navicat 16 包括 Navicat15诸多版本都存在着问题&#xff0c;还要我去搞什么钥匙串访问&#xff0c;真麻烦&#xff01; Failed to save password Error code: -34018别搞那些有的没的方案&#xff01;就是TNT没 PJ 完美才导致这个问题出现&#xff0c;现在换了个PJ好的16.3.7版…

哈希表 | 哈希查找 | 哈希函数 | 数据结构 | 大话数据结构 | Java

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 &#x1f4cc;毛毛张今天分享的内容&#x1f586;是数据结构中的哈希表&#xff0c;毛毛张主要是依据《大话数据结构&#x1f4d6;》的内容来进行整理&#xff0c;不…

上午写的博客,下午就上了bing首页,惊不惊喜,意不意外

今天上午写了一篇《用免费的“山水博客”来管理你的离线文章》的博客&#xff0c;没想到下午在必应就搜到了&#xff0c;而且还是首页第四个。 不由的让人感概&#xff0c;以前写了那么多的博客&#xff0c;想将排名排前点&#xff0c;在网上找了不少秘籍&#xff0c;都没成功&…

神经网络学习笔记9-简单的反向传播和线性回归

tensor在pytorch中是一个非常重要的类型 假如需要计算梯度&#xff0c;就将tensor中 requires_grad设为true loss是一个张量&#xff0c;在做运算时构建运算图&#xff0c;因此不要直接进行&#xff0c;会将将梯度存入w&#xff0c;当反向传播完成 后&#xff0c;该计算图会…

计算机的错误计算(十四)

摘要 解读 GPU和CPU计算上的精度差异&#xff1a;GPU 的 3个输出的相对误差分别高达 62.5%、50%、62.5%。 例1. 计算下列两个矩阵的乘积&#xff1a; 显然&#xff0c;其结果为第一列&#xff1a; 这个结果是准确的。 例2. 已知上面 3 个矩阵是由下面代码产生或输出&…

奔驰汽车的通信如此固若金汤的原因

随着摄像系统、距离控制、航线保持等功能以及制动辅助系统、制动力分配系统、车身侧倾干预与缓解系统等功能的飞速发展,汽车的系统功能之间已经不再独立,而是呈现互相合作的关系,各功能之间的无缝集成更是各大整车厂追求的目标。俗话说,外练筋骨皮,内练一口气,有了各式安…

HexPlane代码复现(十几分钟就复现成功的一篇论文代码!!!!!)

https://caoang327.github.io/HexPlane/ 一、 python setup.py develop命令用不了了 running develop /home/uriky/anaconda3/envs/hexplane/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is d…