1. 这块芯片不是“又一个实验室成果”,而是存内计算从纸面走向产线的临界点
清华团队在《Science》发表的存内计算芯片,标题里那个“再获加持”的“再”字,其实藏着过去十年整个领域的集体焦虑。我从2014年参与国内首个存内计算原型验证项目起,就反复听到同行说:“原理很美,落地很难。”不是算法不行,不是电路设计不行,而是我们总在“算得快”和“存得稳”之间反复横跳——传统架构下,数据在内存和处理器之间搬运的功耗,已经占到AI推理任务总能耗的60%以上。一块16GB HBM显存跑满时,光是数据搬移产生的热量,就足够让散热模组喘不过气。而清华这次登顶《Science》的芯片,核心突破不在于晶体管尺寸缩了多少纳米,而在于它第一次把“计算”这件事,真正塞进了存储单元的物理边界之内。
关键词里虽然没写,但所有关注这条新闻的人,心里都绷着三根弦:能效比、可扩展性、工艺兼容性。这三点,恰恰是过去所有存内计算芯片被挡在量产门外的三道墙。清华方案用的是标准14nm FinFET工艺,没上EUV,没用新型存储介质(比如ReRAM或PCM),而是深度重构了SRAM单元的读写通路,在保持原有制造流程不变的前提下,让每个6T-SRAM单元既能可靠存数据,又能并行执行位级逻辑运算。这不是“在存储器上加个ALU”,而是把存储阵列本身变成了一个可编程的计算网格。实测数据显示,在ResNet-50图像分类任务中,该芯片能效比达到23.6 TOPS/W,是同期GPU方案的8.3倍——这个数字背后,是每瓦特电力真正落在了“算”上,而不是浪费在“搬”上。
如果你正在评估AI加速硬件选型,或者正为边缘设备的功耗瓶颈发愁,这篇博文不是让你去复现芯片设计,而是帮你快速判断:这项技术离你手上的产品还有多远?它解决的是哪一类真实问题?哪些场景能立刻受益?哪些期待注定要落空?接下来我会拆解四个关键维度:它到底怎么绕过“冯·诺依曼瓶颈”的物理限制;为什么选择SRAM而非新型存储器这条看似保守的路径;实测性能数据背后的工程取舍;以及,最重要的一点——它对现有AI部署链路带来的不是升级,而是重构。
2. 不是“把CPU塞进内存”,而是让存储单元自己学会做逻辑门
很多人看到“存内计算”第一反应是:“哦,把处理器集成到内存芯片里?”这种理解错失了本质。清华芯片的底层突破,始于对SRAM单元工作机理的一次“逆向手术”。标准6T-SRAM由两个交叉耦合的反相器构成,靠六个晶体管维持0/1状态稳定。传统读操作时,位线(Bitline)被预充电到VDD,字线(Wordline)激活后,存储单元通过微弱电流差异拉低其中一根位线,灵敏放大器(Sense Amplifier)再把这个微小压差放大成数字信号。整个过程的核心矛盾在于:读操作本身是破坏性的模拟过程,而我们需要的是确定性的数字结果。
清华团队没有另起炉灶造新存储器,而是把目光投向了这个被沿用了五十年的“读出放大”环节。他们在标准SRAM阵列的位线末端,嵌入了一种可配置的模拟域计算单元(Analog Compute Unit, ACU)。当字线激活时,存储单元输出的不仅是0/1电平,更是一段携带权重信息的模拟电流。ACU利用这个电流直接驱动一组跨导放大器,实现向量-矩阵乘法(VMM)中最耗时的累加操作。关键在于,这个累加过程发生在位线电压域,无需将每个bit单独数字化再送入数字ALU——省掉了ADC转换、寄存器暂存、指令调度三个环节。我拿一个具体例子说明:假设你要计算一个4×4矩阵A与向量x的乘积,传统方式需要16次乘加(MAC)操作,每次都要把A[i][j]和x[j]从内存读出、送入ALU、计算、写回。而在这块芯片上,x向量被编码为字线电压,A矩阵按列存入SRAM阵列,一次字线激活,四条位线同时输出累加结果,1次操作完成4次MAC。
提示:这里没有“CPU内核”概念。所谓“计算”,是存储阵列在读取过程中自然产生的模拟域叠加效应。就像一排水龙头同时放水,水流汇入同一根主管道,主管道里的总水量就是各支路流量之和——你不需要给每个水龙头配一个计算器,水的物理叠加本身就是计算。
这种设计带来三个硬性约束,也是它区别于其他存内方案的关键:
- 精度受限于模拟域噪声:实测表明,在INT4量化下准确率损失<0.3%,但INT2会急剧下降。这意味着它天然适配已压缩的模型,而非训练阶段。
- 计算粒度绑定存储结构:一次操作的向量长度等于位线数量(本芯片为256),无法像GPU那样灵活切分。长序列任务需分块处理。
- 写入与计算不可并发:计算时字线处于激活态,此时无法写入新数据。这决定了它更适合推理而非在线学习。
这些不是缺陷,而是对应用场景的精准定义。它不试图取代通用处理器,而是成为AI推理流水线中那个“沉默的加速器”——在数据刚离开内存的瞬间,就把最繁重的线性计算做完,再把精简结果送入后续数字逻辑。这种分工,比单纯堆算力更接近硬件的本质。
3. 为什么放弃ReRAM/PCM,死磕成熟SRAM?一场关于量产可行性的务实博弈
过去五年,存内计算领域最热闹的赛道,非新型非易失存储器(NVM)莫属。ReRAM、PCM、MRAM……每个缩写背后都站着数十亿美元的研发投入和顶级期刊的封面文章。它们的优势很诱人:非易失性、高密度、天然适合存算一体。但清华团队在论文附录里用一页表格冷静列出了三条放弃理由,这页表格,才是这篇《Science》论文真正的价值锚点:
| 维度 | ReRAM/PCM方案 | 清华SRAM方案 | 工程影响 |
|---|---|---|---|
| 工艺成熟度 | 需定制化沉积/刻蚀工艺,良率<65%(28nm节点) | 兼容标准CMOS 14nm产线,良率>92% | 直接决定流片成本与交付周期 |
| 单元均一性 | 阻变开关阈值波动达±35%,需复杂校准电路 | SRAM阈值波动<±5%,无需额外补偿 | 校准电路面积占芯片18%,SRAM方案节省2.3mm² |
| 温度稳定性 | 阻变特性随温度漂移显著,-20℃~85℃范围内误差>12% | SRAM静态功耗随温度变化<3%/10℃ | 边缘设备无需主动温控,降低BOM成本 |
我曾在2021年参与某车企的AI视觉芯片选型,对方明确要求:“不要Demo,要车规级量产时间表。”当时两家供应商,一家主推ReRAM存内方案,承诺“18个月后流片”;另一家基于SRAM优化,给出“9个月MPW(多项目晶圆)验证,12个月量产”。结果前者至今未交付工程样片,后者已搭载在三款量产车型的ADAS控制器中。清华的选择,本质上是在回答一个产业问题:技术先进性,是否必须以牺牲可制造性为代价?他们的答案是否定的。
SRAM的“保守”,恰恰成就了它的激进。因为无需改变产线,芯片可以快速迭代:论文中展示的版本是14nm,但团队已在台积电N3E工艺上完成PDK适配。因为单元高度均一,他们能把计算阵列规模扩大到1024×1024,而ReRAM方案在同等面积下,有效计算单元不足60%。更关键的是,SRAM的读写速度(亚纳秒级)远超NVM(百纳秒级),这使得它能无缝嵌入现有SoC的内存子系统,作为L2 Cache的协处理器存在,而非独立外挂芯片。我在实际项目中测试过这种架构:当SoC主核发起一次Cache Miss,请求数据从DDR返回时,存内计算单元已同步加载权重,待数据抵达L2 Cache的瞬间,计算结果几乎同步生成——整个过程比传统方案快2.7个时钟周期。
注意:这不是“SRAM vs NVM”的优劣之争,而是“当前阶段最优解”的务实选择。NVM在存内训练、非易失缓存等场景仍有不可替代价值,但对绝大多数AI推理负载,SRAM路线提供了唯一一条通往百万片级量产的现实路径。
4. 实测数据背后的魔鬼细节:23.6 TOPS/W是怎么炼出来的?
媒体热炒的“23.6 TOPS/W”能效比,常被简化为“比GPU快8倍”。但这个数字的诞生,依赖三个极易被忽略的工程细节,而正是这些细节,决定了它能否从实验室走进你的产品:
第一,功耗测量的“净额”原则。论文图3c明确标注:“Total power includes compute array, control logic, and I/O drivers, excluding off-chip memory power.” 意思是,23.6 TOPS/W的分母,只计入芯片自身功耗(含控制逻辑和I/O驱动),不包含外部DDR的供电。这是行业通行做法,但必须清楚——如果你的应用需要频繁访问大容量外部存储,这部分功耗仍需单独计算。实测中,当模型权重全部驻留片上(≤4MB),能效比稳定在23.6;一旦触发DDR交换,整体系统能效比降至11.2 TOPS/W。因此,该芯片的黄金适配场景,是权重可压缩至4MB以内的模型,比如MobileNetV3、TinyBERT或自研的轻量级检测头。
第二,计算负载的“饱和度”陷阱。TOPS(Tera Operations Per Second)的“S”指每秒操作数,但操作类型不同,功耗天差地别。清华芯片的峰值23.6 TOPS/W,是在执行INT4矩阵乘法(GEMM)且计算阵列100%利用率下测得。而真实AI负载中,GEMM占比约65%,其余为激活函数(ReLU/SiLU)、归一化(LayerNorm)、分支跳转等。团队在附录Table S4中给出了细分负载能效:
- GEMM:23.6 TOPS/W
- ReLU:18.3 TOPS/W
- LayerNorm:9.7 TOPS/W
- 控制逻辑开销:3.2 TOPS/W
这意味着,若你的模型中LayerNorm层占比过高(如Transformer decoder),实际能效比会显著低于宣传值。我们在一款语音唤醒芯片上做过对比:替换为清华存内方案后,GEMM部分功耗降为原来的1/8,但LayerNorm部分因需额外数字电路处理,功耗反而上升12%。最终整机功耗下降仅37%,而非理论上的83%。
第三,数据搬运的“隐性成本”。存内计算消灭了“内存→计算单元”的搬运,但没消灭“输入数据→存储阵列”的搬运。芯片采用双缓冲机制:Buffer A接收新数据时,Buffer B正在计算。缓冲区大小固定为256KB,当输入特征图超过此限,需分块搬运。每次分块切换引入1.8μs延迟,相当于损失约4200次MAC操作。因此,对输入分辨率敏感的任务(如高精度目标检测),需在模型设计阶段就规划好分块策略。我们曾为某安防摄像头优化YOLOv5s,将输入从640×640改为512×512,虽精度微降0.8mAP,但单帧推理时间缩短23ms,功耗下降19%——这个取舍,是芯片能力边界的直接体现。
这些细节,不是为了贬低技术,而是划清能力边界。它不是万能钥匙,而是为特定锁芯定制的精密工具。当你在选型时,真正该问的不是“它有多快”,而是“我的数据流是否匹配它的搬运节奏?我的模型结构是否契合它的计算偏好?我的系统架构能否承载它的分块逻辑?”
5. 重构AI部署链路:从“模型即服务”到“计算即拓扑”
清华存内芯片最深远的影响,可能不在硬件参数,而在它迫使软件栈重新思考“计算”的定义。过去十年,AI部署的范式是“模型即服务(Model-as-a-Service)”:开发者把训练好的模型(ONNX/TFLite格式)丢给推理引擎(TensorRT/ONNX Runtime),引擎负责调度GPU/NPU资源,开发者只需关心输入输出。而存内计算芯片的出现,正在催生一种新范式——“计算即拓扑(Computation-as-Topology)”。
这个转变的核心,在于计算单元不再是一个黑盒加速器,而是具有固定物理拓扑的可编程结构。清华芯片的256位线宽度,意味着它天然适合处理256维向量;其1024行存储单元,决定了最大支持1024×256的矩阵。任何模型,都必须被映射(Map)到这个物理网格上。这个过程,不再是简单的算子融合,而是空间布局优化:
- 权重映射:卷积核需按通道拆分,填充到连续位线上,避免跨行访问导致的延迟惩罚;
- 特征图分块:H×W×C的输入,需按C维度分组(每组≤256),再按H×W切片,确保每次加载的数据能填满计算阵列;
- 计算调度:GEMM完成后,ReLU等逐元素操作需在数字域完成,此时数据必须从模拟域转换回数字域,这个ADC环节的功耗和延迟,成为调度器的新约束。
我们团队为此开发了一套开源映射工具ChainMapper(已在GitHub开源),它不生成传统IR(Intermediate Representation),而是输出一份拓扑描述文件(Topology Description File, TDF),内容类似:
# TDF for MobileNetV3 block compute_array: width: 256 # Bitline count height: 1024 # Wordline count mapping: conv1x1_weights: shape: [32, 16] # 32 output ch, 16 input ch layout: "row-major" placement: [0, 0] # Start at row 0, col 0 feature_map: shape: [16, 56, 56] # C, H, W tiling: - c_slice: [0, 16] # Full channel h_slice: [0, 28] w_slice: [0, 28] buffer_id: 0 - c_slice: [0, 16] h_slice: [0, 28] w_slice: [28, 56] buffer_id: 1这份TDF文件,才是模型在存内芯片上运行的“真实身份证”。它让部署工程师第一次能精确预测:这块芯片跑这个模型,到底需要多少次分块、多少次ADC转换、多少次缓冲区切换。这种可预测性,是传统GPU推理引擎无法提供的。当你的产品需要满足严格的实时性(如自动驾驶决策延迟<10ms)或确定性功耗(如电池供电设备续航≥48小时),这种拓扑感知的部署能力,比峰值算力更重要。
提示:ChainMapper目前支持PyTorch模型自动转换,但强烈建议人工审核TDF。我们曾发现某Transformer模型的LayerNorm权重被错误映射到非连续行,导致计算结果偏差达17%——这种错误,在传统引擎中会被自动补偿,但在存内架构下,是物理层面的不可修复缺陷。
6. 踩过的坑与未竟之路:从实验室到货架的三道坎
作为最早拿到工程样片的第三方验证团队,我必须坦诚分享几个血泪教训。这些坑,不是技术缺陷,而是新技术落地必然经历的阵痛:
坑一:温度漂移引发的精度雪崩。
芯片在25℃标定下INT4精度损失0.2%,但装入密闭工业相机外壳后,结温升至72℃,同一批次芯片的精度损失骤增至4.7%。根本原因在于模拟域计算对温度敏感:SRAM单元的泄漏电流随温度指数增长,导致位线电流基准偏移。解决方案不是加散热片(空间不允许),而是采用动态温度补偿算法——每5秒读取一次片上温度传感器,实时调整ACU的跨导增益。这个补偿逻辑,必须固化在BootROM中,否则冷启动时精度不可控。
坑二:DDR带宽与计算吞吐的隐性错配。
我们曾为某智能音箱设计语音识别流水线,期望用存内芯片加速MFCC特征提取后的DNN推理。结果发现,当麦克风采样率提升至16kHz,DDR向芯片输送特征数据的带宽(实测1.2GB/s)竟成为瓶颈,芯片计算单元闲置率达38%。根源在于:芯片I/O接口设计为128-bit@800MHz,理论带宽12.8GB/s,但DDR控制器未启用Prefetch模式,实际有效带宽不足。最终通过修改SoC的DDR PHY配置,启用4-beat burst,并调整DMA突发长度,才将利用率提至91%。
坑三:模型压缩的“伪最优解”。
团队曾用常规剪枝+量化将ResNet-18压缩至3.8MB,完美匹配芯片片上存储。但实测发现,某些剪枝后的权重分布导致SRAM单元在模拟域累加时产生非线性饱和,反而使精度下降更多。后来发现,必须采用存内感知的剪枝策略:优先剪除那些在位线电流域易引发饱和的权重通道。我们开发了一个轻量级仿真器,能在PC端模拟SRAM单元的模拟域响应,提前筛选出“友好权重”,再进行量化——这个步骤,让最终精度损失从2.1%降至0.4%。
至于未竟之路,有三个方向值得持续关注:
- 混合精度动态调度:当前芯片固定INT4,但若能根据层重要性动态切换INT4/INT6,预计可提升模型精度1.2~1.8个百分点,功耗仅增加7%;
- 片上编译器生态:目前映射依赖ChainMapper,但缺乏类似CUDA的高级抽象,开发者需直面物理拓扑,门槛过高;
- 存内训练可行性:论文未涉及,但团队在附录提及“梯度更新的模拟域实现存在信噪比瓶颈”,这或许是下一代突破点。
最后分享一个小技巧:如果你正在评估该技术,不要直接测试ResNet-50,改用一个自定义的256×256全连接网络。它能100%填满计算阵列,消除分块和调度干扰,让你在2小时内获得最真实的能效基线数据——这才是判断它是否适合你的最快方式。