MatMul-free语言模型:打破硬件彩票,革命大模型训练

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

原文作者:机器之心

冷月清谈:

**MatMul-free语言模型:革新大模型训练**

近期,研究者提出了一种MatMul-free语言模型,通过消除神经网络中的矩阵乘法(MatMul)操作,实现了模型在性能和能效上的突破。

MatMul-free模型的原理:

  • 使用加法操作替换密集层中的矩阵乘法,并使用元素级Hadamard乘积代替自注意力操作。
  • 通过使用三值权重,将矩阵乘法操作转换为纯加法操作。
  • 设计了基于循环的门控循环单元(MLGRU)和三值门控线性单元(GLU)的模型架构,进一步消除MatMul操作。

MatMul-free模型的优势:

  • 大幅降低计算成本,实现接近人脑的能效比。
  • 显著减少内存消耗,在130亿参数的模型上减少10倍。
  • 无需依赖复杂的矩阵乘法硬件加速器,简化硬件设计。

MatMul-free模型的应用前景:

  • 突破硬件限制,大规模训练大模型成为可能。
  • 使CPU和FPGA在语言模型训练中更具竞争力。
  • 推动「硬件彩票」,促进硬件架构和算法设计的共同优化。



怜星夜思:


1、MatMul-free模型是否会颠覆现有的GPU主导的大模型训练格局?
2、MatMul-free模型在实际应用中有哪些挑战?
3、如何评价MatMul-free模型对人工智能领域的长期影响?

原文内容


机器之心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 项。

本期通讯总计 25913 字,可免费试读至 14% 
 消耗 99 微信豆即可兑换完整本期解读(约合人民币 9.9 元) 


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

日期: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。

我认为MatMul-free模型极有潜力颠覆现有格局。它显著降低了计算成本和内存消耗,使大规模训练大模型不再受限于GPU。这将为CPU和FPGA等其他硬件架构打开大门,带来更多样化和竞争力的硬件选择。

虽然MatMul-free模型在理论上令人兴奋,但在实际应用中它还面临一些挑战。例如,如何在不同的硬件平台上高效实现它?如何确保其精度和鲁棒性达到实际应用的要求?这些问题需要进一步的研究和优化才能得到解决。

说得太夸张了,MatMul-free模型怎么可能取代GPU呢?GPU可是训练大模型的利器,其强大的并行计算能力是其他硬件无法比拟的。MatMul-free模型也许能带来一些创新,但在GPU面前,它还嫩着呢。

同意楼上的观点,MatMul-free模型的意义不仅仅在于技术本身,更在于它代表了一种思维的转变。它鼓励我们跳出固有思维定式,探索新的路径。这种精神对人工智能领域的长期发展至关重要。

不完全同意。虽然MatMul-free模型在某些方面表现出色,但GPU在高性能计算领域仍然具有优势,尤其是在并行处理大规模矩阵乘法方面。GPU的专用架构和优化的指令集使其在训练大模型时效率更高。

说的对,MatMul-free模型在实际应用中的挑战不容忽视。它对硬件架构有特殊要求,需要专门设计的硬件来充分发挥其潜力。此外,在大型数据集和复杂任务上的训练难度也可能成为挑战。

不要低估MatMul-free模型的潜力,它就像一颗种子,有机会成长为参天大树。它所带来的新思路和可能性可能会对人工智能领域产生深遠的影响,就像当年的深度学习和生成式AI一样。

说得太乐观了,MatMul-free模型的影响可能被夸大了。虽然它在某些方面表现出色,但它并不一定能取代现有的技术。人工智能的发展是一个循序渐进的过程,需要多种技术协同配合才能取得突破。

我认为MatMul-free模型对人工智能领域的长期影响是积极且深远的。它为大模型训练提供了新的可能性,有望降低门槛、提高效率。这将加速人工智能的普及和应用,为各个行业创造新的机遇。

MatMul-free模型的长期影响还有待观察,但它无疑为人工智能领域带来了新的思维方式。它挑战了传统的硬件和算法设计,为探索新的可能性打开了大门。我相信它将激发更多创新,推动人工智能技术的不断突破。

这些挑战是不可避免的,但也是推动创新的动力。随着技术的进步和研究的深入,MatMul-free模型的实际应用前景会越来越广阔。举个例子,我们可以探索使用领域特定架构(DSA)来优化硬件实现,或者开发新的训练算法来提高模型的精度和鲁棒性。

这是一个有趣的问题。MatMul-free模型肯定对现有格局提出了挑战,但要完全颠覆GPU主导的地位可能还需要一些时间。GPU在行业中的成熟生态系统和广泛的开发者支持是其优势之一。我们需要持续关注MatMul-free模型的发展,看看它是否能克服这些挑战。

说得轻松,但实际工程化落地还是很难的。MatMul-free模型的算法和硬件实现都非常复杂,需要投入大量的时间和资源才能达到实际应用的水平。

事情没这么简单,MatMul-free模型的出现确实给GPU带来了竞争压力,但两者并不是非此即彼的关系。它们可以互补并用,在不同的场景下发挥各自优势。GPU在高性能计算方面仍然不可替代,MatMul-free模型则可以在对能效和成本敏感的应用中大显身手。

别忘了,MatMul-free模型还处于早期阶段,还需要时间来成熟。就像当年的深度学习一样,它最初也面临许多挑战,但经过不断的改进和优化,现在已成为人工智能领域不可或缺的工具。