IBM展示非冯·诺依曼架构AI芯片NorthPole





 



我们正处于人工智能的“寒武纪大爆发”时期。在过去的十年中,人工智能已经从理论和小型测试发展到企业规模的使用案例。但是,用于运行人工智能系统的硬件虽然越来越强大,但在设计时却没有考虑到当今的人工智能。随着人工智能系统规模的扩大,成本也随之飙升。而摩尔定律,即处理器电路密度每年翻一番的理论,已经放缓。

但是,位于加利福尼亚州阿尔马登的 IBM 研究实验室经过近二十年的努力,终于完成了一项新的研究,它有可能彻底改变我们如何高效地扩展强大的人工智能硬件系统。

自半导体工业诞生以来,计算机芯片主要遵循相同的基本结构,即处理单元和存储待处理信息的内存是离散存储的。虽然这种结构使得设计更加简单,几十年来一直能够很好地扩展,但它也造成了所谓的冯-诺依曼瓶颈,即在内存、处理单元和芯片内的任何其他设备之间不断地来回切换数据都需要时间和能量。IBM 研究院的达曼德拉-莫德哈(Dharmendra Modha)和他的同事们从大脑的计算方式中汲取灵感,旨在改变这种状况。"莫德哈说:"它开辟了一条与冯-诺依曼架构完全不同的道路"。

过去八年来,Modha 一直在研究一种用于神经推理的新型数字人工智能芯片,这就是 NorthPole。它是 Modha在2014年开发的类脑芯片 TrueNorth 的延伸。在对流行的 ResNet-50 图像识别和 YOLOv4 物体检测模型的测试中,新的原型设备比目前市场上的任何其他芯片都表现出更高的能效、更高的空间效率和更低的延迟,速度大约是 TrueNorth 的 4000 倍。

