科技云报道:“存算一体”是大模型AI芯片的破局关键?
科技云报道原创。
在AI发展历史上,曾有两次“圣杯时刻”。
第一次发生在2012年10月,卷积神经网络(CNN)算法凭借比人眼识别更低的错误率,打开了计算机视觉的应用盛世。
第二次是2016年3月,DeepMind研发的AI程序AlphaGo,战胜世界围棋冠军李世石,让全世界惊叹于“人工智能”的实力。
这两次“圣杯时刻”的幕后,都有芯片创新的身影。适配通用算法的英伟达GPGPU(通用图形处理单元)芯片,以及走专业化路线谷歌TPU(张量处理单元)芯片都在这两次大发展中大放异彩。
如今大模型的兴起,正在逼近第三次“圣杯时刻”。但随着模型参数越来越大,芯片在提供算力支持上逐渐陷入瓶颈。
数据显示,在GPT-2之前的模型时代,GPU内存还能满足AI大模型的需求。
近年来,随着Transformer模型的大规模发展和应用,模型大小每两年平均增长240倍,GPT-3等大模型的参数增长已经超过了GPU内存的增长。
在大算力激增的需求下,越来越多行业人士认识到,新的计算架构或许才是算力破局的关键。
芯片发展面临“三座大山”
当前AI技术的快速更新迭代对芯片提出了多个挑战,尤其绕不过“存储墙”、“能耗墙”和“编译墙”三座大山。
首先,在传统冯·诺依曼架构下,芯片在执行计算密集型任务时面临“存储墙”问题,这导致计算芯片的功耗和性能都受限于处理器和存储器之间的数据搬运,严重限制了AI芯片在计算规模、密度、效率等方面的提升。
其次,由于“存储墙”的存在,数据需要频繁搬运,在存储、计算单元间来回转移,导致严重的功耗损失,撞到“能耗墙”上。
英特尔的研究表明,当半导体工艺达到 7nm 时,数据搬运功耗高达 35pJ/bit,占总功耗的63.7%。另有统计表明,在大算力的AI应用中,数据搬运操作消耗90%的时间和功耗,数据搬运的功耗是运算的650倍。
最后,“编译墙”隐于二者之中,极短时间下的大量数据搬运使得编译器无法在静态可预测的情况下对算子、函数、程序或者网络做整体的优化,手动优化又消耗了大量时间。
过去,凭借先进制程不断突破,这三座“大山”的弊病还能通过快速提升的算力来弥补。
但一个残酷的现实是,过去数十年间,通过工艺制程的提升改善芯片算力问题的“老办法”正在逐步失效——
摩尔定律正在走向物理极限,HBM、3D DRAM、更好的互联等传统“解法”也“治标不治本”,晶体管微缩越来越难,提升算力性能兼具降低功耗这条路越走越艰辛。
随着大模型时代来临,激增的数据计算,无疑进一步放大了“三道墙”的影响。
大模型呼唤“存算一体”
大模型的出现,促使AI对大规模芯片算力的需求更加强烈,按照传统技术路线简单堆砌芯片无法实现期待的算力规模增长。
同时,芯片能效问题变得更加突出。当前AI芯片能效依然低下,大模型每次训练和推断的电费成本昂贵,导致当前大模型的应用经济性较低。
虽然说现在很多大模型训练使用GPU,但GPU的架构演进并未解决大算力和大模型的挑战。
一方面,存储在GPU中所占比例越来越大。从GPU架构的演进趋势,可以看到存储在计算芯片中所占的比例越来越大。计算芯片从以计算单元为核心演变到以存储/数据流为核心的架构设计理念。
另一方面,数据传输功耗仍是提升算力和算力密度的瓶颈,本质上就是冯·诺依曼计算机体系结构计算与存储的分离设计所致。
总体而言,大模型对于算力的需求呈现指数型增长,但GPU又贵功耗又高,GPU集群的线性度也随规模增大而下降,探索非冯诺依曼架构已经非常火热。
AMD、特斯拉、三星、阿里巴巴等公司都曾在公开场合表示,下一代技术的储备和演进的方向是在“存算一体”技术架构中寻找新的发展动能。
例如,阿里达摩院就曾表示,相比传统CPU计算系统,存算一体芯片的性能可以提升10倍以上,能效提升超过300倍。
那么,“存算一体”技术到底有何优势?
存算一体与经典的冯诺依曼架构不同,它是在存储器中嵌入计算能力,将存储单元和计算单元合为一体,省去了计算过程中数据搬运环节,消除了由于数据搬运带来的功耗和延迟,从而进一步提升计算能效。
同时,由于计算编程模型被降低,编译器也可以感知每一层的数据状态,编译效率也将大幅度提升,“编译墙”的问题也得到了解决,具体而言:
首先,运算的性能更高
存算一体芯片的计算能力取决于存储器的容量规模。所有电子设备当中都会集成存储器,存储与计算相伴而行,有运算的地方就需要对数据进行存储。
如果采用存算一体芯片,随着存储容量规模的提高,其运算能力也会随之提高。
其次,功耗更低
由于数据传输路径的优化,存算一体技术在提高传输效率的同时,节省了数据传输的损耗,带来更好的能效比、低功耗。在相同算力下,AI部分能效比将有2-3个数量级的提升,更低散热成本,更高可靠性。
最后,成本更低
单位算力成本远低于传统计算芯片。同时,存算一体可以采用更成熟的制造工艺,大算力芯片往往需要采用先进工艺,这使存算一体芯片的晶圆成本低得多。
再考虑到配套的外围芯片、元器件等因素,整个系统成本将有5倍左右降低。
正是因为这些基于基础架构革新所带来的性能提升,存算一体技术有望在很大程度上解决AI大模型面临的算力挑战。
特别是针对大模型的推理,存算一体保持权重的特点与大模型中大规模的参数部署需求相匹配,可能是存算一体技术最先服务大模型应用的场景之一。
“存算一体”存在多条路径
目前,全球的存算一体玩家,主要可以划分为两大阵营:
一类是国际巨头,比如英特尔、IBM、特斯拉、三星、阿里等,巨头对存算技术布局较早,代表存储器未来趋势的磁性存储器(MRAM)、忆阻器(RRAM)等产品也相继在头部代工厂传出量产消息。
另一类是国内外的初创企业,比如Mythic、Tenstorrent、知存科技、后摩智能、千芯科技、亿铸科技、九天睿芯、苹芯科技等。
由于积淀不同、优势不同、目标场景不同,各家的存算一体方案也不尽相同,主要体现在三大差异上:技术路径、存储介质、以及采用的是模拟还是数字技术。
差异一:技术路径
根据存储单元与计算单元融合的程度,可以分为近存计算和存内计算两类:
近存计算,本质上仍是存算分离架构,只不过计算模块通常安放在存储阵列(memory cell array)附近,数据更靠近计算单元,从而缩小了数据移动的延迟和功耗。
近存计算的典型代表有AMD Zen系列CPU、特斯拉 Dojo、阿里达摩院使用混合键合3D堆叠技术实现的存算一体芯片等,还有国外创业公司Graphcore、芯片大神Jim Keller加入的创业公司Tenstorrent等,他们目前推出的存算一体芯片都属于近存计算的范畴。
存内计算,存储单元和计算单元完全融合,没有独立的计算单元:直接在存储器颗粒上嵌入算法,由存储器芯片内部的存储单元完成计算操作。
狭义上讲,这才是真正的存算一体,或者说,基于器件层面实现的存算一体才真正打破了存算分离架构的壁垒。
一般来看,近存计算是巨头的首选,因为符合“实用、落地快”的预期,而初创企业不存在路径依赖和历史包袱,反而可以另辟蹊径,直接选择存内计算,以期向更高性能、更通用的算力场景进行突围。
差异二:存储介质
存算一体依托的存储介质呈现多样化,比如以SRAM、DRAM为代表的易失性存储器、以Flash为代表的非易失性存储器等。综合来看,不同存储介质各有各的优点和短板。
发展较为成熟的有NOR Flash、DRAM、 SRAM等。
NOR FLASH属于非易失性存储介质,具有低成本、高可靠性优势,但工艺制程有瓶颈;DRAM成本低、容量大,但是速度慢,且需要电力不断刷新;SRAM在速度方面有优势,但容量密度小,价格高,在大阵列运算的同时保证运算精度具有挑战。
目前多数厂商当前倾向于技术成熟的SRAM设计存算一体芯片,但部分厂商也会采用“多驾马车”并驱的发展路线布局未来。
差异三:数字or模拟?
按照电路技术路径分类,存算一体计算有数字存算和模拟存算的区分,两者也有各自的优缺点:
数字存算,更适合大规模高计算精度芯片的实现,运算灵活性较好,更适合通用性场景,但要求存储单元内容必须以数字信号形式呈现。
模拟存算,在计算精度比较固定且较低的条件下,可以获得更高的能量效率,同时可以搭载任意存储单元实现。
但其关键模拟模块(如A/D转换器)的转换精度要求相对固定,且由于不同模拟计算方式可能具有不同的计算误差,因而这种技术路径的扩展性略显不足。
近些年来,学术界在存算一体的各个方面都进行了大量探索,提出了众多存算一体加速器架构,中科院微电子所、清华大学、斯坦福大学等单位制备出了存算一体芯片原型。
国内也涌现出了一批存算一体初创企业,包括知存科技、后摩智能、亿铸科技、苹芯科技等等,它们研发了基于SRAM、闪存、RRAM等存储器的存算一体芯片,且已有产品问世。
存算一体芯片面临多重挑战
虽然存算一体芯片被认为是下一代芯片,但目前还处于起步阶段,受限于成熟度,应用范围不够广泛,面临着诸多挑战,例如:
在芯片设计方面,架构设计的难度和复杂度要求很高,同时市面上也缺乏成熟的存算一体软件编译器的快速部署、专用EDA工具辅助设计和仿真验证。
在芯片测试方面,流片之后,同样缺乏成熟的工具协助测试。
在生态方面,缺乏相应的与之匹配的软件生态。
现阶段各厂商开发的存算一体芯片均基于自行定义的编程接口,缺乏统一的编程接口,造成了存算一体软件生态的分散,不同厂商开发的上层软件无法互相通用,极大的影响了存算一体芯片的大规模使用。
总体而言,现阶段的存算一体研发多数以零散的技术攻关为主,缺乏面向大算力方向的整体布局,也缺乏主导的应用需求牵引,因此距离大规模进入市场还有一定距离。
不过,大模型的到来,必将极大推动存算一体的技术落地,其未来应用潜力和部署规模都让人期待。
面向大模型部署,从业者需要对存算一体进行体系化布局,从算法、框架、编译器、工具链、指令集、架构、电路等跨层次协同设计,形成全栈式体系、工具链及生态链。
长期来看,设计方法论、测试、量产、软件、场景的选择等全方位竞争,将是各大厂商存算一体芯片发展和落地的关键。
【关于科技云报道】
专注于原创的企业级内容行家——科技云报道。成立于2015年,是前沿企业级IT领域Top10媒体。获工信部权威认可,可信云、全球云计算大会官方指定传播媒体之一。深入原创报道云计算、大数据、人工智能、区块链等领域。
相关文章:

