聊聊LLMs与CIM

news/2024/10/9 21:13:09

聊聊LLMs与CIM

1. LLMs的近况

首先对LLMs,即大语言模型做个简单的回顾,之前也写过长文介绍过来龙去脉。我们知道目前LLMs的基础是2017年提出的Transformer模型结构,更准确的说,现在LLMs中的主流方案是使用Decoder only的Transformer架构。LLMs的工作方式采用的简单的"predict next word"的思想,即每次根据上下文内容(包含输入的prompt token以及已经生成的文本token)对要生成下一个token进行预测。依据IIya在采访中的发言,他认为简单的"predict next word"中包含了对文本内容的压缩和理解,一个形象的例子是,假设阅读一本侦探小说,在结尾说出凶手的名字的时候,就必须要吸收和整合书中前文里提供的所有的信息,而LLMs所作与此类似。

2022年底OpenAI推出的ChatGPT引爆了LLMs的话题,2023年推出的GPT-4又给熊熊大火狠狠填了一把柴,同时各大竞品也层出不穷,如Anthropic家的Claud,Deepmind家的Gemini,Meta的LLaMa等,一时间群雄逐鹿。

但2024年的LLMs的势头有所减弱,OpenAI的宫斗大戏刚吃瓜完,久等的GPT-5没有发布,只等来了GPT-4o,相比GPT-4在benchmark上获得了更高的分数,展现了更强的多模态性能,以及对复杂逻辑问题的解决能力增强等,但对于大部分人来说应该低于预期。领头羊都这样了,其他家的产品自然也放不出什么大招来。

目前来看,LLMs已经过了Scaling Law驱动的时期,进一步放大模型困难重重。训练的算力,高质量数据的匮乏,大模型的训练难度等因素都构成了当下的瓶颈,于是只能从思维链,RLHF等角度切入去做提升。

可以说,在寻找到新的技术上的破局点之前,当下的LLMs在商业上必须解决的问题是如何降本增效,即如何降低自家模型的推理成本,又能保住模型的性能。

2. CIM的“窘境”

再来聊聊CIM的事情,相信这点不止是我,所有在做CIM的人在这个时间节点会有点迷茫:做了这么久的CIM,讲了这么久的边缘端计算的故事,几年下来了容量还是那么几十Kb,benchmark的时候大家还是掏出CNN的那套组合拳:经典永不过时的ResNet/VGG和CIFAR-100/ImageNet。我们该怎么上LLMs时代的车?另外,硬件没跟上算法trend这事并非我首次提出,这里有篇有趣的文章推荐一下(里面举得那个闹笑话的例子也说明了目前CIM Session的TPC以及大部分研究者们的思路大概率还没转过弯儿来,对LLMs和Transformer还是有点迷迷糊糊)。

其实并非没有算法咬的比较紧的人下场来收割红利,如涂老师的一篇面向Transformer的CIM加速器[1],以及面向Cross Attention(多模态)的CIM加速器[2]。但除了对算法亦步亦趋之外,CIMer还需要想一想自己在这个问题下是否能够真正意义上对其他方案建立优势,并且真正在软硬件上做到合理化的协同,而不是简单的用LLMs当作一层概念包装(比如仅仅改了一下数制就给Title里面写Transformer或者LLMs)。

此外benchmark的标准以及相应的指标也得跟进,比如作为baseline的model和dataset;除了能效和算力密度以外的指标(\(\mu J/token\)\(\mu S/token\)​这类),诸如此类。

换句话来说,学术界和工业界在将CIM与LLMs这个当红炸子鸡的结合上都还有非常多的事情可以去做,毕竟考虑到今年诺贝奖都颁给了AI,不出意外的话,人类下一个十年的技术主题仍然会围绕AI打转,而LLMs作为AI技术十年之期结出的大果实,前途一片光明(即使堆不出AGI来,现有的AI如果再迭代几年,恐怕就能cover不少白领工作了,细思恐极)。

3. CIM for LLMs ?

说了那么多,现在来简单谈谈到底该为了LLMs做什么样的CIM?这里以我的思考角度来做一些回答。我们提到目前LLMs的一个重要需求围绕在降低成本上,因此如何降低推理能耗是一个重要的问题,同时为了维持用户体验,推理时间必然是越快越好,且不应该损失过多的模型精度。目前已经有相当多的方案来解决这些问题,例如KV Cache,Sparse Attention,以及很多低精度的量化方案。但之前说过,除了将算法直接映射到硬件上,把CIM简单粗暴的做成某种专用硬件,更应该思考的是如何实现更深度的软硬件结合,即更加关注LLMs推理过程中的访存和计算需求,例如Transformer中的动态权重问题再次将权重更新和计算的同时性问题摆到一个重要的位置,一个经典的方案是采用乒乓操作[3],但调度的粗粒度是这个方案的一个大问题,进而带来利用率上的问题。通过读写通路分离的SRAM Cell设计可以更简便的解决这一问题,同时提供细粒度的操作[4],但代价是Cell面积的增大(6T扩到12T)。在此基础上能否结合一些算法上的Trick实现更好的优化方案呢?这就是一个有趣切入点。

