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是大脑在硅片镜面上的微弱呈现。

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

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

相关文章

基于FPGA的电风扇控制器verilog,视频/代码

名称:基于FPGA的电风扇控制器verilog 软件:QuartusII 语言:Verilog 代码功能: 基于FPGA的电风扇控制器 运用 EDA SOPO实验开发系统设计一个基于FPGA的电风扇定时开关控制器,能实现手动和自动模式之间的切换。要求: (1)KI为电…

Python桌面应用之XX学院水卡报表查询系统(Tkinter+cx_Oracle)

一、功能样式 Python桌面应用之XX学院水卡报表查询系统功能: 连接Oracle数据库,查询XX学院水卡操作总明细报表,汇总数据报表,个人明细报表,进行预览并且支持导出报表 1.总明细报表样式 2.汇总明细样式 3.个人明细…

卡巴斯基8(2009)杀毒软件

下载地址:https://user.qzone.qq.com/512526231/main https://user.qzone.qq.com/3503787372/main

Kafka KRaft模式探索

1.概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer,以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。 2.内容…

Flutter extended_image库设置内存缓存区大小与缓存图片数

ExtendedImage ExtendedImage 是一个Flutter库,用于提供高级图片加载和显示功能。这个库使用了 image 包来进行图片的加载和缓存。如果你想修改缓存大小,你可以通过修改ImageCache的配置来实现。 1. 获取ImageCache实例: 你可以通过PaintingBinding…

css 雷达扫描图

html 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css 雷达扫描</title><style>* {margin: 0;padding: 0;}body {background: #000000;height: 100vh;display: flex;align-items…

Java基础总结

0、Java语言 1.java和c 2.编译和解释 3.jre和jdk&#xff0c;jvm 简单来说&#xff0c;编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码&#xff1b;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立即执行。 Java 语言既具…

【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建

为摒弃在接受keil邮件&#xff0c;研究了下gun编译&#xff0c;以STM32F407为例&#xff0c;简单记录 1. 软件包准备 Git 选择对应版本直接安装即可https://git-scm.com/download/winmakegcc ​ 1&#xff09;将上述软件包放置于C盘根目录 2&#xff09;添加环境变量 3&am…

[SpringCloud] Eureka 与 Ribbon 简介

目录 一、服务拆分 1、案例一&#xff1a;多端口微服务 2、案例二&#xff1a;服务远程调用 二、Eureka 1、Eureka 原理分析 2、Eureka 服务搭建&#xff08;注册 eureka 服务&#xff09; 3、Eureka 服务注册&#xff08;注册其他服务&#xff09; 4、Eureka 服务发现…

鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工程管…

【组合计数】CF1866 H

Problem - H - Codeforces 题意 思路 不知道这种trick叫什么&#xff0c;昨天VP刚遇到过 设 f[x] 为恰好有一个最大值为 x 的方案数&#xff0c;我们要求这个&#xff0c;那就设 g[x] 为 至少有一个最大值为 x 的方案数&#xff0c;那么答案就是 f[x] g[x] - g[x - 1] 这里…

FL Studio21版无限破解版下载 软件内置破解补丁

FL Studio是一款非常好用方便的音频媒体制作工具&#xff0c;它的功能是非常的强大全面的&#xff0c;想必那些喜欢音乐创作的朋友们应该都知道这款软件是多么的好用吧&#xff0c;它还能够给用户们带来更多的创作灵感&#xff0c;进一步加强提升我们的音乐制作能力。该软件还有…

浅谈uniapp中开发安卓原生插件

其实官方文档介绍的比较清楚而且详细,但是有时候他太墨迹,你一下子找不到自己想要的,所以我总结了一下开发的提纲,也是为了自己方便下次使用。 1.第一步,下载官方提供的Android的示例工程,然后倒入UniPlugin-Hello-AS工程请在App离线SDK中查找,之后Android studio,编译运行项目…

Android Studio Gradle中没有Task任务,没有Assemble任务,不能方便导出aar包

Gradle中&#xff0c;没有Assemble任务 1. 在编译aar包或者编译module的时候&#xff0c;没有release包&#xff0c;我们一般都是通过assemble进行编译。 如果在Gradle中找不到task。 可以通过设置File->setting -->Experimental→取消勾选“Do not build Gradle task …

wordpress数据库迁移Invalid default value for ‘comment_date‘

问题说明 最近在往新的电脑上迁移一个wordpress网站&#xff0c;在往新电脑上的mysql数据库中导入数据时&#xff0c;报错&#xff1a;1067 - Invalid default value for comment_date。 异常分析 这个错误的字面意思就是字段‘comment_date’的默认值是无效的&#xff0c;于…

Flink将数据写入MySQL(JDBC)

一、写在前面 在实际的生产环境中&#xff0c;我们经常会把Flink处理的数据写入MySQL、Doris等数据库中&#xff0c;下面以MySQL为例&#xff0c;使用JDBC的方式将Flink的数据实时数据写入MySQL。 二、代码示例 2.1 版本说明 <flink.version>1.14.6</flink.version…

UE5 Blueprint发送http请求

一、下载插件HttpBlueprint、Json Blueprint Utilities两个插件是互相依赖的&#xff0c;启用&#xff0c;重启项目 目前两个是Beta的状态&#xff0c;如果你使用的平台支持就可以使用&#xff0c;我们的项目因为需要取Header的值&#xff0c;所有没法使用这两个插件&#xff0…

单链表的定义(数据结构与算法)

单链表的定义 单链表是一种常见的数据结构&#xff0c;用于存储元素的序列。它由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的引用&#xff08;指针&#xff09;。单链表中的节点之间通过指针连接起来&#xff0c;形成一个线性结构。单链表是一种…

【Elasticsearch】es脚本编程使用详解

目录 一、es脚本语言介绍 1.1 什么是es脚本 1.2 es脚本支持的语言 1.3 es脚本语言特点 1.4 es脚本使用场景 二、环境准备 2.1 docker搭建es过程 2.1.1 拉取es镜像 2.1.2 启动容器 2.1.3 配置es参数 2.1.4 重启es容器并访问 2.2 docker搭建kibana过程 2.2.1 拉取ki…

Git的远程仓库

Git的远程仓库 添加远程仓库从远程库克隆 添加远程仓库 你在本地创建了一个Git仓库后&#xff0c;又想在GitHub创建一个Git仓库&#xff0c;并且让这两个仓库进行远程同步&#xff0c;这样&#xff0c;GitHub上的仓库既可以作为备份&#xff0c;又可以让其他人通过该仓库来协作…