Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

李泽南 王淑婷参与

IBM全新AI芯片设计登上Nature:算力是GPU的100倍

IBM 近日提出的全新芯片设计可以通过在数据存储的位置执行计算来加速全连接神经网络的训练。研究人员称,这种「芯片」可以达到 GPU 280 倍的能源效率,并在同样面积上实现 100 倍的算力。该研究的论文已经发表在上周出版的 Nature 期刊上。

用 GPU 运行神经网络的方法近年来已经为人工智能领域带来了惊人的发展,然而两者的组合其实并不完美。IBM 研究人员希望专门为神经网络设计一种新芯片,使前者运行能够更快、更有效。

直到本世纪初,研究人员才发现为电子游戏设计的图形处理单元 ( GPU ) 可以被用作硬件加速器,以运行更大的神经网络

因为这些芯片可以执行大量并行运算,而无需像传统的 CPU 那样按顺序执行。这对于同时计算数百个神经元权重来说特别有用,而今的深度学习网络则正是由大量神经元构成的。

虽然 GPU 的引入已经让人工智能领域实现了飞速发展,但这些芯片仍要将处理和存储分开,这意味着在两者之间传递数据需要耗费大量的时间和精力。这促使人们开始研究新的存储技术,这种新技术可以在同一位置存储和处理这些权重数据,从而提高速度和能效。

这种新型存储设备通过调整其电阻水平来以模拟形式存储数据,即以连续规模存储数据,而不是以数字存储器的二进制 1 和 0。而且因为信息存储在存储单元的电导中,所以可以通过简单地让电压通过所有存储单元并让系统通过物理方法来执行计算。

但这些设备中固有的物理缺陷会导致行为的不一致,这意味着目前使用这种方式来训练神经网络实现的分类精确度明显低于使用 GPU 进行计算。

负责该项目的 IBM Research 博士后研究员 Stefano Ambrogio 在此前接受 Singularity Hub 采访时说:「我们可以在一个比 GPU 更快的系统上进行训练,但如果训练操作不够精确,那就没用。目前为止,还没有证据表明使用这些新型设备和使用 GPU 一样精确。」

但随着研究的进展,新技术展现了实力。在上周发表在《自然》杂志上的一篇论文中(Equivalent-accuracy accelerated neural-network training using analogue memory),Ambrogio 和他的同事们描述了如何利用全新的模拟存储器和更传统的电子元件组合来制造一个芯片,该芯片在运行速度更快、能耗更少的情况下与 GPU 的精确度相匹配。

这些新的存储技术难以训练深层神经网络的原因是,这个过程需要对每个神经元权重进行上下数千次的刺激,直到网络完全对齐。Ambrogio 说,改变这些设备的电阻需要重新配置它们的原子结构,而这个过程每次都不相同。刺激的力度也并不总是完全相同,这导致神经元权重不精确的调节。

研究人员创造了「突触单元」来解决这个问题,每个单元都对应网络中的单个神经元,既有长期记忆,也有短期记忆。每个单元由一对相变存储器 ( PCM ) 单元和三个晶体管和一个电容器的组合构成,相变存储器单元将重量数据存储在其电阻中,电容器将重量数据存储为电荷。

PCM 是一种「非易失性存储器」,意味着即使没有外部电源,它也保留存储的信息,而电容器是「易失性的」,因此只能保持其电荷几毫秒。但电容器没有 PCM 器件的可变性,因此可以快速准确地编程。

神经网络经过图片训练后可以进行分类任务时,只有电容器权重被更新了。在观察了数千张图片之后,权重会被传输到 PCM 单元以长期存储。

PCM 的可变性意味着权重数据的传递可能仍然会存在错误,但因为单元只是偶尔更新,因此在不增加太多复杂性的情况下系统可以再次检查导率。「如果直接在 PCM 单元上进行训练,就不可行了。」Ambrogio 表示。

为了测试新设备,研究人员在一系列流行的图像识别基准中训练了他们的神经网络,并实现了与谷歌的神经网络框架 TensorFlow 相媲美的精确度。但更重要的是,他们预测最终构建出的芯片可以达到 GPU 280 倍的能源效率,并在同样平方毫米面积上实现 100 倍的算力。

值得注意的是,研究人员目前还没有构建出完整的芯片。在使用 PCM 单元进行测试时,其他硬件组件是由计算机模拟的。Ambrogio 表示研究人员希望在花费大量精力构建完整芯片之前检查方案的可行性。

他们使用了真实的 PCM 设备——因为这方面的模拟不甚可靠,而其他组件的模拟技术已经成熟。研究人员对基于这种设计构建完整芯片非常有信心。

「它目前只能在全连接神经网络上与 GPU 竞争,在这种网络中,每个神经元都连接到前一层的相应神经元上,」Ambrogio 表示。「在实践中,很多神经网络并不是全连接的,或者只有部分层是全连接的。」

交叉开关非易失性存储器阵列可以通过在数据位置执行计算来加速全连接神经网络的训练。图片来源:IBM Research

Ambrogio 认为最终的芯片会被设计为与 GPU 协同工作的形式,以处理全连接层的计算,同时执行其他任务。他还认为处理全连接层的有效方法可以被扩展到其它更广泛的领域。

这种专用芯片可以让哪些设想成为可能?

Ambrogio 表示主要有两种方向的应用:将 AI 引入个人设备,以及提高数据中心的运行效率。其中后者是科技巨头关注的重点——这些公司的服务器运营成本一直居高不下。

在个人设备中直接实现人工智能可以免去将数据传向云端造成的隐私性顾虑,但 Ambrogio 认为其更具吸引力的优势在于创造个性化的 AI。

「在未来,神经网络应用在你的手机和自动驾驶汽车中也可以持续地学习经验,」他说道。「想象一下:你的电话可以和你交谈,并且可以识别你的声音并进行个性化;或者你的汽车可以根据你的驾驶习惯进行个性化调整。」


原文链接:https://singularityhub.com/2018/06/11/this-new-chip-design-could-make-neural-nets-more-efficient-and-a-lot-faster/#sm.00010194wgrjkdfxt8k2etpx8mccu

工程IBMAI 芯片硬件
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

推荐文章
暂无评论
暂无评论~