【AI硅脑】超越GPU,FPGA、ASIC和更智能的手机

2017 年 7 月 27 日 新智元

1新智元编译  

来源:theregister.co.uk

作者:Danny Bradbury   编译:刘小芹


【新智元导读】本文从云服务、on-device 和 hybrid 三个角度分析AI硬件的进步,以及各大芯片公司、巨头科技公司以及初创企业和研究机构如何将 CPU、GPU、FPGA 和 ASIC用于 AI 任务。



树莓派(Raspberry Pi)对计算机爱好者来说是最令人兴奋的发展之一。在世界各地,人们使用树莓派来自动化制造啤酒,制作机器人,改革STEM教育,等等。这些都是值得称赞的追求。同时,微软在用树莓派做什么呢?他们创造了一个攻击松鼠的喷水机器人。


微软的机器学习和优化小组里,一名研究人员看到松鼠从他的喂鸟器中偷走了花球茎和种子。研究小组于是训练了一个计算机视觉模型来检测松鼠,然后将其放在树莓派3上。每当有松鼠冒险接近喂鸟器,设备就会打开喷水系统进行驱赶。


微软的松鼠机器人不是这个故事的重点,重点是微软在一个ARM CPU上做起了卷积神经网络。这显示了大公司正在进一步推动硬件来支持AI算法。研究人员正在推动人工智能的能力,使其能够实现越来越多基本的任务,例如视觉和语音识别。


随着自主飞机、自动驾驶汽车等的技术越来越来越先进,硬件上的挑战也在增加。许多企业正在生产能够处理这些计算的定制芯片和计算节点。


分析公司 ABI Research 的研究主管 Jeff Orr 将AI硬件的进步分为三大领域:云服务,设备上(on-device),和混合(hybrid)。云服务的关注点在微软、亚马逊、谷歌等公司的超大型数据中心环境中运行的AI处理。


另一方面,设备上发生的处理更多,这是连接或延迟发送数据到云上的地方。Orr 说:“在智能手机或可穿戴设备,例如智能眼镜使用语音作为输入,这会继续增长。现在设备上只是没有大量的现实世界例子。”他认为增强现实是这方面的关键驱动力。


最后,hybrid方面的工作是的两个平台联合完成AI计算。这就是你的手机如何识别到你向它提问的内容,并使用基于云的人工智能去回答你的问题。


云:rAIning算法


云的重要性源自AI学习的方式。AI模型越来越多地转向深度学习,即使用具有许多层的复杂神经网络来创建更准确的AI程序。


神经网络的使用有两个方面:第一个是训练,网络分析大量数据以生成一个统计模型。这实际上是“学习”阶段。第二个是推理,神经网络对数据进行解释以产生准确的结果。训练这些网络需要消耗大量的计算能力,但训练负载可以分为许多同时运行的任务。这就是为什么具有双精度浮点和核数很多的GPU表现如此好的原因。


然而,神经网络越大,挑战也越大。英伟达 Accelerate Computing Group 副总裁 Ian Buck 表示,神经网络的规模每年都在翻倍。英伟达正在创造计算能力更强大GPU架构来应对,但该公司也在改变其数学的处理方式。


Buck说:“通过减少一些精度可以做到。”最初,神经网络的训练全部发生在32位浮点,但英伟达今年5月发布的一个具有32位内部数学的16位输入的Volta结构,优化了这一点。


根据Buck的说法,将计算精度降低到16位有两个好处。他说:“一方面,你可以利用更快的计算能力,因为处理器在较低分辨率下往往有更大的吞吐量。”削减精度也能增加可用带宽的量,因为每个计算获取的数据量更少。


“问题是,你能降低到何种程度?”Buck说,“如果精度太低,就不能训练。你永远达不到生产所需的精确度,或者会变得不稳定。”


超越GPU


在英伟达努力改进GPU的架构时,一些云供应商已经在使用GPU的替代架构来打造自己的芯片。谷歌的第一代TPU(张量处理器)最初专注于推理工作负载的8位整数。同样是在5月份,谷歌发布新一代TPU,提供浮点精度,并且既能用于推理,也能由于训练。这些芯片是专用集成电路(ASIC)。与CPU和GPU不同,ASIC是为特定目的设计的(最近你可能经常看到它们被用于比特币挖矿),而且不能被重新编程。


谷歌的规模非常大,足以负担与设计ASIC相关的非常高的非经常性支出(NRE),因为谷歌在基于AI的数据中心运营中节约了成本。谷歌在许多应用中使用ASIC,从识别街景试图到执行Rankbrain搜索查询,每当由TPU而不是GPU来执行某个操作时,谷歌都可以节省电力。


Moor Insights & Strategy的高性能计算和深度学习高级分析师Karl Freund说:“这能够节省很多钱。”


不过,他并不认为谷歌完全是为了省钱而这样做。他说:“我认为他们是为了完全控制硬件和软件堆栈。”如果谷歌是在AI上投注,那么谷歌在终端应用程序(例如自动驾驶车辆)到软件框架,到云,等等上面的控制也就可以理解。


FPGA以及更多


微软也不是只在驱赶松鼠,微软在自己的数据中心改造中使用现场可编程门阵列(FPGA)。FPGA类似ASIC,但它是可重新编程的,因此可以更新算法。它们被用于处理Azure中的网络任务,但微软也把FPGA用在诸如机器翻译这样的AI工作负载上。英特尔也想分AI工业的一杯羹,无论在哪里运行,包括云。到目前为止,英特尔的Xeon Phi高性能CPU已经被用于通用目的的机器学习的处理,其最新版本Knight’s Mill将与今年出货。


