存内计算技术—解决冯·诺依曼瓶颈的AI算力引擎

news2024/11/24 10:43:40

文章目录

  • 存内计算技术背景
    • CSDN首个存内计算开发者社区
    • 硅基光电子技术
    • 存内计算提升AI算力
    • 知存科技存算一体芯片技术
    • 基于存内计算的语音芯片的实现挑战
  • 参考文献

存内计算技术背景

存内计算技术是一种革新性的计算架构,旨在克服传统冯·诺依曼架构的瓶颈,并实现更高效的数据处理。随着大数据时代的到来,传统的冯·诺依曼架构已经难以满足不断增长的计算需求,因为它将处理单元和存储器分开,导致数据传输成本高昂且计算效率低下。存内计算技术的提出就是为了解决这个问题。
存内计算产业分析如下图:
在这里插入图片描述

CSDN首个存内计算开发者社区

CSDN首个存内计算开发者社区来了,基于知存科技领先的存内技术,涵盖最丰富的存内计算内容,以存内技术为核心,史无前例的技术开源内容,囊括云/边/端侧商业化应用解析以及新技术趋势洞察等, 邀请业内大咖定期举办线下存内workshop,实战演练体验前沿架构;从理论到实践,做为最佳窗口,存内计算让你触手可及。
传送门:https://bbs.csdn.net/forums/computinginmemory
首个存内计算开发者社区,0门槛新人加入,发文享积分兑超值礼品;
成为存内计算大使,享受资源支持与激励,打造亮眼个人品牌,共同引流存内计算潮流。
在这里插入图片描述

硅基光电子技术

近年来,硅基光电子技术在高密度、高性能光电集成电路方面崭露头角,尤其是其与CMOS技术的兼容性,为其成为大规模、廉价光电子集成电路平台打开了无限可能。然而,硅材料的禁带宽度却使其在通信波段的光电探测器应用受到限制,引发对光电转换的迫切需求。

光电转换作为光互连系统中不可或缺的关键部分,要求高速和高灵敏度的探测器,而传统的冯·诺依曼体系结构却面临着内存与计算单元之间频繁数据传输的问题,导致大量能源的消耗,尤其在资源受限的设备中更为显著。这就是我们迎来的存储墙问题。

为了解决这一问题,学者们提出了内存计算(computing in-memory, CIM)技术,一种能够直接在内存中进行计算的新型体系结构。而在内存计算技术中,基于静态随机存取存储器(SRAM)的存内计算成为研究热点,其单元的健壮性和存取速度使其成为突破冯·诺依曼瓶颈的一项关键技术。

第一个层面电路主要包括两方面:
1)基本存储单元,包括读写分离结构、可转置结构和紧凑耦合结构;
2)外围辅助电路,包括模数转换电路(analog-to-digitalconversion, ADC)、数模转换电路(digital-to-analogconversion, DAC)、冗余参考列,数字辅助电路和模拟辅助电路(图1(a))。
第二个层面所能实现的运算操作:
1)纯数字存内计算,包括布尔逻辑和内容可寻址(content-addressablememory, CAM);
2)混合信号存内计算,包括乘累加(multiplication andaccumulation, MAC)、汉明距离和绝对值差和(sum of absolute difference, SAD)(图1(b))。
第三个层次主要从加速卷积神经网络算法(Convolutional Neural Network, CNN)、分类器算法、模式识别算法(k-nearest neighbor, k-NN)和高级加密标准算法(Advanced Encryption Standard, AES)等应用方面进行总结与回顾(图1©)。

在这里插入图片描述

存内计算提升AI算力

存内计算:AI芯片领域的璀璨明星

在人工智能(AI)的时代浪潮中,存内计算技术被广泛认为是最适合AI的芯片架构,备受学术界和产业界的瞩目。2018年,国际固态电路会议(ISSCC)专门设立了存内计算议程,为该领域的深入讨论奠定了基础。而在2019年和2020年,ISSCC会议上关于存内运算的论文更是如火如荼,仅ISSCC2020就涌现了7篇与存内计算相关的论文。