LLMs的风已经吹到了CIM领域,降本增效的需求与CIM本身的技术优势是贴合的,接下来要期待的就是大浪淘沙,除了直接粗浅的follow算法之外,希望能够看到更多有趣的软硬件深度结合的工作出现。

4. 引用


  1. F. Tu et al., "TranCIM: Full-Digital Bitline-Transpose CIM-based Sparse Transformer Accelerator With Pipeline/Parallel Reconfigurable Modes," in IEEE Journal of Solid-State Circuits, vol. 58, no. 6, pp. 1798-1809, June 2023, doi: 10.1109/JSSC.2022.3213542. ↩︎

  2. F. Tu et al., "MulTCIM: Digital Computing-in-Memory-Based Multimodal Transformer Accelerator With Attention-Token-Bit Hybrid Sparsity," in IEEE Journal of Solid-State Circuits, vol. 59, no. 1, pp. 90-101, Jan. 2024, doi: 10.1109/JSSC.2023.3305663. ↩︎

  3. J. Yue et al., "15.2 A 2.75-to-75.9TOPS/W Computing-in-Memory NN Processor Supporting Set-Associate Block-Wise Zero Skipping and Ping-Pong CIM with Simultaneous Computation and Weight Updating," 2021 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2021, pp. 238-240, doi: 10.1109/ISSCC42613.2021.9365958. ↩︎

  4. H. Fujiwara et al., "A 5-nm 254-TOPS/W 221-TOPS/mm2 Fully-Digital Computing-in-Memory Macro Supporting Wide-Range Dynamic-Voltage-Frequency Scaling and Simultaneous MAC and Write Operations," 2022 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2022, pp. 1-3, doi: 10.1109/ISSCC42614.2022.9731754. ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/69558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

redis介绍与安装

Redis 简介Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis与其他 key- value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,…

VSCode配置Python(记录)

python安装 官网在线安装或者下载离线包(勾选添加path环境变量)python指定版本运行 把对应版本的python.exe复制一下,粘贴改名加个对应版本,因为添加了环境变量的缘故所以可以直接在命令窗中运行运行测试对应项目创建虚拟环境(包管理) tips:当然了,也可以用anaconda管理…

The Missing Semester of Your CS Education

from pixiv前言 The missing semester of your CS education计算机设计的初衷就是任务自动化,然而学生们却常常陷在大量的重复任务中,或者无法完全发挥出诸如 版本控制、文本编辑器等工具的强大作用。效率低下和浪费时间还是其次,更糟糕的是,这还可能导致数据丢失或 无法完…

《机器学习初步》笔记

第一章 绪论 1.1 引言 机器学习的经典定义:利用经验(数据)改善系统自身的性能 经典的机器学习过程:机器学习最重要的理论模型:PAC(概览近似正确)1.2 基本术语 数据集:一组记录的集合 学习/训练:通过执行某个学习算法,得到模型,学的的模型对应数据的某种潜在规律 示例…

一文搞懂:预提、计提、摊销

本文将透彻解析这三个会计处理方式的异同,以及如何在实务操作中注意其细节,帮助会计人员更好地掌握和应用这些工具。通过实际案例的讲解,使读者能够清晰地区分和运用预提、计提及摊销,确保会计信息的准确性和时效性。 一、预提、计提、摊销 预提、计提、摊销,这三个名词长…

实验2 C语言分支与与循环基础应用编程——1

一、实验目的 1. 能正确使用if语句实现分支结构 2. 能正确使用while语句、do...while语句实现循环结构 3. 能在具体问题场景中正确区分、使用continue和break 4. 能灵活、组合使用c语句编程解决简单应用问题 二、实验准备 1. 分支语句 if 和循环语句 while 、 do...while 的用…

redis安装致命错误jemalloc/jemalloc.h

安装报错 在安装redis的时候,执行 make && make install 发生以下错误解决方案其实可以读一下redis里的Readme.md文件,我截图了其中的部分,使用make MALLOC=libc & make install

鼻托历险记

鼻托历险记我是一个鼻托,和我的双胞胎兄弟共同居住在一副眼镜上。 自打出生起,我就和其它部件们被融合成了一个集体。我们已经工作了快两年了,我的主人很贴心的照顾我们,不隔多久就会给和我们一起工作的镜片兄弟精心擦拭一番,也有时会心血来潮,给整个集体一起洗个凉水澡。…