前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新一轮「硬件彩票」:MatMul-free 会改变大模型的游戏规则吗?

新一轮「硬件彩票」:MatMul-free 会改变大模型的游戏规则吗?

作者头像
机器之心
发布2024-06-17 16:19:15
2400
发布2024-06-17 16:19:15
举报
文章被收录于专栏:机器之心机器之心
机器之心PRO · 会员通讯 Week 24

---- 本周为您解读 ③ 个值得细品的 AI & Robotics 业内要事 ----

1. 新一轮「硬件彩票」:MatMul-free 会改变大模型的游戏规则吗?

MatMul-free 为何大火?「硬件彩票」是什么?为什么移除 MatMul 很重要?近期还有哪些「非 GPU 搞大模型」的路线?...

2. 「大力未必出奇迹」:深入构建 AI 算力集群背后的逻辑

构建 AI 算力集群这事儿为什么很重要?从算力到 AI 算力,再到 AI 算力集群,AI 算力集群到底是什么?包含哪些部分?AI 算力集群并非「越大越好」?有哪些必须要搞清楚的「盲区」?从业内看,三大 AI 云服务厂商的布局有何不同?...

3. Aidan Gomez 揭秘大模型创业的盈利秘诀

Aidan Gomez 是谁?Cohere 目前发展如何?Gomez 如何通过差异实现公司盈利?AI 企业要如何保持竞争力?Gomez 对 AI 未来的看法如何?...

...本期完整版通讯含 3 项专题解读 + 28 项本周 AI & Robotics 赛道要事速递,其中技术方面 9 项,国内方面 7 项,国外方面 12 项。

日期:6 月 9 日

事件:UCSC、苏州大学和 UC Davis 等机构的研究者近期发布论文,开发了一种无需矩阵乘法的大型语言模型 MatMul-free,可在 FPGA 上以接近人脑的功耗运行,内存消耗可降低 10 倍以上。该工作对硬件的优化引出了社区中用「非 GPU」处理器训练模型的讨论。

最近大火的MatMul-Free是怎么回事?

UCSC、苏州大学、UC Davis 和陆兮科技的研究者在论文《Scalable MatMul-free Language Modeling》中针对矩阵乘法(Matrix multiplication,MatMul)在 LLM 占据计算成本过高的问题,证明了 MatMul 操作可以完全从 LLM 中消除。[4]

1、该工作通过在密集层中使用加法操作,以及在自注意力类函数中使用元素级 Hadamard 乘积的方式开发了一种可扩展的无须 MatMul 的语言模型(MatMul-free LM)。

① MatMul-free 模型在 10 亿参数的规模下,性能表现与最先进的 Transformer 模型相当,且计算开销大幅降低。

② 该工作基于 MatMul-free 提出了一种优化的 GPU 实现,训练耗时比未优化的基线模型少 25.6%,内存消耗减少 最多 61% 。

③ 此外,该工作还构建了一个 FPGA 加速器,能够以 13W 的功耗在 1.3B 规模的模型上,以 42 毫秒的运行时间和每秒 23.8 个 token 的吞吐量完成运行,这达到了人类阅读的效率,且功耗与人类大脑相当。

2、该工作还探索了模型的 Scaling 表现,发现当模型扩展到 130 亿参数时,推理速度提高了 4.57 倍,内存使用量减少 10 倍。

3、值得注意的是,有网友发现 MatMul-free 和微软 2 月提出的 1-bit LLMs 有相似之处,引发了两者差异的讨论。后者同样通过将每个参数限制为三值,实现了与全精度(FP16 或 BF16)Transformer LLM 相当的性能。总体而言,两项工作的差异主要体现在[1] :

① 微软「1-bit LLMs」提出的是名为 BitNet b1.58 的变体,它基于 BitNet 架构,使用三元权重将 nn.Linear 层替换为 BitLinear 层。但是该模型仍依赖于标准 Transformer 架构组件,也就是 MatMul 的自注意力模块。

② MatMul-free 的 LM 架构与标准 Transformers 有更彻底的不同,因为它通过使用基于循环的 token 混合器 (MLGRU) 和具有三元权重的基于 GLU 的通道混合器完全消除了 MatMuls。

③ MatMul-free 的 LM 架构使用基于循环的 token 混合器 (MLGRU) 来捕获顺序依赖关系,而 BitNet b1.58 则依赖 Transformers 中的标准自注意力机制来捕获 token 交互。

MatMul-free 要搏一搏「硬件彩票」?

「硬件彩票(Hardware Lottery)」的概念来自 2020 年 Sara Hooker 的论文,指在机器学习和计算机科学领域,胜出的那些研究方案往往并不是因为它们全方面优于其他方案,而是它们更适合当时的软硬件环境。[5] AlexNet 利用 GPU 加速训练让深度学习赢得了「硬件彩票」,MatMul-free 通过 FPGA 实现的加速或许有望带来新的「硬件彩票赢家」。

1、MatMul 是多数神经网络中的主要操作,其流行的原因在于 GPU 对它的操作做过优化。AlexNet 利用 GPU 加速训练速度实现了超越 CPU 的能力,在 ILSVRC2012 比赛中获胜,也成为深度学习崛起的历史性标志。

2、无须 MatMul 的操作减少了数据移动和同步的需求,让计算效率和吞吐量得以提高,由此硬件可以实现更高的能效比。

① 如果模型可以不再依赖于复杂的矩阵乘法硬件加速器,硬件设计可以更加简化,专注于实现高效的加法和元素级操作,这可能降低硬件设计的复杂性和制造成本。