NorthPole 芯片取得的第一批令人鼓舞的成果发表在今天的《科学》杂志上。Modha表示,NorthPole是芯片架构的一个突破,它在能源、空间和时间效率方面都有巨大的改进。以ResNet-50模型为基准,NorthPole的效率大大高于普通的12纳米GPU和14纳米CPU。(在这两种情况下,NorthPole 的能效是普通 12nm GPU 和 14nm CPU 的 25 倍(NorthPole 本身就是基于 12nm 节点处理技术构建的)。就每十亿个晶体管每秒所需的解释帧数而言,NorthPole 在延迟和计算所需空间方面也更胜一筹。根据 Modha 的说法,在 ResNet-50 上,NorthPole 的性能优于所有主流架构,甚至优于那些使用更先进技术工艺的架构,例如使用 4nm 工艺实现的 GPU。

它是如何做到比现有芯片的计算效率如此之高的呢?NorthPole 最大的不同之处在于,设备的所有内存都在芯片上,而不是单独连接。没有了冯-诺依曼瓶颈,该芯片进行人工智能推理的速度大大快于市场上的其他芯片。NorthPole 采用 12 纳米节点工艺制造,在 800 平方毫米内包含 220 亿个晶体管。它有 256 个内核,在 8 位精度下,每个内核每个周期可执行 2,048 次运算,在 4 位和 2 位精度下,运算次数有可能分别增加一倍和四倍。"Modha说:"这是一个芯片上的整体网络。
 



Modha说:"从架构上讲,NorthPole模糊了计算与内存之间的界限。"在单个内核层面,NorthPole表现为接近计算的内存,而在芯片外部,在输入输出层面,它表现为活动内存。这使得 NorthPole 很容易集成到系统中,并大大减轻了主机的负担。

但是,NorthPole 的最大优势同时也是一种限制:它只能轻松地从板载内存中提取数据。如果必须从其他地方获取信息,芯片上可能实现的所有加速都会被削弱。通过一种称为 "扩展"(scale-out)的方法,NorthPole 可以将更大的神经网络分解成适合 NorthPole 模型内存的更小的子网络,并将这些子网络连接到多个 NorthPole 芯片上,从而支持更大的神经网络。因此,虽然一个 NorthPole(或一组 NorthPole 的总和)上有充足的内存,可用于许多对特定应用有用的模型,但这种芯片并不是万能的。"Modha 说:"我们不能在上面运行 **-4,但我们可以为企业需要的许多模型提供服务。"当然,NorthPole 也只能用于推理。

这种功效意味着该设备也不需要笨重的液冷系统来运行--风扇和散热片就足够了--也就是说它可以部署在一些相当狭小的空间里。



NorthPole 的潜在应用
尽管对 NorthPole 芯片的研究仍在进行中,但其结构适合新兴的人工智能用例以及更成熟的用例。

在测试过程中,NorthPole 团队主要关注与计算机视觉相关的应用,部分原因是该项目的资金来自美国国防部。考虑的一些主要应用包括检测、图像分割和视频分类。但它也在其他领域进行了测试,如自然语言处理(在仅编码器的 BERT 模型上)和语音识别(在 DeepSpeech2 模型上)。该团队目前正在探索将纯解码器大型语言模型映射到 NorthPole 扩展系统。

一想到这些人工智能任务,各种天马行空的用例就会涌上心头,从自动驾驶汽车到机器人、数字助理或空间计算。许多需要实时处理大量数据的边缘应用都非常适合 NorthPole。例如,NorthPole 有可能成为将自动驾驶汽车从需要设定地图和路线才能在小范围内运行的机器,转变为能够对罕见的边缘情况进行思考并做出反应的设备。这些边缘情况正是 NorthPole 未来应用的甜蜜点。NorthPole 可使卫星监控农业和管理野生动物种群,监控车辆和货运以减少道路拥堵,安全操作机器人,以及检测网络威胁以确保企业安全。

下一步工作
这只是 Modha 在 NorthPole 上工作的开始。目前最先进的中央处理器是 3 纳米,而 IBM 本身已经在 2 纳米节点上进行了多年的研究。这意味着,除了基本的架构创新外,NorthPole 还可以在几代芯片处理技术上实现,从而不断提高效率和性能。


NorthPole大部分成员合照,中为Modha

但对 Modha 来说,这只是他过去 19 年职业生涯中的一个重要里程碑。在这段时间里,他一直在研究受大脑启发的数字芯片,他知道大脑是我们已知的最节能的处理器,并一直在寻找以数字方式复制大脑的方法。TrueNorth 的灵感完全来源于大脑中的神经元结构--其中的数字 "突触 "就像蜜蜂的大脑一样多。但 2015 年, Modha 坐在旧金山一个公园的长椅上,说他正在思考自己迄今为止的工作。他相信,将传统处理设备的精华与大脑的处理结构结合在一起,一定会有所收获,因为大脑中的记忆和处理都是穿插进行的。莫德哈认为,答案就是 "大脑启发的计算,但具有硅片的速度"。

在接下来的八年里, Modha 和他的同事们一心一意、密不透风地致力于将这一愿景变为现实。他们在阿尔马登默默无闻地工作着,直到今年,他们才就自己的工作发表过任何演讲或论文。每个人都带来了不同的技能和观点,但每个人都通力合作,因此团队的整体贡献远远大于各部分的总和。现在,我们的计划是展示 NorthPole 的能力,同时探索如何将设计转化为更小的芯片生产流程,并进一步探索架构的可能性。

这项工作源于一个简单的想法--我们如何才能制造出像大脑一样工作的计算机--经过多年的基础研究,我们终于找到了答案。如今,只有在 IBM 研究院这样的地方才有可能实现这一目标,因为这里有足够的时间和空间来探索计算领域的重大问题,以及这些问题会将我们带向何方。"NorthPole是大脑在硅片镜面上的微弱呈现。

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

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

相关文章

【24种设计模式】单例模式(Singleton Pattern)

当我们需要确保一个类只有一个实例时,可以使用单例模式。单例模式确保一个类只有一个实例,并提供一个全局访问点来获取该实例。 单例模式有多种实现方式,包括饿汉式、懒汉式和双重检查锁等。下面我们将分别介绍这些实现方式的特点和示例。 …

3ds Max2023安装教程(最新最详细)

目录 一.简介 二.安装步骤 软件:3ds Max版本:2023语言:简体中文大小:6.85G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU3GHz 内存16G(或更高)下载通道①百度网盘丨64位下载链接: …

Vue中的加密方式(js-base64、crypto-js、jsencrypt、bcryptjs)

目录 1.安装js-base64库 2. 在Vue组件中引入js-base64库 3.使用js-base64库进行加密 4.Vue中其他加密方式 1.crypto-js 2.jsencrypt 3.bcryptjs 1.安装js-base64库 npm install js-base64 --save-dev 2. 在Vue组件中引入js-base64库 import { Base64 } from js-ba…

Shopee买家通系统全自动化操作简单方便又快速

Shopee买家通系统是一款专门针对虾皮买家号所开发的全自动化操作系统,可以自动注册、自动加购加心愿单、自动下单等。 1、全自动化注册 准备好账号需要的资料后即可运行注册任务,程序运行时可以自动输入手机号、自动接收短信、自动输入账号密码。账号支…

用Visual Studio(VS)开发UNIX/Linux项目

目录 FTP是免不了的 正确设置头文件 组织项目结构 创建何种项目类型 FTP自动上传 大部分具有Windows开发经验的程序员会比较喜欢使用Visual Studio,而大部分Unix/Linux程序员则喜欢使用UltraEdit直接在主机上写代码。 为什么直接在主机上写代码呢,因…

FlutterUnit 周边 | 收录排序算法可视化

theme: cyanosis 1. FlutterUnit 更新:排序算法可视化 排序算法可视化是用视图层表现出算法执行过程中排序的过程,感谢 编程的平行世界 在 《十几种排序算法的可视化效果,快来看看!👀》》 一文中提供的算法支持。我进行…

单目3D目标检测[基于深度辅助篇]

基于深度辅助的方法 1. Pseudo-LiDAR Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving康奈尔大学https://zhuanlan.zhihu.com/p/52803631 首先利用DRON或PSMNET从单目 (Monocular)或双目 (Stereo)图像获取对应的…

dijkstra算法python

Dijkstra算法是一种用于寻找带权重图中从一个起始节点到其他节点的最短路径的算法。下面是一个使用Python实现Dijkstra算法的示例代码: import heapq def dijkstra(graph, start): # 创建一个字典来存储节点到起始节点的最短距离 distances {node: float(infinity)…

设计院图纸加密防泄密方案——天锐绿盾加密软件@德人合科技

天锐绿盾是一款专业的企业信息化防泄密软件,主要针对文档全生命周期进行加密保护,包括创建、修改、传输、归档、分发、销毁等全过程。它可以加强外发数据及终端离线的管理,对正常授权外带范围内的数据流程进行规范。设计图纸、文档等成果数据…

(免费领源码)java#Springboot#mysql装修选购网站99192-计算机毕业设计项目选题推荐

摘 要 随着科学技术,计算机迅速的发展。在如今的社会中,市场上涌现出越来越多的新型的产品,人们有了不同种类的选择拥有产品的方式,而电子商务就是随着人们的需求和网络的发展涌动出的产物,电子商务网站是建立在企业与…

顺序表的定义与实现(数据结构与算法)

一、顺序表的定义 1. 顺序表的定义 #define MaxSize 10 //定义最大长度 typedef struct{ ElemType data[MaxSize]; //用静态的“数组”存放数据元素int length; //顺序表的当前长度 …

Ubuntu设置允许root用户登录

1、激活root用户 sudo passwd root //设置root密码 su root //接着使用root登录 2、设置允许root通过ssh登录 nano /etc/ssh/sshd_config 将 PermitRootLogin 改为 yes 3、重启ssh service ssh restart 到这里就好了

SparkSQL的Shuffle分区设定及异常数据处理API(去重、缺失值处理)

一、Spark SQL的Shuffle分区数目设定 二、异常数据处理API (1)去重方法dropDuplicates (2)删除有缺失值的行方法dropna (3)填充缺失值数据fillna 一、Spark SQL的Shuffle分区数目设定 在允许spark程序时&a…

德语中第二虚拟式在主动态的形式,柯桥哪里可以学德语

德语中第二虚拟式在主动态的形式 1. 对于大多数的动词,一般使用这样的一般现在时时态: wrde 动词原形 例句:Wenn es nicht so viel kosten wrde, wrde ich mir ein Haus am Meer kaufen. 如果不花这么多钱,我会在海边买一栋房…

8. Cesium中的camera

1. 介绍 camera是viewer.scene中的属性,用来控制当前的可见域。viewer.camera 是快捷写法,访问的是 viewer.scene.camera,所以调用时这两种写法都行。介绍常用的view.carmera方法。 (1). setView Camera根据视图位置…

React 在非组件环境切换路由

我的react-router-dom版本是6.16.0。之前在react中是这样配置路由的 App.jsx import ReactDOM from react-dom/client; import { HashRouter, Route, Routes } from react-router-dom;const root ReactDOM.createRoot(document.getElementById("app")); root.rend…

Python实验项目4 :面对对象程序设计

1:运行下面的程序,回答问题。 (1)说明程序的执行过程; (2)程序运行结果是什么? # (1)说明程序的执行过程; # (2)程序运行…

android开发使用OkHttp自带的WebSocket实现IM功能

一、背景 android app开发经常会有IM需求,很多新手不晓得如何入手,难点在于通讯不中断。其实android发展到今天,很多技术都很完善,有很多类似框架可以实现。例如有:okhttp自带的websocket框架、easysocket等等。本文主…

vite工具官方地址 +前端工具插件

该项目与 Vite 一起提供服务和捆绑。推荐的 IDE 设置是 ** VSCode Volar。 **如果您需要测试组件和网页,请查看赛普拉斯和赛普拉斯组件测试。 有关更多说明,请参见。README.md vite官方地址

如何做一个无符号数识别程序

1.状态分析 我们可以把无符号数分为:整数,带小数,带指数部分三种形式。以此构建一个DFA。首先需识别输入是整数还是小数点,若是整数部分输入然后还要再循环识别一次是否有小数点,最后识别是否有指数部分,指…