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

news2024/11/24 10:25:17

矩阵乘法(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.coloradmin.cn/o/1871203.html

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

相关文章

SS8870T-3.6A 扫地机和滚刷电机的大电流电机驱动

扫地机器人已经成为现代家庭清洁的必备工具,而其中的关键部件——电机,对于其性能和用户体验起着至关重要的作用。为了确保扫地机器人的高效清洁和稳定运行,至少需要使用7个直流电机,包括行走轮、滚轮、边刷和吸尘等功能的驱动。 …

2024/5/9【贪心5/5】--代码随想录算法训练营day36|56. 合并区间、738.单调递增的数字、968.监控二叉树 (可跳过)

56. 合并区间 力扣链接 class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort(keylambda x: x[0]) # 按照区间的左边界进行排序result.append(intervals[0]) # 第一个区间可以直接放入结果集中…

专业软件测试公司分享:安全测评对于软件产品的重要性

在互联网普及的今天,随着各类软件的大规模使用,安全问题也变得愈发突出。因此,对软件进行全面的安全测评,不仅可以有效保障用户的信息安全,还能提升软件产品的信任度和市场竞争力。 安全测评对于软件产品的重要性就如…

SSL证书部署的安装环境

一、SSL证书常见的几种服务器环境 SSL证书可以安装部署在多种服务器环境中,以实现网站的HTTPS安全加密通信。正常常见的几种服务器主要分为Apache服务器、Nginx服务器、IIS服务器、Tomcat服务器。 1、Apache服务器: Apache是广泛使用的Web服务器软件。…

【C++】STL-stack_queue

目录 1、stack和queue的使用 1.1 最小栈 1.2 栈的弹出和压入序列 1.3 二叉树的层序遍历 2、stack和queue的模拟实现 2.1 适配器 2.2 deque 2.2.1 deque的成员变量 2.2.2 deque的迭代器 2.2.3 deque尾插元素 2.2.4 deque头插元素 2.2.5 下标访问 2.2.6 deque的不足 …

Vite: Esbuild的使用与其插件开发

概述 作为 Vite 的双引擎之一,Esbuild 在很多关键的构建阶段(如 依赖预编译 、 TS 语法转译 、 代码压缩 ) 让 Vite 获得了相当优异的性能,是 Vite 高性能的得力助手无论是在 Vite 的配置项还是源码实现中,都包含了不少 Esbuild 本身的基本概…

postGreSQL关系数据库介绍

什么是postGreSQL关系数据库? PostgreSQL 是一个强大的、开源的对象关系型数据库管理系统(ORDBMS)。它基于POSTQUEL查询语言的继承,提供了对SQL标准的广泛支持,并扩展了许多高级功能,如事务处理、多版本并…

被年轻人整不会的1688,终于开始反击了!

“我可以买贵的,但我不能买贵了。”成为年轻人新晋购物哲学。 最近,在豆瓣、小红书等社交媒体上出现了一种独特的消费趋势。在这些平台被种草之后,越来越多对价格敏感、注重性价比的年轻人开始挖宝“大牌平替”。他们涌入阿里巴巴旗下以批发…

配置Nginx二级域名

一、环境 (一)配置 1.服务器 linux CentOS 2.反向代理 Nginx 3.开放端口 云服务器开放端口80和443 二、域名备案 (一)腾讯云 1.腾讯云域名备案流程 备注:一级域名备案后,二级域名可以不用再备案&a…

第一个Flask程序

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 一切准备就绪,现在我们开始编写第一个Flask程序,由于是第一个Flask程序,当然要从最简单的“Hello World&#xff…

Qt Object:智能即时聊天室项目

目录 1.项目介绍 2.设计思路 3.Pro文件配置 4.项目演示 5.项目开源 项目介绍 智能即时聊天室系统(AIChatProject)是一个高效、灵活的即时通讯解决方案。它融合了百度的开源大型语言模型——文心一言,通过API接口实现深度集成。系统专为聊天和…

深入理解RLHF技术

在《LLM对齐“3H原则”》这篇文章中,我们介绍了LLM与人类对齐的“3H”原则,但是这些对齐标准主要是基于人类认知进行设计的,具有一定的主观性。因此,直接通过优化目标来建模这些对齐标准较为困难。本文将介绍基于人类反馈的强化学…

JavaScript的单线程与任务队列

目录 一、JavaScript为什么设计为单线程? 二、任务队列 👋🏻 扩展:异步队列里的宏任务与微任务 一、JavaScript为什么设计为单线程? JavaScript语言的一大特点就是单线程,换言之就是同一个时间只能做一…

三元和磷酸铁锂电池有什么区别?

现在的电动车大多都会使用到锂电池,在常见的锂电池分为两种,一种是三元锂电池另外一种是磷酸铁锂电池,面对这两种锂电池时,它们到底有什么不同? 1、材料不同 这两种锂电池的不同之处便是材料不同,磷酸铁锂…

中霖教育:税务师考试通过率怎么样?

税务师考试的通过率通常在20%至30%的范围内,涵盖五个科目:《税法一》、《税法二》、《财务与会计》、《涉税服务实务》和《涉税服务相关法律》,成绩有效期为五年。 针对税务师备考,有效的学习策略至关重要。 1、熟悉各科的题型和…

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

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

C++日期类的完整实现,以及this指针的const修饰等的介绍

文章目录 前言一、日期类的实现二、this指针的const修饰总结 前言 C日期类的完整实现&#xff0c;以及this指针的const修饰等的介绍 一、日期类的实现 // Date.h #pragma once#include <iostream> using namespace std;#include <assert.h>class Date {// 友元函…

利用Python控制终端打印字体的颜色和格式

利用Python控制终端打印字体的颜色和格式—操作详解&#xff08;ANSI转义序列&#xff09; 一、问题描述二、ANSI转义序列三、具体代码和显示效果&#xff08;看懂这段代码&#xff0c;以后可随心控制字体的打印格式&#xff09; 欢迎学习交流&#xff01; 邮箱&#xff1a; z……

ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验

文章目录 什么是ONLYOFFICE &#xff1f;ONLYOFFICE 桌面编辑器 8.1 发布&#xff1a;新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE &#xff1f; https://www.onlyoffice.com/zh/off…

光伏发电项目是如何提高开发效率的?

随着全球对可再生能源需求的持续增长&#xff0c;光伏发电项目的高效开发成为关键。本文将深入探讨如何在实际操作中提高光伏发电项目的开发效率。 一、优化选址流程 1、数据收集与分析&#xff1a;利用卫星地图和遥感技术&#xff0c;收集目标区域的光照资源、地形地貌、阴影…