本文来自微信公众号: 歪睿老哥 ,作者:歪睿老哥
2025年8月22号,Nature Communications发了一篇论文。
论文的第一作者是IBM Almaden实验室的一个研究员。IBM Tokyo、IBM Yorktown、还有IBM Albany的一个纳米技术中心,联合起来干了一件事。
他们在一片14纳米的芯片上,用相变存储器跑了710万个参数的Transformer模型。
准确率和纯浮点数算出来的结果,差了1.8个百分点。
这事儿挺猛的。
先说具体数据。
14纳米工艺。34个模拟计算Tile。3500万个相变存储单元。其中2830万个精确写入了权重。
模型是ALBERT。一个12层的Transformer Encoder,710万独特参数,12层共享。在GLUE基准测试上跑了7个NLP任务。

硬件准确率:MRPC和QNLI两个任务达到了完全等同精度。QQP只差0.2个百分点。
剩下的任务,RTE、CoLA、SST-2、SST-2,也都只差了不到5个百分点。
平均下来,七个任务的硬件准确率,比纯浮点数参考模型低了1.79%。
1.8%。
在3500万个模拟器件上,在存在编程误差、硬件缺陷、读出噪声、误差传播的情况下,只差了1.8%。
说人话,是怎么回事。
传统芯片做矩阵乘法,先把权重从内存读到处理器,算完再写回内存。反复搬数据。这就是所谓的冯诺依曼瓶颈。
IBM这帮人不走这条路。
他们在芯片里塞了3500万个相变存储器。每个存阻器能编程到连续的模拟状态。权重直接存在存阻器的电导里。
矩阵乘法在存储单元内部就做完了。电流就是数据,欧姆定律就是乘法,基尔霍夫电流定律就是累加。算完直接出来,不需要搬来搬去。
这叫存内计算。Compute-In-Memory。
沙子做的芯片,用物理定律直接算矩阵乘法。
但这事儿没那么简单。
模拟器件不是数字晶体管。它有噪声。有误差。有漂移。
相变存储器尤其有意思。你用电流熔一小块区域,然后快速冷却,它就变成非晶态——高电阻。再用电流加热到结晶温度,它就变成晶态——低电阻。中间态也能编程。
但问题在于,非晶态不是稳定的。它会随时间松弛。电导会慢慢下降。大约30天降5%。
更麻烦的是,每个存阻器的漂移速度都不一样。模型权重分布在时间中逐渐变宽。
IBM这帮人想了两个招。
第一个招是硬件感知训练。在微调的时候注入模拟芯片特有的噪声,让模型权重学会耐受这些噪声。加上这个微调,硬件准确率平均提高了4.4%。
第二个招是漂移补偿。每做一次推理之前,用训练集跑一轮校准,测量存阻器的当前状态,生成新的缩放参数。校准后,30天的漂移导致的准确率下降从5%降到1%以下。
这两个招都是软件层面的。硬件还是那块硬件,问题还是在芯片上。但软件修补之后,效果几乎没损失。
有意思的是,这帮人还做了早退实验。
12层的Transformer,不一定非要跑完12层。在第11层结束的时候,七个任务的平均准确率只比第12层低了0.4%。
如果提前退出,省下的能耗和时间是实打实的。
不过论文里说的是一个假设。因为这批硬件的设计重点是把所有权重塞进一块芯片,没有做流水线和管道化。throughput和效率都还没榨干。
论文里也说了,未来的芯片如果能支持更好的映射策略、细粒度流水线、以及更高的宏能效tile,性能还能大幅提升。
我其实一直在想一个问题。
现在AI圈的主流叙事是什么?越来越大。模型越来越大。数据集越来越大。算力集群越来越贵。
OpenAI在堆参数。Google在堆参数。Meta在堆参数。所有人都在比谁的模型更大,谁的显卡更快,谁的集群更贵。
但IBM这帮人在干一件事儿。
他们在一片小小的14纳米芯片上,用物理定律做矩阵乘法。不搬数据。不依赖GPU集群。不做云端推理。
这是一条完全不同的路。
不是追求更大更快。而是追求更小更省。
当然,这条路还有很多坑。
模拟芯片对噪声敏感。对温度敏感。对器件变异敏感。存阻器有写入寿命限制。精度也不如数字芯片。
但这篇论文证明了一件事。模拟推理是可行的。在合理的设计下,误差可以被补偿到可接受的范围内。
3500万个器件。1.8%的误差。在GLUE基准上接近完美。
这不是一个完美的解决方案。但它是一个可行的起点。
说回这篇论文本身。
它的价值不在于芯片本身。3500万个存阻器,14纳米,这些数字只是工程上的里程碑。
它的价值在于证明了一件事。Transformer模型可以在模拟硬件上运行。而且准确率几乎不损失。
这意味着什么?
意味着AI推理不一定需要庞大的GPU集群。不一定需要昂贵的云端服务。不一定需要巨大的能耗。
一块小小的芯片,用物理定律做计算,就能跑一个12层的Transformer。
这个方向其实早就有人在做。但大多数研究都停留在模拟层面。或者说,停留在论文里的仿真。
这篇论文不一样。它不是在仿真。它是在真实的物理芯片上跑真实的模型,跑真实的benchmark。
3500万个真实的存阻器。真实的电导漂移。真实的读出噪声。真实的1.8%准确率损失。
这是真实的。
我其实有点意外。
不是因为1.8%的准确率损失。这个数据已经很好了。
是因为这件事的朴素。
一片芯片。3500万个存阻器。物理定律做矩阵乘法。没有花哨的分布式训练。没有复杂的并行策略。就是老老实实用欧姆定律和基尔霍夫定律算出来的。
但这恰恰是它最打动人心的地方。
当所有人都在堆参数堆算力的时候,有人选择回到最基本的问题。用最基本的物理原理,做最基本的矩阵乘法。
效率从底层来,而不是从规模来。
这玩意太酷了。
参考《Demonstration of transformer-based ALBERT model on a 14nm analog AI inference chip》