科技云报道:“存算一体”是大模型AI芯片的破局关键?
科技云报道原创。 在AI发展历史上,曾有两次“圣杯时刻”。 第一次发生在2012年10月,卷积神经网络(CNN)算法凭借比人眼识别更低的错误率,打开了计算机视觉的应用盛世。 第二次是2016年3月,DeepMind研发的…...

watch监听一个对象中的属性 - Vue篇
vue中提供了watch方法,可以监听data内的某些数据的变动,触发相应的方法。 1.监听一个对象 <script>export default {data() {return {obj: {name: ,code: ,timePicker:[]}}},watch: {obj: {handler(newVal, oldVal) {//todo},immediate: true,deep…...

Spark---RDD序列化
文章目录 1 什么是序列化2.RDD中的闭包检查3.Kryo 序列化框架 1 什么是序列化 序列化是指 将对象的状态信息转换为可以存储或传输的形式的过程。 在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的…...

Xtuner大模型微调
Xtuner大模型微调 一、课程笔记 文档链接:https://github.com/InternLM/tutorial/blob/main/xtuner/README.md 视频链接: https://www.bilibili.com/video/BV1yK4y1B75J/ 大模型微调 大模型的训练利用了各类数据,可以说是一个通才ÿ…...

JavaScript基础04
1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅…...

HarmonyOS@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 上文所述的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数…...

x-cmd pkg | jless - 受 Vim 启发的命令行 JSON 查看器
目录 简介首次用户功能特点类似工具与竞品进一步探索 简介 jless 是一个命令行 JSON 查看器,设计用于读取、探索和搜索 JSON 数据。可以使用它来替代 less 、 jq 、 cat 以及您当前用于查看 JSON 文件的编辑器的任何组合。它是用 Rust 编写的,可以作为单…...

【HuggingFace Transformer库学习笔记】基础组件学习:Datasets
基础组件——Datasets datasets基本使用 导入包 from datasets import *加载数据 datasets load_dataset("madao33/new-title-chinese") datasetsDatasetDict({train: Dataset({features: [title, content],num_rows: 5850})validation: Dataset({features: [titl…...

[机缘参悟-126] :实修 - 从系统论角度理解自洽的人生:和谐、稳定,不拧巴,不焦虑,不纠结
目录 一、从系统论理解自洽 1.1 什么是系统 1.2 什么是自洽 1.3 什么是不自洽 1.4 为什么要自洽 1.5 不自洽的系统面临的挑战 二、人生需要自洽 2.1 人生自洽的意义 2.2 一个不自洽的人生会怎么样? 2.3 不自洽的特征 2.4 不自洽的人没有稳定的人格 三、…...

慢 SQL 的优化思路
分析慢 SQL 如何定位慢 SQL 呢? 可以通过 slow log 来查看慢SQL,默认的情况下,MySQL 数据库是不开启慢查询日志(slow query log)。所以我们需要手动把它打开。 查看下慢查询日志配置,我们可以使用 show …...

强化学习(一)简介
强化学习这一概念在历史上来源于行为心理学,来描述生物为了趋利避害而改变自己行为的学习过程。人类学习的过程其实就是为达到某种目的不断地与环境进行互动试错,比如婴儿学习走路。强化学习算法探索了一种从交互中学习的计算方法。 1、强化学习 强化学…...

外贸常用网站
外贸常用网站 网站阿里巴巴国际站阿里巴巴国内站Aliexpress 速卖通shopifyAmazon 亚马逊k3 开山女鞋网bao66 牛包包网爱搜鞋k3 开山网(女鞋)新款网(男女鞋)搜款网(男女衣服)17zwd(女装)17zwd(女装) 物流yunexpress 云途物流 其他amz123 跨境卖家导航amz520 跨境卖家导航 网站 …...

Android中集成FFmpeg及NDK基础知识
前言 在日常App开发中,难免有些功能是需要借助NDK来完成的,比如现在常见的音视频处理等,今天就以ffmpeg入手,来学习下Android NDK开发的套路. JNI和NDK 很多人并不清除JNI和NDK的概念,经常搞混这两样东西,先来看看它们各自的定义吧. JNI和NDK 很多人并不清除JNI和NDK的概念…...

1.13寒假集训
晚上兼职下班回来才有时间写题,早上根本起不来 A: 解题思路:我第一开始以为只要满足两个red以上的字母数量就行,但是过不了,后面才发现是red字符串,直接三个三个判断就行。 下面是c代码: #include<io…...

删除排序链表中的重复元素
说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只…...

echarts的dispatchAction
触发图表行为,通过dispatchAction触发。例如图例开关legendToggleSelect, 数据区域缩放dataZoom,显示提示框showTip等等。 官网:echarts (在 ECharts 中主要通过 on 方法添加事件处理函数。) events: ECharts 中的事件分为两种…...

Java IO学习和总结(超详细)
一、理解 I/O 是输入和输出的简写,指的是数据在计算机内部和外部设备之间的流动。简单来说,当你从键盘输入数据、从鼠标选择操作,或者在屏幕上看到图像,这些都是 I/O 操作。它就像是计算机与外部世界沟通的桥梁,没有 I…...

mysql忘记root密码后怎么重置
mysql忘记root密码后重置方法【windows版本】 重置密码步骤停掉mysql服务跳过密码进入数据库在user表中重置密码使用新密码登录mysql到此,密码就成功修改了,完结,撒花~ 重置密码步骤 当我们忘记mysql的密码时,连接mysql会报这样的…...

计算机图形学作业:三维线段的图形变换
1. 将三维空间某线段 P1P2进行如下的操作,请按要求回答问题: (1) 沿 X 轴、Y 轴和 Z 轴分别平移 dx、dy 和 dz 的长度,给出相应的变换矩阵。 变换矩阵为: T100001000010dxdydz1 (2)…...

Linux mren命令教程:批量重命名文件(附实际操作案例和注意事项)
Linux mren命令介绍 mren(全称multiple rename),它是用来对多个文件进行重命名的工具。这个命令在一次操作中可以批量改变多个文件的名称,特别是在需要对大量文件进行重命名时,mren将节省大量的时间和努力。 Linux m…...

LLVM系列(1): 在微软Visual Studio下编译LLVM
参考链接: Getting Started with the LLVM System using Microsoft Visual Studio — LLVM 18.0.0git documentation 1.安装visualstudio,版本需要大于vs2019 本机环境已安装visual studio2022,省略 2安装Makefile,版本需要大…...

分布式系统的三字真经CAP
文章目录 前言C(Consistency 数据一致性)A(Availability 服务可用性)P(Partition Tolerance 分区容错性)CAP理论最后 前言 你好,我是醉墨居士,我一起探索一下分布式系统的三字真经C…...

大模型背景下计算机视觉年终思考小结(一)
1. 引言 在过去的十年里,出现了许多涉及计算机视觉的项目,举例如下: 使用射线图像和其他医学图像领域的医学诊断应用使用卫星图像分析建筑物和土地利用率相关应用各种环境下的目标检测和跟踪,如交通流统计、自然环境垃圾检测估计…...

Modbus协议学习第一篇之基础概念
什么是“协议” 大白话解释:协议是用来正确传递消息数据而设立的一种规则。传递消息的双方(两台计算机)在通信时遵循同一种协议,即可理解彼此传递的消息数据。 Modbus协议模型 Modbus协议模型较为简单,使用一种称为应用…...

gem5学习(12):理解gem5 统计信息和输出——Understanding gem5 statistics and output
目录 一、config.ini 二、config.json 三、stats.txt 官方教程:gem5: Understanding gem5 statistics and output 在运行 gem5 之后,除了仿真脚本打印的仿真信息外,还会在根目录中名为 m5out 的目录中生成三个文件: config.i…...

索引的概述和使用
1、概述 索引占用存储空间,并不是越多越好,太多的索引会影响系统性能 索引分类 聚集索引: 逻辑顺序和物理顺序是一致的(表中行数的位置决定了该行在内存中存储的位置),因此效率优先于非聚集索引ÿ…...

力扣210. 课程表 II
深度优先遍历 思路: 搜索逻辑参见力扣207.课程表需要课程安排的顺序,课程搜索完成时,将其存储起来即可;存储课程的顺序需要注意: 输入依赖中 [A, B]图中表示 B -> A ,表示先 B 后 A&#x…...

[Docker] Mac M1系列芯片上完美运行Docker
docker pull qinchz/dm8-arm64 container_name: dm8ports:- "5236:5236"mem_limit: 1gmemswap_limit: 1gvolumes:- /data/dm8:/home/dmdba/data 数据库实例参数已修改,接近oracle使用习惯 #字符集 utf-8 CHARSET1 #VARCHAR 类型对象的长度以字符为单位 …...

CompletableFuture、ListenableFuture高级用列
CompletableFuture 链式 public static void main(String[] args) throws Exception {CompletableFuture<Integer> thenCompose T1().thenCompose(Compress::T2).thenCompose(Compress::T3);Integer result thenCompose.get();System.out.println(result);}// 假设这些…...

什么是云服务器,阿里云优势如何?
阿里云服务器ECS英文全程Elastic Compute Service,云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云百科aliyunbai…...