早在 20 世纪 70 年代,科学家就已经设想将人类大脑的功能映射到硬件上,就是直接用硬件来“模拟”人类大脑的结构,这种方法称为神经拟态计算。经过近 50 年的发展,目前神经拟态技术终于开始走向商业化,这类硬件被称为神经拟态芯片。而人工智能加速器(或称“AI 芯片”)是一类专用于人工智能(特别是人工神经网络、机器视觉、机器学习等)硬件加速的微处理器或计算系统。在这样的发展背景下,一个新的问题产生了:神经拟态芯片会与 AI 芯片发生竞争吗?

  乍看之下,这种新型的神经拟态(neuromorphic)芯片与人工智能加速器这一类似的尖端领域有几个共同点。这两者都是为了处理人工神经网络而设计的,与 CPU 相比,这两者都提供了性能上的改进,而且都声称更为节能。

  不过,这种相似性也就到此为止了:神经拟态芯片只为被称为脉冲网络(spiking networks)的特殊神经网络而设计。而且它们的结构与传统计算机中看到的任何结构都有着本质上的区别(没有什么比乘积累加运算(multiply-accumulate)单元更传统的了)。随着新的应用和技术不断涌现,现在讨论这些设备的市场将会是什么样子的,可能还为时尚早。

  《电子工程专辑》(EE Times)就这些技术是真正互补还是有所重叠这一问题,请教了多名领先人工智能加速器公司首席执行官。

  最大的问题是,这些计算范式最终会不会进一步形成相互竞争的局面呢?

  Intel 可不这么认为。这家芯片巨头凭借其 Loihi 芯片在神经拟态计算研究方面的地位,以及凭借其数据中心 CPU 系列产品,加之收购了人工智能加速器公司 Habana Labs ,Intel 在人工智能加速领域独占鳖头。

  Intel 的神经元计算实验室主任 Mike Davies 认为,神经拟态计算并不能直接与传统的人工智能加速器相提并论,比如 Habana Labs 开发的那些加速器。Davies 称:“与大数据、监督式学习问题相比,神经拟态计算在不同的制度、不同的计算利基中是有用的。”

  目前的人工智能加速器是为深度学习而设计的,深度学习需要使用大量的数据来训练大型网络。这需要巨大的 I/O 带宽和内存带宽。

  Davies 补充说,“神经拟态模型与此完全不同,它们处理的是单个数据样本……当真实世界的数据到达芯片时,需要以尽可能低的延迟和功耗立即进行处理。”

  “与边缘计算设备的深度学习人工智能芯片相比,边缘计算设备的不同之处在于,我们也在研究能够适应并能够实时学习的模型,这些模型是基于深度学习范式不太支持的单个数据样本生成的。”

  换句话说,Intel 的观点是,“我们谈论的是针对完全不同类型的神经网络两种不同计算方法。”

  在人工智能加速器方面,Kalray 首席执行官 Eric Baissus 表示,他认为该公司的大规模并行处理器阵列(massively parallel processor array,MPPA)架构与一些新兴的神经拟态方法之间存在一些相似之处。

  “神经拟态计算非常有趣,这种新的思维方式非常接近我们的设想。”Baissus 表示,“人类大脑有很多功能是并行进行各自的计算,然后你将这些结果一点一点地整合起来,这和我们的架构设计方式非常接近。”

  Kalray 的最新芯片 Coolidge 可用来加速人工智能在数据中心和汽车领域中的应用。虽然 Coolidge 并不是一个纯粹的人工智能加速器,在边缘计算领域有更广泛的应用,但大规模并行处理器阵列确实适合人工智能加速,该公司在 CES 2020 上展示了 Coolidge 的人工智能用例。

  “我相信,我们会看到有趣的神经拟态产品。对此,我不会感到不安,因为首先,我认为我们的技术非常接近这种类型的方法。”Baissus 说,“我相信,市场如此之大,你将会看到许多不同类型架构的应用程序。”

  XMOS 首席执行官 Mark Lippet 表示,神经拟态计算的商业化应用仍需时日,尤其是针对其目标市场,包括物联网和消费设备。

  他说道:“我认为,这对我们来说太过遥远,短期内我们的经济视野不会出现这种情况的。”

  XMOS 的 Xcore 人工智能芯片 将该公司的 IP 集成到了人工智能加速器中,用于语音接口应用,这些应用需要人工智能实现关键词检测或字典功能。它适合于一个新的类别,即跨界处理器(crossover processors),它将应用处理器的性能与单片机的易用性、低功耗和实时操作相结合起来。

  Lippett 还表示,任何涉及到改变人们对编程系统的思维方式的技术,一旦进入市场,都将面临挑战。

  即使是基于 RISC 架构的 Xcore,也面临着市场挑战。Lippett 称,任何涉及新编程范式的技术都会遇到阻力。

  “我们得出的关键结论是,你需要非常接近现有的、熟悉的编程模型,才能快速采用。因此,我认为这就是一个挑战,从成本的角度来看,让这些技术的好处变得可行,同时还要让社区现有技能能够利用这些技术,否则,采用起来会非常缓慢。”他补充道,“我很高兴,我们在短期内不会与神经拟态计算竞争,但很明显,神经拟态计算是一项令人兴奋的技术,值得关注。”

  Hailo 首席执行官 Orr Danon 指出,软件是一个潜在的问题。

  他说,“我在软件领域工作了很多年,我一直关注那些在硬件层面上看起来不错,但在实际开发场景中却不可行的想法,我并不是说情况会如此,但这是一个主要的担忧。”

  Hailo 最近完成了 6000 万美元的 B 轮融资,其中部分资金将用于继续开发 Hailo-8 人工智能加速器芯片的软件。该架构混合了计算、存储和控制块,并依靠软件将相邻块分配到神经网络的不同层,具体取决于它们各自的需求。

  “我们不应该美化工具,而应该美化目的,”他说,“我们不想根据鸟类飞翔的原理来制造飞机。从大自然中获得灵感是好事,但问题是,你能得到什么价值?你是否真正解决了问题的正确部分?”

  Danno 表示,将新的计算架构限制在模仿大脑的某个特定部分,可能会导致瓶颈,他怀疑这可能比性能优势更重要。他称:“另一方面,我认为,如果你想带来创新和重大改进,你就必须采取大胆的方法。从这个意义上来说,我很喜欢神经拟态的做法,但在实现它们的承诺之前,它们确实必须证明之前的观点。”

  Graphcore 首席执行官 Nigel Toon 表示,该公司的人工智能加速器是为不同的垂直领域设计的。“我们认为这些神经拟态计算的公司不一定是我们直接的竞争对手。”他说,“就市场表现而言,它们通常都处于非常边缘的位置,试图开拓低功耗、接近传感器应用的乐器领域……也许以更传统的方式构建的神经网络会更适合这些应用,但它们肯定不能与 Graphcore 直接竞争,因为我们构建的是更大的、基于云计算的训练和大规模部署的推理系统。”

  至于神经拟态计算所面临的挑战,Toon 的话听起来似曾相似。他说:“软件,软件,还是软件!构建任何处理器的挑战都属于软件领域的范畴。太多时候,人们都是制作出有趣的处理器,然后就琢磨怎么在这些处理器上进行编程。而现实情况是,你需要弄清楚你要如何编程,然后去构建一个能有效支持的处理器。你必须了解软件编程方法,并构建一个处理器来实现这一点。”

  Graphcore 的方法始于这样一种认识,即机器学习模型本质上是大型的高维图,其中顶点是计算,边缘是计算元素之间的通信。该公司最初开发了在计算机级别上对图进行描述的软件,然后设计了一个处理器来处理它们。图的高维性在一般存储空间中很难处理,因为只有两块存储空间可以相邻存储。数据最终变得非常稀疏,问题的碎片散落在内存中。因此,Graphcore 在其智能处理单元芯片中放置了大量的内存和内存带宽。

  “最终,我们会发现的是,作为研究项目,神经拟态计算是有趣的。但这可能不是用硅制作高效处理器的方法。”Toon 说,“引用分子计算作为未来的范式,可能会与目前正在开发的神经拟态方法产生协同作用。分子计算是一个新兴的领域,利用 DNA 等生物分子作为计算机,以减少 Landauer 限制,即擦除一位信息所需的能量。”

  译注:Landauer 原理指出,擦除一位信息就要消耗能量 kTln2。它语言了计算过程物理极限的存在。Landauer 建立信息擦除原理的关键是引入逻辑不可逆 (logical irreversibility) 的概念。从计算的角度讲,任何普适的计算都必须包括初始化步骤。初始化擦除计算机已存的信息,使得计算机从任意一个可以达到的态 A 回到参考初态 R。由于计算机的每个逻辑状态必须对应于一个物理态,逻辑不可逆在物理上表现为自由度约化的耗散效应,是一种典型的不可逆过程。这就意味着,计算必然要消耗一定的能量,并以热量的形式散发掉。计算的速度越快,产生的热量就越多。当计算机芯片单位面积上集成的元件数目越多,发热的功率就越大。这种不可逆计算的耗热机制大大限制了计算机芯片的尺度,给出其物理极限,从而导致摩尔经验定律的终结。更为详细的解释可查阅 Wikipedia 的 Landauer’s principle 词条。

  Toon 说,“但是,半导体产业已经投资了数万亿美元来用硅制造计算机,我们知道如何做到这一点,也知道如何批量生产。也许最好的途径是研究出我们如何构建使用不同架构的硅计算机,并构建这些新的机器智能方法。”

更多相关文章

  1. Android简单的计算控件使用
  2. vue中的事件,条件渲染,列表渲染,计算属性,侦听器与组件通信
  3. 购物车的选择计算功能
  4. Python中使用OpenCV库来进行简单的气象学遥感影像计算
  5. Python中使用OpenCV库来进行简单的气象学遥感影像计算
  6. php变量的8种类型. 遍历php多维数组(foreach与for) 一个函数完成购
  7. php变量的8种类型 遍历php多维数组(foreach与for) 一个函数完成购
  8. javascript选项卡,轮播图与购物车的实现
  9. 事件,条件,列表渲染,计算属性与侦听器,组件之间的通信

随机推荐

  1. Android应用开发相关下载资源
  2. Android sms 发送、接收及格式
  3. android:windowSoftInputMode属性使用
  4. Android API Level对应Android版本一览表
  5. android参考例子
  6. Android系统版本与API Level对照表
  7. android 布局大全
  8. 使用 ViewStub 延迟展开视图
  9. android的两个设置标题主题属性
  10. LinearLayout和RelativeLayout布局中使用