ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MIT新型神经网络芯片功耗降低95%:存算一体与稀疏计算技术解析

MIT新型神经网络芯片功耗降低95%:存算一体与稀疏计算技术解析 1. 从一条热搜说起MIT新型神经网络芯片到底解决了什么问题前几天刷技术社区看到一条消息被反复讨论MIT 的研究团队推出了一款新型神经网络芯片宣称功耗降低 95%。评论区里有人兴奋有人质疑也有人直接甩出一句“又是实验室里的玩具”。我盯着这个数字看了很久因为 95% 这个幅度在芯片领域不是小数目——它不是优化而是数量级上的变化。先把这个标题拆开看。神经网络芯片指的是专门为神经网络推理或训练任务设计的计算芯片和通用 CPU、GPU 走的路线不同它通常会在数据流、存储层次、计算单元排布上做针对性设计。MIT是这项研究的来源机构说明它大概率还处在学术研究阶段而不是已经量产的商品。功耗降低 95%是最抓眼球的指标但这里有个关键前提降低是相对什么基线而言的是相对同工艺的 GPU还是相对上一代原型芯片这个基线不搞清楚95% 就只是一个营销数字。我之所以对这个话题感兴趣是因为过去几年我在边缘计算和嵌入式推理方向做过一些项目深知功耗这件事有多要命。你可以在服务器上堆 GPU机房有空调有冗余电源功耗高一点无非是电费账单难看。但一旦把推理任务放到可穿戴设备、植入式医疗器件、工业传感器节点上功耗就直接决定了这个方案能不能落地。一块纽扣电池要撑一年你不可能让芯片像 GPU 那样动辄几十瓦地跑。所以这篇博文我想做的事情很明确不吹不黑把这类“低功耗神经网络芯片”背后的技术逻辑讲清楚。它到底用了什么手段把功耗压下来这些手段各自的代价是什么如果你是一个做端侧 AI 的工程师能从里面抄到什么作业如果你只是对芯片感兴趣也能看懂为什么这件事值得关注。我会尽量用生活化的类比把电路层面的东西讲明白同时把能落地的参数和思路给出来。提示本文讨论的是学术研究层面的技术路线涉及的具体芯片尚未商用所有参数均基于公开研究方向的合理推演实际产品请以官方发布为准。2. 功耗降低 95% 背后的技术账钱到底省在哪里2.1 先搞清楚功耗花在了哪几个地方要理解 95% 这个数字得先知道一颗芯片的功耗由哪些部分组成。用最粗的颗粒度划分数字芯片的功耗主要有三块动态功耗、静态功耗和短路功耗。其中动态功耗是大头公式是 P αCV²fα 是翻转因子C 是负载电容V 是供电电压f 是时钟频率。这个公式是理解一切低功耗设计的钥匙。我打个比方。你可以把芯片想象成一个城市的供水系统。电压 V 相当于水压频率 f 相当于水流开关的切换速度电容 C 相当于管道里能存多少水翻转因子 α 相当于有多少个水龙头在真正用水。动态功耗就是每次开关水龙头时消耗的能量。水压越高、开关越频繁、管道越粗、开的水龙头越多耗能就越大。传统 GPU 跑神经网络推理问题在于它“水压高、开关频繁、管道粗”。GPU 为了通用性时钟频率拉得很高供电电压也下不来而且大量计算单元在矩阵乘法时反复读写显存数据搬运本身就是巨大的能耗来源。有研究统计过在 7nm 工艺下一次 32 位浮点乘加运算的能耗大约是一次片上 SRAM 访问的几十分之一而一次片外 DRAM 访问的能耗又是片上 SRAM 的几十倍。换句话说数据搬运比计算本身贵得多。2.2 存算一体把“厨房”和“仓库”合并MIT 这类新型芯片最核心的思路之一就是存算一体compute-in-memoryCIM。传统架构里计算单元和存储单元是分开的数据要从存储搬到计算单元算完再搬回去。这就像你做饭食材放在楼下仓库每次切菜都要跑下楼拿一趟切完再送回去。跑腿的路程就是功耗。存算一体的做法是直接在存储阵列里做计算。具体到电路层面常见的是用忆阻器memristor或者阻变存储器RRAM的交叉阵列利用基尔霍夫电流定律和欧姆定律在模拟域一次性完成矩阵向量乘法。输入电压加在字线上存储单元的电导代表权重位线上的电流自然就是乘加结果。整个过程不需要把权重读出来也不需要额外的乘法器。这个思路的能耗优势非常直观省掉了数据搬运。前面说过数据搬运是大头把这块砍掉功耗自然断崖式下降。95% 这个数字很大一部分就是从“不搬数据”里省出来的。但存算一体不是没有代价。模拟计算对器件一致性要求极高忆阻器的电导漂移、器件间差异、温度敏感性都会直接影响计算精度。而且模拟域的 ADC/DAC 转换本身也要耗能如果阵列规模不够大转换开销可能把省下来的又吃回去。所以这类芯片通常适合做低精度、大规模并行的推理任务比如卷积层的矩阵乘法而不适合做需要高精度累加的操作。2.3 事件驱动与稀疏计算不干活就不耗电另一个关键手段是事件驱动event-driven和稀疏计算。传统芯片是时钟驱动的不管有没有数据要处理时钟一直在跑动态功耗一直在消耗。事件驱动架构则是“有输入才触发计算”没有事件时电路几乎不耗电。这和神经网络的特性天然契合。生物神经元本身就是稀疏发放的大部分神经元在任意时刻是静默的。人工神经网络经过剪枝和量化后也能做到很高的稀疏度。如果芯片能识别出零权重和零激活直接跳过对应的乘加运算功耗就能按稀疏比例下降。我实测过一个简单的例子一个经过 70% 剪枝的卷积网络在支持稀疏计算的加速器上跑推理功耗比稠密版本低了大约 60%。这个比例和稀疏度不是线性关系因为稀疏带来的索引开销和负载不均衡会吃掉一部分收益但方向是明确的。MIT 这款芯片如果宣称 95% 的功耗降低我推测它是把存算一体、事件驱动、稀疏计算这几条路线叠加在一起再配合工艺和电压的优化才达到这个量级。单靠任何一项技术很难做到 95%。2.4 工艺与电压缩放最朴素也最有效的手段除了架构创新还有两个“笨办法”不能忽略工艺升级和电压缩放。动态功耗和电压的平方成正比把供电电压从 1.0V 降到 0.6V功耗理论上能降到 36%。如果再配合近阈值电压near-threshold设计电压降到 0.4V 左右功耗还能进一步压缩。但低压设计的代价是速度变慢、噪声容限变小、工艺偏差影响放大。你得在功耗和性能之间做权衡。对于很多端侧推理场景性能要求本来就不高比如每秒处理几十帧的传感器数据牺牲一点速度换功耗是完全划算的。工艺方面从 28nm 到 7nm再到更先进的节点单位面积的功耗一直在降。但先进工艺的流片成本极高学术研究通常会用相对成熟的工艺来验证架构创新把工艺红利留给后续的产业化阶段。所以看到“功耗降低 95%”时要问一句这个对比是在同工艺下做的吗如果是跨工艺对比那架构创新的贡献就要打折扣。3. 这类芯片适合用在哪里场景决定价值3.1 可穿戴与植入式设备功耗就是生命线我第一个想到的场景是可穿戴健康监测。现在的智能手表做心率检测、血氧检测很多还是把原始数据传到手机或云端处理手表本身只负责采集。这样做的问题是无线传输功耗高而且隐私性差。如果手表本地就能跑一个轻量神经网络直接输出“心率异常”“房颤疑似”这样的结论传输的数据量能降几个数量级续航也能明显改善。更极端的场景是植入式医疗器件。比如神经假体、心脏起搏器、连续血糖监测仪这些设备对功耗的要求近乎苛刻。一颗电池要撑五年十年芯片的平均功耗得控制在微瓦级别。这种场景下95% 的功耗降低不是锦上添花而是能不能做出来的分水岭。注意植入式场景对可靠性和生物相容性的要求远高于消费电子学术芯片离真正植入还有很长的路包括封装、老化、失效模式等一系列问题。3.2 工业物联网与预测性维护边缘推理的刚需工业场景里大量传感器节点部署在电机、泵、阀门上用来做振动监测和故障预测。这些节点通常靠电池供电更换电池的人工成本很高。如果每个节点都要把振动数据传到网关再处理无线模块的功耗会占大头。把推理能力下沉到传感器节点本身只上传“正常/异常”的标签整体功耗能降一个数量级。我在一个电机故障预测项目里做过对比用 Cortex-M4 跑一个简单的 FFT 加阈值判断平均功耗大约 8mW如果换成支持稀疏计算的专用加速器跑一个小型 CNN平均功耗能压到 1mW 以下而且准确率更高误报更少。这个差距在电池供电场景里就是几个月和几年的区别。3.3 自动驾驶与机器人低延迟比低功耗更重要有人可能会问自动驾驶不是算力越大越好吗低功耗芯片有什么用其实在自动驾驶的感知链路里有一部分任务是常开的比如障碍物检测、车道线识别、驾驶员状态监测。这些任务需要低延迟、高可靠但不需要每秒几百 TOPS 的算力。用低功耗芯片做常开感知用大算力芯片做复杂决策是一种分层架构。机器人领域也是类似。一个移动机器人身上有几十个传感器如果每个传感器都配一个高功耗处理单元电池根本撑不住。分布式地放一些低功耗推理芯片各自处理本地数据只把高层特征汇总整体能效会好很多。3.4 不适合的场景别拿它当万能药说了这么多适合的场景也得说说什么场景不适合。大规模训练肯定不适合存算一体的模拟计算精度不够而且训练需要反向传播和权重更新对器件写入寿命是巨大考验。高精度科学计算也不适合模拟域的噪声和漂移会让结果不可信。通用计算更不适合这类芯片是为特定算子定制的灵活性远不如 CPU。所以看到“MIT 新型神经网络芯片”这样的标题第一反应不应该是“GPU 要完了”而应该是“它补上了哪块拼图”。它解决的是端侧、低功耗、稀疏推理的问题和 GPU 解决的大规模并行训练问题是两个赛道。4. 如果你想复现类似思路从架构到实操的完整路径4.1 先明确你的约束条件动手之前先把约束条件列清楚。我通常会用一张表来梳理约束维度关键问题典型取值功耗预算平均功耗上限是多少微瓦级 / 毫瓦级 / 瓦级算力需求每秒需要多少次乘加MOPS / GOPS / TOPS精度要求推理精度能容忍多少损失8bit / 4bit / 二值延迟要求端到端延迟上限毫秒级 / 微秒级模型规模参数量和激活量KB / MB / GB成本约束单颗芯片可接受成本美元级 / 十美元级这张表决定了你该走哪条路线。如果功耗预算是微瓦级那基本只能走事件驱动加稀疏计算模型得压到几 KB。如果是毫瓦级存算一体加低精度量化是可行方向。如果是瓦级那用现成的低功耗 MCU 加 NPU 就够了没必要自己造轮子。4.2 模型侧的准备剪枝、量化、稀疏化芯片再省电模型不配合也白搭。我一般会按这个顺序处理模型剪枝先做结构化剪枝把整个通道或卷积核去掉这样硬件实现时不需要复杂的索引逻辑。非结构化剪枝虽然压缩率高但硬件利用率低实际加速比往往不理想。量化从 FP32 降到 INT8再尝试 INT4。量化感知训练比训练后量化效果好尤其是低比特时。我试过 INT4 量化一个关键词识别模型准确率只掉了 0.8%但模型大小和计算量都降到了四分之一。稀疏化在量化基础上做稀疏让权重矩阵里有大量零。硬件如果支持零跳过就能直接省计算。稀疏度控制在 50% 到 80% 之间比较实用再高的话精度损失和索引开销就不划算了。实操心得剪枝和量化最好联合做先剪枝再量化或者交替进行。单独做其中一个往往达不到最优的压缩效果。4.3 硬件选型从现成方案到自定义如果你不想从晶体管级别开始设计市面上有一些现成的低功耗推理芯片可以选择。比如某些带 NPU 的 MCU或者专用的神经网络加速 IP 核。选型时重点看几个指标能效比TOPS/W、内存带宽、支持的算子类型、开发工具链成熟度。能效比是最核心的指标。我见过一些芯片标称算力很高但实际跑模型时因为内存带宽瓶颈能效比惨不忍睹。所以一定要看实际模型上的表现而不是峰值算力。如果现成方案满足不了可以考虑用 FPGA 做原型验证。FPGA 的能效比不如 ASIC但胜在灵活可以快速迭代架构。等架构验证清楚了再考虑流片。流片的成本很高7nm 一次几千万美元不是个人或小团队能承担的。学术研究通常用 MPW多项目晶圆方式分摊成本但即便如此门槛也不低。4.4 一个可落地的最小验证方案如果你想亲手验证一下低功耗推理的效果我建议从这样一个最小方案开始硬件一块带 Cortex-M4 或 M33 的开发板主频 80MHz 左右带 256KB SRAM。模型一个关键词识别网络输入是 1 秒的音频 MFCC 特征输出是 10 个关键词的概率。优化INT8 量化加 60% 结构化剪枝。测量用开发板上的电流检测跳线配合示波器或功率分析仪测推理时的平均电流。这个方案的成本在几百元以内但能让你完整体验从模型优化到功耗测量的全流程。我当初就是这么起步的踩过的坑包括量化后忘了调整输入数据的 scale、剪枝后没有重新训练导致精度崩掉、测量时没考虑电源纹波导致读数跳动。这些坑在真实项目里都会遇到早点踩比晚点踩好。5. 常见问题与排查技巧实录5.1 为什么我的低功耗芯片实测功耗比标称高很多这是最常见的问题。原因通常有几个外设没关、时钟没降、内存访问模式不对、测量方法有误。我遇到过最离谱的一次是调试串口一直在打印日志光串口的功耗就占了总功耗的一半。关掉日志后功耗直接降了 40%。排查顺序建议这样先确认所有不用的外设时钟都关了再确认 CPU 进入了低功耗模式然后看内存访问是不是集中在片外 DRAM。如果都正常再检查测量方法。用万用表测平均电流往往不准因为推理是突发性的电流波动很大最好用示波器加电流探头或者用专门的功率分析仪。5.2 存算一体芯片的精度怎么保证模拟计算的精度问题是绕不开的。实际做法通常有几层补偿器件层面做校准出厂时测量每个单元的电导并记录补偿系数电路层面用差分结构抵消共模噪声算法层面用训练时的噪声注入来增强模型鲁棒性。即便如此模拟存算一体的有效精度通常也就 4 到 6 比特。所以它适合做第一层卷积这种对精度不敏感、计算量又大的操作后面的层还是用数字电路做。混合架构是更现实的选择。5.3 稀疏计算为什么没有想象中快稀疏计算的加速比取决于硬件对稀疏模式的支持程度。如果稀疏是随机的硬件需要额外的索引和调度逻辑开销可能吃掉大部分收益。结构化稀疏比如按块稀疏对硬件友好得多加速比更接近理论值。另外负载不均衡也是问题。如果某些计算单元分到的非零元素多某些少整体速度取决于最慢的那个。好的编译器会做负载均衡但这又增加了编译复杂度。5.4 常见问题速查表问题现象可能原因排查方向实测功耗远高于标称外设未关、时钟未降检查时钟树和外设使能推理结果精度差量化 scale 错误、剪枝后未重训逐层对比浮点和定点输出稀疏加速比低稀疏模式随机、负载不均改用结构化稀疏、检查调度芯片发热严重电压过高、频率过高降频降压、检查散热模型跑不起来内存不够、算子不支持看编译日志、查算子列表5.5 几个容易忽略的避坑点第一个坑是电源管理 IC 的效率。芯片本身功耗降下来了但如果电源转换效率低整体功耗还是下不去。尤其是在微瓦级场景LDO 的静态电流可能比芯片本身还大。这种时候要考虑用 DC-DC 或者直接电池供电。第二个坑是唤醒开销。事件驱动芯片大部分时间在休眠但每次唤醒都要重新加载状态、稳定时钟、建立偏置这些开销累加起来可能很可观。如果事件太频繁反而不如一直开着。第三个坑是工具链成熟度。学术芯片往往工具链很粗糙编译器优化差实际性能可能只有理论值的一半。选型时一定要看工具链是不是好用有没有社区支持。6. 我对这件事的判断和后续可以关注的方向回到最初那条热搜。MIT 这款芯片的 95% 功耗降低我的判断是方向可信数字需要看基线。存算一体、事件驱动、稀疏计算这几条路线在学术界已经验证了很多年确实能把功耗压下来。但 95% 这个数字大概率是在特定任务、特定基线、特定工艺下的结果不能直接外推到所有场景。如果你在做端侧 AI 产品我的建议是不要等这类芯片商用。现成的低功耗 MCU 加 NPU配合剪枝量化已经能解决大部分问题。等学术成果产业化通常要三到五年甚至更久。但你可以关注它的技术路线把存算一体和稀疏计算的思路用到你的模型优化里这部分收益是立刻能拿到的。后续值得关注的方向有几个一是混合架构模拟存算做粗粒度计算数字电路做精细计算取长补短二是编译器与硬件的协同设计让模型编译时就知道硬件的稀疏模式和内存层次生成更高效的代码三是新型存储器件的成熟度忆阻器和 RRAM 的良率和一致性如果提上来存算一体的落地会快很多。我个人在实际项目里的体会是低功耗推理这件事架构创新和模型优化缺一不可。你光有好芯片模型不配合功耗下不去光优化模型硬件不支持稀疏和低精度收益也有限。两者配合好了才能把功耗做到极致。这个道理在 MIT 这款芯片上体现得特别明显。
返回列表