3、DeepTiger 的 CTO Andrew Sperazza 在社交平台 X 上对 MatMul 的内存优化和 Scaling 提出了一项延展的思考。

① 他表示,用定制的 FPGA 来替代 GPU 执行三值运算的操作让人惊讶,由此引发的问题是,如果性能下降了一点,但内存使用量减少了 10 倍,那么这种三值方法在什么节点上可以实现性能的相等?

② 他举例说明,称如果有一个 70b 模型,减少到 7b,然后将新模型的参数增加到 10b,它的表现会优于原来的 70b 模型吗?

4、Quantum Data Tech 的 CEO Rajiv Chandrasekaran 也在推文下回复表示,如果 MatMul-free 提出的方法能通过更多测试进行验证,它或许会带来几方面的影响。[3]

① GPU 在目前的使用中优化严重不足。

② CPU 和 FPGA 在训练 LLM 方面可以变得更加高效。

③ AMD(赛灵思)和英特尔(Alfera)有可能利用 FPGA 取得与 NVDA 间的竞争力。

MatMul-free 如何实现?又是如何用 FPGA 加速的?[4]

在《Scalable MatMul-free Language Modeling》论文中,研究者分解了该工作提出的 MatMul-free 模型,分别描述了使用三值权重的无需 MatMul 的密集层、针对硬件高效融合设计的 BitLinear 层和 MatMul-free LM 架构的细节,并分享了模型的训练过程。

1、为了从自注意力中移除 MatMul,研究者优化了门控循环单元 (GRU) ,使其仅依赖于元素级乘积。

① 研究者采用 BitNet,即 BitLinear 来替换包含 MatMul 的密集层。这些模块使用三值权重将 MatMul 操作转换为纯加法操作。

② 当使用三值权重时,权重矩阵中的每个元素都会被量化在三值权重集合 {-1, 0, +1} 中。这种量化是通过将权重矩阵的每个元素四舍五入到最近的三值整数来实现的,由此将传统的浮点数乘法操作替换为简单的加法或减法操作。

③ 对于密集层中的 MatMul 替代,研究者用「三值累加」(ternary accumulation)替代了传统密集层中输入(向量 x 和权重矩阵 W)和通过 MatMul 操作生成输出向量 y 的过程。

④ 算法会对输入激活 X 进行 RMSNorm 操作,以规范化输入并保持数值稳定性。接着,权重矩阵 𝑊W 被量化为三值权重。然后,使用这些量化的权重和规范化的输入进行三值累加操作,生成输出 𝑌。

图:量化融合 RMSNorm 和 BitLinear 算法的流程。

2、由于 BitNet 的原始实现并不高效,研究者对高效融合硬件和 BitLinear 层的目标进行了专门设计。

① 现代 GPU 具有分层的内存结构,包括大容量、高带宽的 HBM 和较小、更快的 SRAM。

② 此前 BitNet 的实现需要很多 I/O 操作,包括:将之前的激活读入 SRAM 进行 RMSNorm,写回以进行量化,再次读取以进行量化,存储它,然后再读取一次以进行线性操作。

③ 研究者为了解决这种低效,设计了只读取激活一次,并在 SRAM 中将 RMSNorm 和量化作为融合操作应用,形成了一个高效的计算流程。这种融合操作减少了对外部存储器的依赖,降低了内存访问延迟。

④ 由于 MatMul-free 模型中三值权重和逐元素操作的数量较多,激活的内存占用比权重大,研究者对算法的优化侧重于激活,通过在 SRAM 中执行操作,减少了对 HBM 的访问次数,从而提高了计算速度。

⑤ 为了处理量化函数中的非微分部分,如 Sign 和 Clip 函数,算法使用了 STE 作为替代的梯度函数,允许梯度在这些操作中流动。

3、研究者参考了 Metaformer 的观点来设计 MatMul-free LM 的模型架构。该模型由 token mixer 和 channel mixer 两部分组成。

4、Token Mixer 负责混合序列数据中的时间信息,类似于自注意力机制,它允许模型在处理语言时捕捉不同词元之间的依赖关系。

① 传统的自注意力机制依赖于查询(Q)、键(K)和值(V)三个矩阵之间的 MatMul 操作,研究者提出了一种基于门控循环单元(GRU)的变体,称为 MatMul-free Linear Gated Recurrent Unit(MLGRU),通过元素级操作和累加来混合 Token,避免了 MatMul。

② 研究者还探索了使用 RWKV-4 模型作为无需 MatMul 的 Token Mixer 的可能性,但由于 RWKV-4 引入了指数和除法操作,这在硬件效率上不如 MLGRU。

5、Channel Mixer 负责混合嵌入或空间信息,类似于 Transformer 中的前馈网络,它允许模型在不同嵌入维度之间整合信息。

① 研究者采用 Gated Linear Unit(GLU)作为 Channel Mixer。通过将 GLU 调整为使用三值权重的实现,它可以通过元素级操作和累加来混合通道,从而消除 MatMul 操作,这与 MLGRU 中使用的策略相似。

6、论文中还提供了用于优化模型的训练细节,包括使用直通估计器(STE)来处理反向传播中的非微分函数,以及在训练过程中使用较大的学习率和学习率调度器的策略。

7、研究者在中等规模的语言建模任务上测试 MatMul-free 的语言模型,对比了两种变体的 MatMul-free 语言模型与复现的高级 Transformer 架构(基于 Llama-2 的 Transformer++)在 370M、1.3B 和 2.7 三个尺寸上的表现。

① 所有模型都在 SlimPajama 数据集上进行了预训练,其中 370M 模型训练了 150 亿个 token,而 13 亿和 27 亿模型各训练了 1000 亿个 token。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档