学术界在电子器件领域的研究会议中也持续掀起存内计算的热潮。在2019年的IEDM会议上,有三个专门的议程,共呈现了二十余篇与存内计算相关的论文。这一现象反映了学术界对于存内计算技术前景的高度关注和积极探索。
在这里插入图片描述

除了学术界的深入研究外,产业界也纷纷加入存内计算的布局。IBM以其独特的相变存内计算技术为基础,积累了数年的技术经验。台积电正在全力推进基于ReRAM的存内计算方案。而在产业投资方面,诸如英特尔、博世、美光、Lam Research、应用材料、微软、亚马逊、软银等巨头已纷纷投资于基于NOR Flash的存内计算芯片。

事实上,利用存储器进行计算的研究可追溯至上世纪90年代。然而,长期以来,存内计算一直未能真正实现产业落地。这一现象的原因在于设计挑战较大,更为关键的是缺乏杀手级应用。然而,随着深度学习的大规模爆发,存内计算技术才开始逐渐走向产业化,成为AI芯片领域的璀璨明星。

存内计算技术的兴起得益于深度学习技术的蓬勃发展,为其提供了杀手级应用。深度学习的大规模应用使得对计算速度和效率的需求急剧增加,而传统的冯·诺依曼架构面临着瓶颈。存内计算技术通过将计算与存储结合,避免了数据在内存和处理器之间频繁传输的问题,极大地提高了计算效率。这为AI应用提供了更加高效、快速的计算解决方案,成为当前AI芯片领域的重要技术趋势。

知存科技存算一体芯片技术

在这里插入图片描述
知存科技引领存内计算技术:NOR FLASH芯片的崭新时代

存内计算技术正成为人工智能芯片领域的一颗璀璨明星,而知存科技凭借其先进的NOR FLASH存内计算技术正引领这一技术的新时代。
在这里插入图片描述

王绍迪在谈及NOR FLASH存内计算时指出,相较于使用数字电路计算,NOR FLASH在进行存内计算时能够显著减少数据搬运消耗的能量。更为引人瞩目的是,NOR FLASH在乘加法运算方面的功耗也相当低,这为芯片带来了百倍甚至千倍的功耗降低。考虑到外围电路的功耗,NOR FLASH存内计算最终能够实现的功耗降低在几十倍到上百倍之间,不同的算法和应用也将实现不同程度的提升。

目前,NOR FLASH存内计算技术已经在单芯片中支持了约300M左右的深度学习权重参数,无需额外的内存即可进行计算。这使得该技术能够满足大部分AI场景的需求。智能语音模型和端侧图像推理模型的大小通常在几百K到几十兆之间,而NOR FLASH存内计算芯片却能轻松胜任这些任务。
在这里插入图片描述

存内计算技术不仅能够支持主流的8比特模型精度,而且还在研发高达16比特的解决方案以满足更高要求的极限场景。王绍迪表示,知存科技的目标是未来存内计算技术能够覆盖60%-70%的AI应用,为各种场景提供高效、低功耗的计算解决方案。

知存科技在存内计算技术上的技术水平领先业界3-4年。早在2012、2013年,郭昕婕博士就开始研究基于NOR FLASH的存内计算技术。与其他公司相比,知存科技投入研发的时间更早,经历了一系列流片迭代,积累了大量的技术经验。存内计算涉及到的设计挑战包括控制电路、模拟电路、编程技术、可靠性设计和架构设计等方面。特别是模拟设计方面,由于FLASH进行的是模拟计算,需要满足数字电路算法的要求,这对模拟运算提出了严格的要求。

存内处理
“存”与“算”距离更近,但电路设计仍然是分离的,
计算由存储器内部的独立计算单元完成。
在这里插入图片描述

基于存内计算的语音芯片的实现挑战

深度学习已广泛应用于各类人工智能任务,但传统的深度学习加速器在面向数据流的计算架构优化上仍受制于传统冯·诺依曼体系结构所带来的「存储墙」问题。频繁的计算单元与存储单元间数据搬移导致了巨大的能耗,迫切需要创新性的解决方案。

存内计算技术(computing-in-memory,CIM)崭露头角,成为解决「存储墙」问题的有效途径。然而,传统存内计算仅支持有限的运算,例如向量内积。为了支持完整的AI应用,一支团队在可重构计算架构的基础上,融合了存内计算技术,成功设计了一款数模混合计算芯片,代号为Thinker-IM。这一创新性的芯片在语音识别应用中展现出了卓越的能耗表现。

