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

2024-06-17 16:19:15 浏览数 (2)

机器之心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 操作,以规范化输入并保持数值稳定性。接着,权重矩阵

0 人点赞