---- 本周为您解读 ③ 个值得细品的 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 要搏一搏「硬件彩票」?
「硬件彩票(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。