挑战一:需要设计融合多个 SRAM-CIM 单元的计算架构和数据流调度方案。一般情况下,单个 SRAM-CIM 无法存下 DNN 中的全部权重。因此需要多个 SRAM-CIM 单元协同计算,需要考虑如何组织它们的计算方式。
挑战二:需要针对复杂 AI 任务设计多比特输出 SRAM-CIM 单元。对于简单 AI 任务(如手写体识别),SRAM-CIM 单元 1 比特输出精度可以满足识别需求。但对于复杂的识别任务(如语音识别),SRAM-CIM 单元 1 比特输出就会导致 Partial Sum(部分和)的精度损失,影响最终识别精度。
挑战三:RNN 推理过程是一种时域上的迭代计算,其计算过程相当耗时。我们发现在二值 RNN 中的累加过程中存在一些冗余计算。见图 2©,在累加过程中,如果中间数据足够大而超过剩余累加的最大值,将保证最终结果大于 0。此时剩余累加周期的计算就是冗余的,如能去除这些计算,将能够有效加速 RNN 计算。
Thinker-IM 架构如图所示,主要包括语音信号处理部分和基于 CIM 的 RNN 计算引擎。芯片设计中三项关键技术分别针对性解决了上述三个问题。

在这里插入图片描述

参考文献

1.中国科学院-基于静态随机存取存储器的存内计算研究综述:电路,功能以及应用
2.知存科技
3.Thinker 人工智能芯片团队 清华大学微电子所
4.存内计算白皮书

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

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

相关文章

家居设计软件的开发框架

家居设计软件的开发框架可以涵盖多个方面,包括图形渲染、用户界面、数据库管理等。以下是一些常用的开发框架和技术,可以用于家居设计软件的开发,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

linux解决访问/下载github连接超时或下载慢的问题

问题 我这里是树莓派从github下载资源出现无法连接,连接超时的问题,如下所示解决方式 修改/etc/hosts文件 例: sudo nano /etc/hosts #添加如下 192.30.255.112 github.com git 185.31.16.184 github.global.ssl.fastly.net这里以树莓派为…

element中calendar组件自定义显示(例如:日期上面显示工作负责人)vue+element自定义日历

目录 1. 属性了解&#xff08;[更多](https://element.eleme.cn/#/zh-CN/component/calendar)&#xff09;2. 代码实现3. 效果图 1. 属性了解&#xff08;更多&#xff09; 2. 代码实现 <template><div class"CalendarPage"><!-- 按年月筛选&#xf…

全链路压测的关键点是什么?

全链路压测是一种重要的性能测试方法&#xff0c;用于评估应用程序或系统在真实生产环境下的性能表现。通过模拟真实用户行为和流量&#xff0c;全链路压测能够全面评估系统在不同负载下的稳定性和性能表现。本文将介绍全链路压测的关键点&#xff0c;以帮助企业更好地理解和应…

QSqlRelationalTableModel 关系表格模型

一、 1.1 QSqlRelationalTableModel继承自QSqlTableModel&#xff0c;并且对其进行了扩展&#xff0c;提供了对外键的支持。一个外键就是一个表中的一个字段 和 其他表中的主键字段之间的一对一的映射。例如&#xff0c;“studInfo”表中的departID字段对应的是“departments…

linux环境安装git、maven、jenkins等

重启 jenkins的命令&#xff1a; systemctl start jenkins 如果没有vim 命令 可以使用 yum install vim 安装 vim git 下载包地址 https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz 1.安装依赖环境&#xff1a; yum install -y curl-devel expat-devel ge…

RK3588平台开发系列讲解(视频篇)RKMedia的VDEC模块

文章目录 一、 VDEC模块支持的编码标准介绍二、VDEC API的调用三、VDEC解码流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢RKMedia是RK提供的一种多媒体处理方案,可实现音视频捕获、音视频输出、音视频编解码等功能。 一、 VDEC模块支持的编码标准介绍 RK3688 V…

【C/C++ 04】归并排序

