存算学术界现状
存算一体(compute-in-memory)技术当下处于如日中天,甚至可以说有些过热的状态,从ISSCC 2023的表现上来看,全部34个session中,有3个session的title都直接用到了存算一体(session 7,SRAM Compute-in-memory;session 16,Efficient Compute-in-memory-based processors for ML;session 33,Non-Volatile Memory and compute-in-memory),存算一体还出没在 session 29,Digital Accelerators and Circuit Techniques,粗略的算一算ISSCC 2023至少有21篇存算一体相关的论文,占了整个ISSCC录用论文的10%。[1]
在存算火热的当下,能够看到的趋势是:
- 存算技术与AI的深度绑定,谈存算不离AI
- 将存算作为一个核并入SoC中
- 数字存算技术占上风,模拟存算技术退潮
- 网络训练,浮点计算等前几年存算技术没有cover到的点引发关注
- 存算的通用性,灵活性被强调,同时也在追求极致性能
- 存算+Transformer仍然有挖掘空间
几个佐证这些观点的标志性论文[2]:
7.1 A 22-nm 832-kb Hybrid-Domain Floating-Point SRAM In-Memory-Compute Macro with 16.2-70.2TFLOPS/W for High-Accuracy AI-Edge Devices
7.2 A 28-nm 64-kb 31.6-TFLOPS/W Digital-domain Floating-Point-Computing-Unit and Double-bit 6T-SRAM Computing-in-Memory Macro for Floating-Point CNNs
16.1 MulTCIM: A 28nm 2.24μJ/Token Attention-Token-Bit Hybrid Sparse Digital CIM-Based Accelerator for Multimodal Transformers
16.2 A 28nm 53.8TOPS/W 8b Sparse Transformer Accelerator with In-Memory Butterfly Zero Skipper for Unstructured-Pruned NN and CIM-Based Local-Attention-Reusable Engine
16.3 A 28nm 16.9-300TOPS/W Computing-in-Memory Processor Supporting Floating-Point NN Inference/Training with Intensive-CIM Sparse-Digital Architecture
16.6 A Nonvolatile AI-Edge Processor with 4MB SLC-MLC Hybrid-Mode ReRAM Compute-in-Memory Macro and 51.4-251TOPS/W
29.5 A 73.53TOPS/W 14.74TOPS Heterogeneous RRAM In-Memory and SRAM Near-Memory SoC for Hybrid Frame and Event-Based Target Tracking
存算产业界现状
重新回到存算上,国内目前存算相关的创业公司主要关注SRAM存储介质(如:苹芯科技,智芯科)和RRAM存储介质(如:知存科技,亿铸科技)两类存储介质。目前各家企业还处于比较初级的阶段,创立最早的知存科技也不过5年。
各家的技术与ISSCC上提出的存算宏和存算SoC区别不大,从产业覆盖面的角度来看,包含了AI的上中下游场景,包括:应用于云计算的高算力场景,应用于自动驾驶的中等算力场景,应用于语音识别等小算力场景等,但普遍积累不够深,从工艺完善程度,实际打入的产品供应链,开发工具的完整性等角度来看,还需要继续积淀。且目前发布的产品芯片普遍容量小,仅能应用于麦克风,智能手表,耳机,智能家居设备等。[3]
国外的存算技术创业公司发展也不甚乐观,头部芯片设计公司普遍对存算技术保持观望态度,更倾向于靠工艺,封装,加大cache容量,提出带宽更高的互联方案等方式正面暴力破解存储墙问题,比如AMD他们解决存储墙的方式就是:第二代3D V-Cache(ISSCC 2022上是第一代)+IO Hub Die(ISSCC 2020)+ 数量可扩展的CPU Die,暴力美学的典范。学术界存算一体相关论文的芯片规模还不足以进入产业的法眼,至少并不能解决一个100MB以上中等规模网络的存储墙问题(现在的大网络都太疯狂了)。而初创公司的发展也并不顺利,北美的模拟存算一体的明星初创Mythic在几周前宣布了由于缺乏现金流“out of runway”。
总体来说,存算技术距离产业应用还需要克服以下难点:
- 改进工艺,包括将存算技术拓展到更先进的工艺节点,新型存储器技术的良率提升等
- 拓展规模,目前的产品芯片多数仍然是Kb,Mb级别的小容量芯片,针对中上游应用必须扩展容量
- 完善功能,多数产品仅支持定点数的网络推理,而浮点计算和网络训练功能并未被cover,同时针对transformer系的算法跟进缓慢
- 建立生态,存算架构合并到当下主流AI软件框架中,需要在指令集,编译器等底层软件方面持续投入
整体上来看,存算技术距离广泛应用仍需静待转机。
未来的AI产业链
在进一步继续讨论存算之前,还是先看一下AI当下的发展状况。前期由于缺乏基础理论和可解释性,并且展现出的投入产出比低,我对AI一度抱有比较悲观的态度,但是今年年底的两个重磅工作很大程度上的改变了我的观点,一个是新型绘画生成demo:Novel AI[4],一个是新的聊天机器人demo:chatGPT[5]。从技术的角度上来说,前者是GPT完成自然语言处理,然后依靠扩散模型完成图像生成;后者是在GPT模型上应用新的training技巧(RLHF)提升了对话的流畅度和逻辑性。这两者的功能之强大颠覆了我对AI的旧观点,以目前的AI展现出的能力,很快依托大语言模型的新一代AI生产力工具可能就会诞生。
在此基础上,我对未来的AI产业链的图景大致展望如下:
上游——超大规模预训练模型提供商,大型AI数据中心解决方案提供商,AI训练卡、训练服务器、训练集群等AI硬件设备提供商
如:OpenAI(GPT系列),NVIDIA(AI Enterprise套件),华为(Atlas AI数据中心解决方案)
中游——AI解决方案提供商,AI云端部署方案提供商
如:商汤科技(方舟企业开放平台,绝影智能汽车平台 )
下游——AIOT芯片/IP提供商,AI硬件产品提供商,AI软件应用提供商
如:嘉楠科技(勘智K510),ST(STM32Cube.AI),ARM(Cortex-M85),旷世(C4系列智能摄像头),Github(Copilot)
当然,目前因为AI产业链尚未定型,上述的这些公司的业务范围也在动态变化,并不局限于某个环节,而是可能上、中、下都有涉及。
这里以OpenAI的GPT-3为一个例子,说明AI产业链未来上中下游过程中的各个环节的相互关系。首先是上游环节,OpenAI通过AI数据中心完成千亿参数的GPT-3模型训练,训练后的超大规模模型通过软件授权的方式发布给中游环节的企业,中游环节企业针对GPT-3进行下游任务的开发,提供一套服务器上的部署方案,以及可以暴露给终端应用的API接口,提供给下游环节企业,下游企业根据实际应用需求,如软件应用开发或硬件产品开发,调用中游提供的API接口实现终端功能。从而使得用户体验到的硬件产品或者软件应用直接具有超大模型的强悍性能。
当下AI的商用痛点围绕在碎片化,小模型的能力不够强,泛化能力弱,更换场景就需要重新训练网络和调优,缺乏优质数据集的情况下训练出的AI更是表现堪忧,且神经网络算法本身的黑盒特性导致难以调试,最终甚至可能不如经典算法好用,因此总体上给人留下的印象是鸡肋,投入产出比低下。但新的AI技术展现出了克服碎片化问题的可能性,超大规模语言模型展现出了碾压经典技术的学习能力和泛化能力,使得下游任务的调优变得更简单。期待GPT系列投入商用,早日能够用上使用自然语言进行交互的低门槛专业生产力工具,也期待在视觉领域,以及其他应用领域,超大规模预训练模型技术取得成功,解决这些领域中AI技术碎片化带来的问题。
路线图
结合存算技术的学术界、产业界现状,以及我对AI技术未来发展趋势的展望,我认为目前存算技术有如下值得去做的事情:
- 面向AI上游产业链:聚焦超大规模网络训练任务,针对浮点数运算方案以及网络训练方案深入挖掘,目前浮点方案的有ISSCC 2022涂锋斌博士的工作[6],还有ISSCC 2023岳金山老师的工作(ISSCC2023 16.3),而网络训练方面目前还未看到有非常成熟的方案出现。
- 面向AI中游产业链:聚焦中、大规模网络推理任务,然而刷定点数推理算力数据已经意义不大,现在的痛点在于存算芯片的片上容量过小,一些可行的方案包括将多个小存算芯片互联成完整系统,从而提供足够的片上容量;与存边计算技术配合,利用DDR等缓存减小对片上容量的需求(不需要在片上存储全部权重),一个参考方案是ISSCC 2022陈迟晓研究员的工作[7]。但这里依然有值得深挖的点,因为他的工作并未应用上存内计算技术,并且也没有深入讨论和缓存做数据交互的问题。
- 面向AI下游产业链:聚焦小型网络推理任务,这里的空间主要是面向应用了,小网络的片上定点数推理优化问题已经几乎没有多少研究的空间了,前人的trick过多。现在的重点更多放在针对具体的任务进行定制化的设计,从而达到最极致的性能,这些应用包括语音识别,事件检测,健康监测等等。具体可以看叶乐老师那边提出的工作[8]。
- 持续完善指令集,编译器,向主流AI软件框架逐步靠拢。
参考资料
《ISSCC 2023 前瞻 —— 存算一体是大势所趋还是审美疲劳?》:https://mp.weixin.qq.com/s/RJCZzGo42JDUb4miNPeW6A ↩︎
《ISSCC 2023 Advance Program》 ↩︎
《7家最值得关注的存算一体初创公司》:https://www.shangyexinzhi.com/article/5149039.html ↩︎
Novel AI官方网站:https://novelai.net/ ↩︎
chatGPT官方网站:https://openai.com/blog/chatgpt/ ↩︎
28nm 29.2TFLOPS/W BF16 and 36.5TOPS/W INT8 Reconfigurable Digital CIM Processor with Unified FP/INT Pipeline and Bitwise In-Memory Booth Multiplication for Cloud Deep Learning Acceleration ↩︎
COMB-MCM: Computing-on-Memory-Boundary NN Processor with Bipolar Bitwise Sparsity Optimization for Scalable Multi-Chiplet-Module Edge Machine Learning ↩︎
An 82nW 0.53pJ/SOP Clock-Free Spiking Neural Network with 40μs Latency for AIoT Wake-Up Functions Using Ultimate-Event-Driven Bionic Architecture and Computing-in-Memory Technique ↩︎