科技云报道:“存算一体”是大模型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媒体。获工信部权威认可,可信云、全球云计算大会官方指定传播媒体之一。深入原创报道云计算、大数据、人工智能、区块链等领域。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无公网ip如何随时随地远程查看本地群晖NAS存储的文件资源

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

Linux单主机模拟测试docker macvlan网络

在单台宿主机上使用Linux Bridge,桥接不同网络命名空间(namespace)的方式,模拟测试docker macvlan网络,记录如下: 参考 链接: Macvlan network driver链接: Docker 网络模型之 macvlan 详解,图…

HackTheBox - Medium - Linux - UpDown

UpDown UpDown 是一台中等难度的 Linux 机器,暴露了 SSH 和 Apache 服务器。在Apache服务器上,有一个Web应用程序,允许用户检查网页是否已启动。服务器上标识了一个名为“.git”的目录,可以下载以显示目标上运行的“dev”子域的源…

Neo4j备份

这里主要讲Neo4j在windows环境下如何备份,Linux环境同理 Neo4j恢复看这里:Neo4j恢复-CSDN博客 Step1:停服 关闭neo4j.bat console会话窗口即可 Step2: 备份 找到数据目录,并备份、压缩 copy即可 data - 20240108.7z Step3: 启动服务 进入命令行&am…

浏览器缓存引发的odoo前端报错

前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载…

DevEco Studio for Mac:zsh: command not found: ohpm

一、检查是否配置有ohpm环境 1、新打开一个终端输入export,查看是否有 ohpm路径: 二、如果没有找到ohpm路径,开始配置环境 。 1、查找本机ohpm路径,并记录ohpm解释器的路径: 2、打开终端工具,执行命令 ech…

现代操作系统复习笔记【核心考点知识+重点复习题】

文章目录 一、核心考点基础知识第一章 概述1、操作系统的基本概念、基本功能2、分时系统、批处理系统、实时系统的主要特征3、用户接口、系统调用过程4、单到与多道程序技术5、操作系统虚拟机体系结构6、CPU工作模式;7、部分课后习题 第二章 进程与线程1、进程的基本…

谷粒学院项目redirect_uri 参数错误微信二维码登录

谷粒学院项目redirect_uri 参数错误_redirect_uri": "http%3a%2f%2fguli.shop%2fapi%2fuce-CSDN博客 修改本地配置 # ����˿� server.port8160 # ����&#x…

内存分区模型---C++

目录 内存分区模型1.1 程序运行前1.2 程序运行后1.2.1 new操作符 内存分区模型 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的;全局区:存放全局变量和静态变量以及常…

STL标准库与泛型编程(侯捷)笔记5

STL标准库与泛型编程(侯捷) 本文是学习笔记,仅供个人学习使用。如有侵权,请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…

花为缘积萨伯爵奢侈品牌顺应趋势创新发展,重新定义行业新风向

随着中国高线市场进入第四消费时代,“可以买贵的,不能买贵了”成为消费者购物的指导方针。麦肯锡在《2023年麦肯锡中国消费者报告》中表示,当前消费者保守审慎的态度是追求性价比,试图掌握消费自主权,从而选择更明智的…

Jenkins-Pipeline语法总结大全

这里写目录标题 pipeline的组成1、pipeline最简单结构1.1、pipeline1.2、stages1.3、stage1.4、steps1.5、agent 2、post3、pipeline支持的命令3.1、environment3.2、tools3.3、input3.4、options3.5、parameters3.6、parallel3.7、triggers3.8、when pipeline的组成 1、pipel…

org.springframework.web.servlet.HandlerInterceptor

过期 1 配置黑名单 2 启动注册拦截 3 浏览器访问拦截

【EasyExcel】导出excel冻结表头和冻结指定列并支持筛选器

需求背景: 导出excel的同时冻结表头和前两列基础信息,方便导出后用户查看信息。 一、技术选型: easyExcel的自定义写策略处理:SheetWriteHandler 二、方案设计:(基于实现 SheetWriteHandler 接口&#xf…

【2023回顾】2024,放马过来吧

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 🐸哈哈虽然不是技术文&#x…

CAN201 计网概念收集

Lecture 1 the theoretical basis for networking Network edge and core 地理覆盖范围:广WAN,城MAN,局LAN,个PAN 交换方式,电路,报文,分组 电路交换vs报文vs分组 Network performance pr…

springboot程序启动慢解决

记springboot程序启动慢解决。 今天将程序发给别人后&#xff0c;别人立马说你这个启动很慢。 查看程序启动耗时分布 <!--启动耗时监测--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator…

Golang 交叉编译之一文详解

博客原文 文章目录 Golang 中的交叉编译不同操作系统间的编译Linux 下编译windowsmacos windows 下编译Linuxmacos macos 下编译Linuxwindows 不同架构下的编译amd64x86 参考 Golang 中的交叉编译 在 Golang 中&#xff0c;交叉编译指的是在同一台机器上生成针对不同操作系统或…

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识. Spark 快速入门快速开始使用 Spark Shell 进行交互式分析&#xff1a;独立的应用程序其他 1, 使用 Spark Shell 进行交互式分析1.1 基本1.2 有关Dataset操作的更多信息1.3 缓存 2&…

【算法每日一练]-动态规划 (保姆级教程 篇16) #纸带 #围栏木桩 #四柱河内塔

目录 今日知识点&#xff1a; 计算最长子序列的方案个数&#xff0c;类似最短路径个数问题 四柱河内塔问题&#xff1a;dp[i]min{ (p[i-k]f[k])dp[i-k] } 纸带 围栏木桩 四柱河内塔 纸带 思路&#xff1a; 我们先设置dp[i]表示从i到n的方案数。 那么减法操作中&#xff…