归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;也是用空间换时间思维的体现。 将已有序的子序列合并&#xff0c;得到完全有…

洁净室环境监测轮转系统lighthouse多路切换采样系统 中邦兴业

顺序多路切换采样系统在监测颗粒趋势方面发挥着至关重要的作用&#xff0c;特别是在注重产品产量的应用。虽然GMP法规没有强制要求使用这样的系统&#xff0c;但这样的系统在半导体和磁盘驱动器等行业中得到了广泛应用。半导体行业依靠顺序多路切换采样系统来确保颗粒物水平保持…

QT5.14+VS2017安装踩过的一些坑

1.在QT中使用MSVC只能用VS2017&#xff0c;相应的调试器的版本只能用15.9&#xff0c;高于15.9的亲测都不行。完整的安装除了需要QT5.15和VS2017&#xff0c;还需要Windows SDK (10.0.22621) 下载地址&#xff1a;https://developer.microsoft.com/zh-cn/windows/downloads/win…

2023年06月CCF-GESP编程能力等级认证Python编程四级真题解析

一、单选题(共15题,共30分) 第1题 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A:编辑 B:保存 C:调试 D:编译 答案:D 第2题 排序算法是稳定的(Stable Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关…

网络协议 TCP协议

网络协议 TCP协议 文章目录 网络协议 TCP协议1. TCP协议段格式2. 可靠传输保障机制2.1 确认应答2.2 超时重传 3. 连接保障机制3.1 三次握手&#xff08;建立连接&#xff09;3.2 四次挥手&#xff08;断开连接&#xff09;3.3 TCP状态转换过程 4. 传输效率保障机制4.1 滑动窗口…

fastreport 控件 修改codebar的默认条码定界符

Codebar又称NW7条码&#xff0c;包括abcd0123456789:$/.共20个符号&#xff0c;类似code39码一样前后*号定界符&#xff0c;codebar只能以abcd四个字母为定界符&#xff0c;但fastreport默认的定界符不符合要求&#xff0c;经过反编译&#xff0c;发定它默认加上了A开头&#x…

【开源】基于Qt5的ROS1/ROS2人机交互软件(支持地图编辑/多点导航)

本项目基于Qt5开发&#xff0c;基于CMake进行构建&#xff0c;可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址&#xff1a; https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS…

Halcon 22.11语言修改

[编辑]> [设定偏好] [使用者界面]> [语言] 修改为zh_CN 重启程序, 修改为中文简体

C# .Net Framework Swagger

1.安装 Swagger 在NuGet程序包中安装以下文件 Swashbuckle: Swagger&#xff1a; Swagger.Net: 2.在项目APP_Start 文件夹下面找到 SwaggerNet.cs文件 1.注释掉这两行代码 2.将PreStart方法的内容修改为以下 public static void PreStart() {RouteTable.Routes.MapHttpRoute(…

web项目部署,一篇就搞定!

web部署的方式有很多&#xff0c;根据开发方式不同&#xff0c;部署方式也不同。最通用是docker部署&#xff0c;这个想必大家都熟悉。我们今天说另外一种。 部署过程 1、验证Jdk是否安装成功 2、验证Tomcat是否安装成功 3、验证Navicat 是否能连上数据库 4、创建数据库并导入…

C语言进阶之自定义类型

一、结构体 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1&#xff09;结构体的声明 struct tag {member - list; }variable - list;//变量列表 //例如描述一个学生 struct Stu {char name[20];//名字int age;//年龄char sex[5…

百无聊赖之JavaEE从入门到放弃(十五)包装类

目录 一.包装类概念 二.自动装箱和拆箱 三.包装类的缓存问题 一.包装类概念 基本数据类型的包装类 我们前面学习的八种基本数据类型并不是对象&#xff0c;为了将基本类型数据和对象之间实现互 相转化&#xff0c;Java 为每一个基本数据类型提供了相应的包装类。 Java 是…

树、二叉树、图

树 struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x): val(x), left(nullptr), right(nullptr) {} }二叉树的遍历 前序 Pre-Order&#xff1a;根 - 左子树 - 右子树&#xff1a;A BDHIEJCFG中序 In-Order&#xff1a;左子树 - 根 - 右子树&#xff1…