英特尔还有一些用于更具体的AI任务的加速器。在训练深度神经网络方面,英特尔将其希望寄托在 Lake Crest,这是它收购的 Nervana 出品的。这是一个协处理器,使用一种被称为HBM2的内存来克服数据传输性能的上限,比DDR4大约快12倍。


虽然这些大玩家在围绕GPU,FPGA和ASIC构建的系统间进行竞争,但其他人正在尝试从根本上改写AI架构。


据报道,Knuedge在为基于云的操作研发256核芯片,但目前没有更多消息。


英国的Graphcore公司今年发布了IPU。IPU(Intelligence Processing Unit)使用基于图形的处理,而不是GPU使用的向量(vector)或CPU使用的标量(scalar)处理。Graphcore 希望这将使得IPU能够在单个处理器适合训练和推理工作负载。它的技术的有趣的一点是,基于图形的处理被认为是减轻AI处理中最大的问题之一的方法——把数据从内存带到处理单元。


Wave Computing也专注于不同类型的处理,即使用所谓的数据流架构(data flow architecture)。它有一个专为数据中心运行设计的训练设置,可以达到2.9 PetaOPs /秒。


边缘AI


基于云的系统可以处理神经网络的训练和推理,手机、无人机等客户端设备主要是后者。它们需要考虑的是能量效率和低延迟计算。


英伟达的Buck说:“你没法依靠云来驱动你的无人车。”在决定避开前方某辆车之类千钧一发的决策时,你的车不可能等待连接到云。因此,所有的计算都必须在车上发生。英伟达为此推出了P4自动驾驶汽车平台。


FPGA在设备端也取得了长足的进步。英特尔拥有Arria,这是专为低耗能推理任务而设计的FPGA协处理器。初创公司KRTKL的首席执行官Ryan Cousens及其团队将一个低耗能双核ARM CPU固定到处理神经网络任务的FPGA。这个平台是众包的,名为Snickerdoodle,用户是希望得到无线I / O和计算机视觉能力的开发者和研究人员。


人工智能正在进入更小型的设备,例如你口袋里的手机。一些处理器供应商正在对他们的架构进行通用目的的改进,这也对AI处理有用。例如,ARM发布了性能更高的CPU,能够更好地处理机器学习任务。


Qualcomm的SnapDragon处理器现在拥有一个神经处理引擎,可以决定哪些位置的定制逻辑机器学习和神经推理任务应该运行(数字信号处理器中的语音检测和内置GPU上的图像检测)。它也支持用于图像识别的卷积神经网络。据报道,苹果也在计划自己的神经处理器,将传统电话程序卸载到专用芯片上。


更智能的手机


这对于ABI的Orr来说是有意义的,Orr说,尽管大部分活动在基于云的AI处理器中,但随着设备上能力的提升,未来几年将会从云上转移到设备上。除了例如AR之类的领域,这也可能帮助造出更聪明的智能助理,它们可以更好地理解我们的意思。


“它们不能以一部非常大型的,上面写满我们可能会说的话语的大辞典为依据来采取行动。”他说:“自然语言处理可以变得更加个人化,训练的是系统,而不是训练用户。”


这只能使用能在给定时间进行更多处理以推断上下文和意图的芯片。通过允许卸下并切换不同的词典,允许对特定个人可能说的所有事情进行调整和个性化。


这个领域的研究将继续发展,各个团队专注于推动推理架构的创新。MIT 电子工程教授 Vivienne Sze 说,在深度神经网络的推理中,消耗大部分能量的并不是计算。她说:“能源消耗的主要来源是将输入数据从存储器转移到MAC(multiply and accumulate)硬件,然后将数据从MAC硬件转回到内存这一过程。”


Sze教授在一个名为Eyeriss的项目工作,希望能够解决这个问题。她说:“在Eyeriss,我们开发了一个优化的数据流(名为row stationary),这减少了数据移动的量,特别是从大的内存移动的数据量。” 


还有更多的研究项目和初创公司在为AI开发处理器架构。虽然我们有一些只是营销噱头,但人们对于技术的新年显然是足够的,人们正在把这些技术诸如到硅芯片中。


随着基于云的硬件的不断发展,预计硬件将在无人机,手机和汽车上支持AI。


与此同时,微软的研究人员显然希望能够把他们的猎松鼠代码放到更小的芯片上,这次是在0.007mm的Cortex M0芯片。相比原先树莓派上的机器学习模型,这需要将模型缩小10000倍。



原文:https://www.theregister.co.uk/2017/07/24/ai_hardware_development_plans/?page=1



【号外】新智元正在进行新一轮招聘,飞往智能宇宙的最美飞船,还有N个座位

点击阅读原文可查看职位详情,期待你的加入~



登录查看更多
0

相关内容

FPGA:ACM/SIGDA International Symposium on Field-Programmable Gate Arrays。 Explanation:ACM/SIGDA现场可编程门阵列国际研讨会。 Publisher:ACM。 SIT: http://dblp.uni-trier.de/db/conf/fpga/
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
专知会员服务
80+阅读 · 2020年6月20日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
29+阅读 · 2020年3月5日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
硬件加速神经网络综述
计算机研究与发展
26+阅读 · 2019年2月1日
【工业智能】人工智能在智能制造中的应用
产业智能官
22+阅读 · 2019年1月11日
前端高性能计算(4):GPU加速计算
前端大全
7+阅读 · 2017年10月26日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
3+阅读 · 2018年5月28日
Arxiv
8+阅读 · 2018年1月30日
VIP会员
相关资讯
硬件加速神经网络综述
计算机研究与发展
26+阅读 · 2019年2月1日
【工业智能】人工智能在智能制造中的应用
产业智能官
22+阅读 · 2019年1月11日
前端高性能计算(4):GPU加速计算
前端大全
7+阅读 · 2017年10月26日
Top
微信扫码咨询专知VIP会员