摘要:随着应用场景的扩展,端侧设备(如手机、电脑、可穿戴设备、机器人等)对大模型高效运行的需求日益增长,但端侧设备对模型运行的计算资源、访存带宽、能耗都有着极其苛刻的要求。存内计算技术有望从根本上解决以上资源问题,它能够将存储单元和计算单元融合,显著减少数据在存储和
编者按:随着应用场景的扩展,端侧设备(如手机、电脑、可穿戴设备、机器人等)对大模型高效运行的需求日益增长,但端侧设备对模型运行的计算资源、访存带宽、能耗都有着极其苛刻的要求。存内计算技术有望从根本上解决以上资源问题,它能够将存储单元和计算单元融合,显著减少数据在存储和计算单元间频繁搬运而产生的资源损耗。然而,传统存内计算涉及对硬件架构的改动,不仅技术难度大,且迭代周期长,无法在实际场景中大规模量产落地。
为此,微软亚洲研究院与东京大学合作推出了基于商用 DRAM 的全新按位累计方法和 MVDRAM 系统,无需改动内存硬件,即可实现矩阵乘累加、矩阵向量乘等存内计算操作,使端侧设备无需依赖外部加速器,就能完成大模型的复杂推理任务,推理速度与同设备上 GPU 等专用加速器相当甚至翻倍。这些方法有潜力重塑端侧 AI 硬件的格局,推动高性能推理在更多端侧设备上普及。
大模型在自然语言处理、图像识别、视频生成等多个领域都取得了显著突破。但动辄上百亿参数的大模型对计算资源、存储空间和能耗都提出了极高的要求,导致目前绝大多数模型只能在云端运行。随着端侧大模型应用需求的增长,特别是对智能程度和实时性要求极高的机器人等具身设备,如何在资源受限的终端设备上实现高效推理,是一个亟待解决的问题。
存内计算作为一种新兴的计算范式,为解决这一问题提供了新方法。它将计算功能直接集成到存储单元,使数据无需频繁在存储与计算单元之间搬运,从而大幅降低能耗并提升计算效率。存内计算的核心优势在于能够在存储单元内部完成部分计算任务,特别适用于访存密集型操作,因此在大模型推理中展现出巨大的应用潜力。
然而,传统存内计算技术无论是基于集成逻辑电路还是基于存储阵列的模拟比特并行计算,都需要对硬件进行改动。对于逻辑电路方法,由于存储器和处理器芯片制程差异较大,所以将计算单元整合到存储芯片上面临着极高的技术难度。此外,在存储芯片中划出一部分区域用于逻辑计算,会进一步压缩原本就有限的存储空间。对于模拟电路的方法,模拟电路的随机性、外围电路开销等,使得制造相同特性的模拟硬件非常困难。因此,传统存内计算技术的工程化实现仍处于探索阶段,距离实际应用还有很长的路要走。
为了让存内计算真正从实验室走向实际应用,微软亚洲研究院和东京大学联合开展了针对商用 DRAM 中存算实现的研究。尽管通过修改存储控制器指令发射时序,利用同一位线共享电荷的方法,商用 DRAM 可以完成一些基本的按位操作,如 RowCopy、MAJX(多数投票)、AND、OR 等等,但模型推理所需要的矩阵乘和端到端推理尚未实现。
对此,研究员们创新地提出了基于 MAJX 操作的存储阵列按位累加算法,并构建了首个支持商用 DRAM 端到端低比特大模型推理的系统 MVDRAM。在不修改现有内存硬件的前提下,MVDRAM 仅利用手机、电脑等设备现有的存储硬件,即可实现存内计算。其推理性能可以媲美甚至超过现有专用加速器,显著降低了大模型的部署门槛,有望推动大模型在各类设备上的普及,并为大模型的端侧部署提供创新的解决方案。
批量按位累加:实现矩阵乘累加的存内计算
在大模型的运行进程中,矩阵乘无疑是最为耗费资源的部分。现有硬件在执行矩阵乘时,需频繁地在存储与计算单元之间搬运模型参数和键值缓存,而存内计算可以从根本上消除这种搬运开销。然而,商用 DRAM 面临的一个核心挑战是如何实现矩阵乘的累加操作。由于商用 DRAM 只能完成有限的按位操作,如 AND、OR 等,实现一个类似 POPCNT3 这样的三位累加计数需要16个按位操作,无法达到可被接受的执行速度,且多次操作还会造成模拟电路的误差累积。
为了在 DRAM 中实现快速且准确的累加操作,研究员们提出了一种全新的基于 MAJX 操作的 POPCNT3 按位累加方法。如图1所示,该方法可将16个按位操作简化至2个,且误差也被控制在 e-06 至 e-08 的范围内。图2展示了在 DRAM 内实现该算法的具体流程。
图1:对于三个输入位 A、B 和 C,传统 POPCNT3 实现的逻辑表达式(a);创新利用 MAJX 实现累加的表达式(b)。其中,MSB 表示最高有效位,LSB 表示最低有效位。
图2:在 DRAM 实现基于 MAJX 的 POPCNT3 累加操作流程
随后,研究员们在创新的 POPCNT3 算法基础上,进一步开发出了可扩展的批量按位累加技术,以处理更大规模的输入。该技术对输入组迭代应用 POPCNT3 操作,可以逐步计算更高位的数值。POPCNT3 的高效性和 DRAM 处理技术本身的并行性,使得大模型可以在各种输入规模下实现高吞吐量的累加运算。
实验结果显示,基于 MAJX 的批量按位累加技术在速度和能耗方面均取得了显著提升。与 A100 GPU 相比,该方法的吞吐量最高提升了348倍,同时保持了极低的误差率,确保了机器学习应用的准确性。这表明,基于商用 DRAM 的存内计算为加速大模型解码等数据密集型任务,提供了一条无需依赖专用存储芯片的切实可行的途径。
在 NeurIPS 2024 探讨机器学习与新计算硬件范式融合的研讨会(Workshop Machine Learning with new Compute Paradigms)上,批量按位累加方法获得了审稿人的高度评价。审稿人称,“批量按位累加方法是一个令人印象深刻的贡献,潜力巨大。该方法如此简单,却又如此强大,是我在过去五年中见过的最重要的成果之一!”
相关论文:
Bulk Bitwise Accumulation in Commercial DRAM
https://openreview.net/pdf?id=5b4sUxqIqp
PUDTune: Multi-Level Charging for High-Precision Calibration in Processing-Using-DRAM
MVDRAM:实现基于商用DRAM矩阵向量乘的端到端大模型推理系统
除了累加操作之外,大模型推理过程中的另一个关键操作是高效完成矩阵向量乘法(GeMV)。但是,将 DRAM 处理技术应用于 GeMV 操作时,存内计算前后会产生激活值广播和重排的巨大开销。为了解决这一问题,研究员们提出了 MVDRAM 系统,这是首个能够在不修改现有 DRAM 硬件的前提下,将大模型推理中全部 GeMV 操作在 DRAM 内计算,并取得与专用加速器匹配甚至性能更优的系统。
传统 DRAM 为了满足计算需求,需要将数据按列排布。这种方式需要为每一列准备激活值,导致数据排布和转换的开销巨大。MVDRAM 创新性地将数据排布从列改为行,并将需要传输的数据编码到 DRAM 命令中。如此一来,激活某一行时,命令中的数据可直接与该行数据进行操作,避免了额外的数据转换和激活值拷贝,大幅降低了计算资源的消耗。
图3:MVDRAM 系统示意图
测试结果表明,MVDRAM 在提升不同精度大模型的速度与能效方面成效显著。研究员们使用了四个 DDR4 DRAM 模块进行实验,结果显示,对于4比特以下的大模型中的 GeMV 操作,MVDRAM 的推理速度与基于处理器的实现方式相当,甚至更优,加速效果最高达7.29倍,能效提升达30.5倍。
图4:模型参数和输出在 DRAM 内的行排布
在端到端的大模型推理测试中,针对2比特和4比特量化的低比特模型,MVDRAM 分别实现了2.18倍和1.31倍的吞吐量提升,以及3.04倍和2.35倍的能效提升。
相关论文:
MVDRAM: Enabling GeMV Execution in Unmodified DRAM for Low-Bit LLM Acceleration
端侧设备无需加速器也能高效运行大模型
基于 MAJX 的按位累加与 MVDRAM 这两种创新方法,突破了传统限制,使得无需修改硬件实现存内计算成为可能。这一突破为大模型在端侧设备上的部署提供了新的方向,让端侧设备不再依赖外部加速器,即可完成复杂的推理任务。
不仅如此,这些技术也为其他领域的创新提供了借鉴作用。例如,在贝叶斯推理中,商用 DRAM 存内计算有望大幅降低硬件成本,使原本因存储带宽受限难以实现的推理任务变得可行;在集成电路设计中,该方法则能加速对称二进制计算的发现过程,提高设计效率。还有更多潜在的存内计算应用,如基因组学长序列比对、全同态加密等,期待未来与社区共同探索。
除了基于 DRAM 存内计算技术来提升存储带宽,研究员们也关注到了大语言模型推理中存储容量受限的问题。由于移动设备功耗和空间的限制,其 DRAM 容量有限且扩展难度大,同时还需要与其他应用程序和操作系统进程共享,限制了大模型在移动设备上的部署。相比之下,Flash 等闪存的存储空间更为充裕,即使在手机上也可配备 1TB 的闪存。如果能充分利用 Flash 存储,那么在端侧设备上也有机会部署百 B 级别的模型。
为此,研究员们开发了 ActiveFlow 框架,通过在 DRAM 和 Flash 之间进行动态权重交换,成功突破了终端设备内存容量的限制,为在移动设备上部署更大规模的模型提供了有效的解决方案。
相关论文:
Scaling Up On-Device LLMs via Active-Weight Swapping Between DRAM and Flash
“不更改硬件的存内计算技术,有望使端侧设备在无需额外 AI 加速器的情况下于存储中运行大模型,助力推动具身设备、可穿戴设备、手机等端侧设备的智能化发展。”微软亚洲研究院首席研究员曹婷表示,“此外,这一技术对云端计算也有一定的启发,当前云端 HBM(高带宽存储器)占据了 GPU 总成本的一半以上,我们正探索将存内计算技术应用于 HBM,以进一步解决存储带宽扩展难的问题。”
微软亚洲研究院新书《无界》上市
当面对集体性的难题时,思想的碰撞与智慧的共鸣显得尤为重要。微软亚洲研究院历时两年打磨的《无界——透视微软创新研究之境》一书,正是献给这个时代的探索指南。
包括周礼栋院长在内的十余位顶尖科研人员参与了本书的编写工作,他们从不同角度探讨了人工智能、计算机科学及其交叉领域的最新进展,分享了前沿的展望、观点以及宝贵的科研经验。
本书已获得十余位全球顶尖学者的推荐,其中包括图灵奖得主、院士、知名高校领导、在各自领域享有盛誉的学者,以及微软亚洲研究院的杰出院友。
现在,《无界——透视微软创新研究之境》已全平台火爆开售!首批读者将获得限量版微软50周年书签,书签上的文章作者亲笔签名将随机呈现,盲盒式惊喜等你开启!
来源:微软亚洲研究院一点号