零基础看懂全球 AI 芯片:详解「xPU」
随着 AI 概念火爆全球,做 AI 芯片的公司也层出不穷。为了让市场和观众能记住自家的产品,各家在芯片命名方面都下了点功夫,既要独特,又要和公司产品契合,还要朗朗上口,也要容易让人记住。比较有意思的是,很多家都采用了「xPU」的命名方式。
本文就来盘点一下目前各种「xPU」命名 AI 芯片,以及芯片行业里的各种「xPU」缩写,供吃瓜群众消遣,也供后来者起名参考。此外,除了「xPU」命名方式,本文也扩展了一些「xxP」方式的以 Processor 命名的芯片或 IP。此外的此外,拍脑袋拍出了一些 xPU 命名备选方案,用下划线标示,并欢迎读者一起来开脑洞。
有心在 AI 芯片发力的公司,赶紧先抢个字母吧。
APU
Accelerated Processing Unit。目前还没有 AI 公司将自己的处理器命名为 APU,因为 AMD 早就用过 APU 这个名字了。APU 是 AMD 的一个处理器品牌。AMD 在一颗芯片上集成传统 CPU 和图形处理器 GPU,这样主板上将不再需要北桥,任务可以灵活地在 CPU 和 GPU 间分配。AMD 将这种异构结构称为加速处理单元,即 APU。
Audio Processing Unit。声音处理器,顾名思义,处理声音数据的专用处理器。不多说,生产 APU 的芯片商有好多家。声卡里都有。
BPU
Brain Processing Unit。地平线机器人(Horizon Robotics)以 BPU 来命名自家的 AI 芯片。地平线是一家成立于 2015 年的 start-up,总部在北京,目标是「嵌入式人工智能全球领导者」。地平线的芯片未来会直接应用于自己的主要产品中,包括:智能驾驶、智能生活和智能城市。地平线机器人的公司名容易让人误解,以为是做「机器人」的,其实不然。地平线做的不是「机器」的部分,是在做「人」的部分,是在做人工智能的「大脑」,所以,其处理器命名为 BPU。相比于国内外其他 AI 芯片 start-up 公司,地平线的第一代 BPU 走的相对保守的 TSMC 的 40nm 工艺。BPU 已经被地平线申请了注册商标,其他公司就别打 BPU 的主意了。
Biological Processing Unit。一个口号「21 世纪是生物学的世纪」忽悠了无数的有志青年跳入了生物领域的大坑。其实,这句话需要这么理解,生物学的进展会推动 21 世纪其他学科的发展。比如,对人脑神经系统的研究成果就会推动 AI 领域的发展,SNN 结构就是对人脑神经元的模拟。不管怎么说,随着时间的推移,坑总会被填平的。不知道生物处理器在什么时间会有质的发展。
Bio-Recognition Processing Unit。生物特征识别现在已经不是纸上谈兵的事情了。指纹识别已经是近来智能手机的标配,电影里的黑科技虹膜识别也上了手机,声纹识别可以支付了... 不过,除了指纹识别有专门的 ASIC 芯片外,其他生物识别还基本都是 sensor 加通用 cpu/dsp 的方案。不管怎样,这些芯片都没占用 BPU 或 BRPU 这个宝贵位置。
CPU
CPU 就不多说了,也不会有 AI 公司将自己的处理器命名为 CPU 的。不过,CPU 与 AI 处理器并不冲突。
首先,很多公司的 AI 处理器中还是会使用 CPU 做控制调度。比如,wave computing 用的是 Andes 的 CPU core;Mobileye 用了好几个 MIPS 的 CPU core;国内的某些 AI 芯片公司用的 ARM 的 CPU core。
此外,在现有的移动市场的 AP 中,在 CPU 之外,再集成一两个 AI 加速器 IP(例如针对视觉应用的 DSP,见 VPU 部分)也是一种趋势。例如,华为近期就在为其集成了 AI 加速器的麒麟 970 做宣传。
另外一种趋势,做高性能计算 CPU 的公司也不甘错过 AI 的浪潮。例如,
-
Adapteva 一家做多核 MIMD 结构处理器的公司。2016 年 tapeout 的 Epiphany V 集成有 1024 个核。相对以前的版本,针对 deep learning 和加密增加了特定指令。
-
kalrayinc 一家做多核并行处理器的公司,有针对数据中心和自动驾驶的解决方案。最近公布了第三代 MPPA 处理器「Coolidge」的计划,并融资$26 Million。计划采用 16nm FinFET 工艺,集成 80-160 个 kalray 64-bit core,以及 80-160 个用于机器视觉处理和深度学习计算的协处理器。
D 是 Deep Learning 的首字母,以 Deep Learning 开头来命名 AI 芯片是一种很自然的思路。
Deep-Learning Processing Unit。深度学习处理器。DPU 并不是哪家公司的专属术语。在学术圈,Deep Learning Processing Unit(或 processor)被经常提及。例如 ISSCC 2017 新增的一个 session 的主题就是 Deep Learning Processor。以 DPU 为目标的公司如下。
-
Deephi Tech(深鉴)深鉴是一家位于北京的 start-up,初创团队有很深的清华背景。深鉴将其开发的基于 FPGA 的神经网络处理器称为 DPU。到目前为止,深鉴公开发布了两款 DPU:亚里士多德架构和笛卡尔架构,分别针对 CNN 以及 DNN/RNN。虽然深鉴号称是做基于 FPGA 的处理器开发,但是从公开渠道可以看到的招聘信息以及非公开的业内交流来看,其做芯片已成事实。
-
TensTorrent 一家位于 Toronto 的 start-up,研发专为深度学习和智能硬件而设计的高性能处理器,技术人员来自 NVDIA 和 AMD。
Deep Learning Unit。深度学习单元。Fujitsu(富士通)最近高调宣布了自家的 AI 芯片,命名为 DLU。名字虽然没什么创意,但是可以看到 DLU 已经被富士通标了「TM」,虽然 TM 也没啥用。在其公布的信息里可以看到,DLU 的 ISA 是重新设计的,DLU 的架构中包含众多小的 DPU(Deep Learning Processing Unit)和几个大的 master core(控制多个 DPU 和 memory 访问)。每个 DPU 中又包含了 16 个 DPE(Deep-Learning Processing Element),共 128 个执行单元来执行 SIMD 指令。富士通预计 2018 财年内推出 DLU。
Deep Learning Accelerator。深度学习加速器。NVIDA 宣布将这个 DLA 开源,给业界带来了不小的波澜。大家都在猜测开源 DLA 会给其他 AI 公司带来什么。参考这篇吧《从 Nvidia 开源深度学习加速器说起》。
Dataflow Processing Unit。数据流处理器。创立于 2010 年的 wave computing 公司将其开发的深度学习加速处理器称为 Dataflow Processing Unit(DPU),应用于数据中心。Wave 的 DPU 内集成 1024 个 cluster。每个 Cluster 对应一个独立的全定制版图,每个 Cluster 内包含 8 个算术单元和 16 个 PE。其中,PE 用异步逻辑设计实现,没有时钟信号,由数据流驱动,这就是其称为 Dataflow Processor 的缘由。使用 TSMC 16nm FinFET 工艺,DPU die 面积大概 400mm^2,内部单口 sram 至少 24MB,功耗约为 200W,等效频率可达 10GHz,性能可达 181TOPS。前面写过一篇他家 DPU 的分析,见传输门 AI 芯片|浅析 Yann LeCun 提到的两款 Dataflow Chip。
Digital Signal Processor。数字信号处理器。芯片行业的人对 DSP 都不陌生,设计 DSP 的公司也很多,TI,Qualcomm,CEVA,Tensilica,ADI,Freescale 等等,都是大公司,此处不多做介绍。相比于 CPU,DSP 通过增加指令并行度来提高数字计算的性能,如 SIMD、VLIW、SuperScalar 等技术。面对 AI 领域新的计算方式(例如 CNN、DNN 等)的挑战,DSP 公司也在马不停蹄地改造自己的 DSP,推出支持神经网络计算的芯片系列。在后面 VPU 的部分,会介绍一下针对 Vision 应用的 DSP。和 CPU 一样,DSP 的技术很长时间以来都掌握在外国公司手里,国内也不乏兢兢业业在这方向努力的科研院所,如清华大学微电子所的 Lily DSP(VLIW 架构,有独立的编译器),以及国防科大的 YHFT-QDSP 和矩阵 2000。但是,也有臭名昭著的「汉芯」。
EPU
Emotion Processing Unit。Emoshape 并不是这两年才推出 EPU 的,号称是全球首款情绪合成(emotion synthesis)引擎,可以让机器人具有情绪。但是,从官方渠道消息看,EPU 本身并不复杂,也不需要做任务量巨大的神经网络计算,是基于 MCU 的芯片。结合应用 API 以及云端的增强学习算法,EPU 可以让机器能够在情绪上了解它们所读或所看的内容。结合自然语言生成 (NLG) 及 WaveNet 技术,可以让机器个性化的表达各种情绪。例如,一部能够朗读的 Kindle,其语音将根据所读的内容充满不同的情绪状态。
FPU
先说一个最常用的 FPU 缩写:Floating Point Unit。浮点单元,不多做解释了。现在高性能的 CPU、DSP、GPU 内都集成了 FPU 做浮点运算。
Force Processing Unit。原力处理器,助你成为绝地武士。酷!
GPU
Graphics Processing Unit。图形处理器。GPU 原来最大的需求来自 PC 市场上各类游戏对图形处理的需求。但是随着移动设备的升级,在移动端也逐渐发展起来。
-
NVIDIA说起 GPU,毫无疑问现在的老大是 NVIDIA。这家成立于 1993 年的芯片公司一直致力于设计各种 GPU:针对个人和游戏玩家的 GeForce 系列,针对专业工作站的 Quadro 系列,以及针对服务器和高性能运算的 Tesla 系列。随着 AI 的发展,NVIDIA 在 AI 应用方面不断发力,推出了针对自动驾驶的 DRIVE 系列,以及专为 AI 打造的 VOLTA 架构。特别提一下 VOLTA,今年 5 月份,NVIDIA 发布的 Tesla V100 采用 TSMC 12nm 工艺,面积竟然 815mm^2,号称相关研发费用高达 30 亿美元。得益于在 AI 领域的一家独大,NVIFIA 的股价在过去一年的时间里狂涨了 300%。最后,也别忘了 NVIDIA 家还有集成了 GeForce GPU 的 Tegra 系列移动处理器。
-
AMD这几年 NVIDIA 的火爆,都快让大家忘了 AMD 的存在了。AMD 是芯片行业中非常古老的一家芯片公司,成立于 1969 年,比 NVIDIA 要早很多年。AMD 最出名的 GPU 品牌 Radeon 来自于其 2006 年以 54 亿美元收购的 ATI 公司(暴露年龄地说,本人的第一台 PC 的显卡就是 ATI 的)。本文第一个词条 APU 就是 AMD 家的产品。AMD 新出的 MI 系列 GPU 将目标对准 AI。
在移动端市场,GPU 被三家公司瓜分,但是也阻止不了新的竞争者杀入。
-
ARM 家的 Mali Mali 不是 ARM 的自创 GPU 品牌,来自于 ARM 于 2006 年收购的 Falanx 公司。Falanx 最初的 GPU 是面向 PC 市场的,但是根本就无法参与到 NVIDIA 和 ATI 的竞争中去,于是转向移动市场;并且 Falanx 最初的 GPU 的名字也不是 Mali,而是 Maliak,为了好记,改为 Mali,来自罗马尼亚文,意思是 small,而不是我们熟悉的吃蘑菇救公主的超级玛丽(SuperMALI)。
-
Imagination 的 PowerVR主要客户是苹果,所以主要精力都在支持苹果,对其他客户的支持不足。但是,苹果突然宣布放弃 PVR 转为自研,对 Imagination 打击不小,股价大跌六成。Imagination 现在正在寻求整体出售,土财快追,但是,美国未必批。
-
Qualcomm 的 Adreno 技术来自于 AMD 收购 ATI 后出售的移动 GPU 品牌 Imageon。有意思的是,名字改自于 ATI 的知名 GPU 品牌 Radeon;
-
VeriSilicon 的 Vivante Vivante(图芯)是一家成立于 2004 年的以做嵌入式 GPU 为主的芯片公司,于 2015 年被 VSI 收购。Vivante 的市场占有率较低。这里多加一段小八卦,Vivante 的创始人叫戴伟进,VSI 的创始人叫戴伟民,一句话对这次收购进行总结就是,戴家老大收购了戴家老二。哦,对了,戴家还有一个三妹戴伟立,创立的公司名号更响亮:Marvell。
-
Samsung 的。。。哦,三星没有自己的 GPU。作为一个 IDM 巨头,对于没有自家的 GPU,三星一直耿耿于怀。三星也宣布要研发自家的移动端 GPU 芯片,不过要等到 2020 年了。
再简单补充国内的两家开发 GPU 的公司:
-
上海兆芯兆芯是 VIA(威盛)分离出来的。兆芯于 2016 年针对移动端出了一款 GPU 芯片 ZX-2000,名字有点简单直接。主要技术来源于威盛授权,GPU 核心技术来自收购的美国 S3 Graphics。
-
长沙景嘉微电子 于 2014 年推出一款 GPU 芯片 JM5400。这是一家有国防科大背景的公司,与龙芯为合作伙伴,芯片主要应用在军用飞机和神舟飞船上。
Graph Streaming Processor。图形流处理器。这是 ThinCI(取意 think-eye)提出的缩写。ThinCI 是一家致力于打造 deep learning 和 computer vision 芯片的 start-up,由 4 名 Intel 前员工创立于 2010 年,总部在 Sacramento,在印度也有研发人员。ThinCI 的视觉芯片瞄准了自动驾驶应用,投资方有世界顶级汽车零部件供应商公司日本电装 DENSO。在刚结束的 hotchip 会议上,ThinCI 介绍了他们的 GSP(于是本文作者将 ThinCI 从 VPU 部分移到了这里),使用了多种结构性技术来实现任务级、线程级、数据级和指令级的并行。GSP 使用 TSMC 28nm HPC+工艺,功耗预计 2.5W。
HPU
Holographic Processing Unit。全息处理器。Microsoft 专为自家 Hololens 应用开发的。第一代 HPU 采用 28nm HPC 工艺,使用了 24 个 Tensilica DSP 并进行了定制化扩展。HPU 支持 5 路 cameras、1 路深度传感器(Depth sensor)和 1 路动作传感器(Motion Sensor)。Microsoft 在最近的 CVPR 2017 上宣布了 HPU2 的一些信息。HPU2 将搭载一颗支持 DNN 的协处理器,专门用于在本地运行各种深度学习。指的一提的是,HPU 是一款为特定应用所打造的芯片,这个做产品的思路可以学习。据说 Microsoft 评测过 Movidius(见 VPU 部分)的芯片,但是觉得无法满足算法对性能、功耗和延迟的要求,所有才有了 HPU。
IPU
Intelligence Processing Unit。智能处理器。以 IPU 命名芯片的有两家公司。
-
Graphcore Graphcore 公司的 IPU 是专门针对 graph 的计算而打造的。稍微说说 Graph,Graphcore 认为 Graph 是知识模型及相应算法的非常自然的表示,所以将 Graph 作为机器智能的基础表示方法,既适用于神经网络,也适用于贝叶斯网络和马尔科夫场,以及未来可能出现的新的模型和算法。Graphcore 的 IPU 一直比较神秘,直到近期才有一些细节的信息发布。比如:16nm,同构多核(>1000)架构,同时支持 training 和 inference,使用大量片上 sram,性能优于 Volta GPU 和 TPU2,预计 2017 年底会有产品发布,等等。多八卦一点,Graphcore 的 CEO 和 CTO 以前创立的做无线通信芯片的公司 Icera 于 2011 年被 Nvidia 收购并于 2015 年关闭。关于 IPU 更细节的描述,可以看唐博士的微信公号的一篇文章,传输门:解密又一个 xPU:Graphcore 的 IPU。
-
Mythic 另外一家刚融了$9.3 million 的 start-up 公司 Mythic 也提到了 IPU:「Mythic's intelligence processing unit (IPU) adds best-in-class intelligence to any device」。和现在流行的数字电路平台方案相比,Mythic 号称可以将功耗降到 1/50。之所以这么有信心,是因为他们使用的「processing in memory」结构。关于 Processing in Memory,又可以大写一篇了,这里就不扩展了。有兴趣的,可以 google 一下「UCSB 谢源」,从他的研究开始了解。
Image Cognition Processor。图像认知处理器 ICP,加拿大公司 CogniVue 开发的用于视觉处理和图像认知的 IP。跑个题,CogniVue 一开始是 Freescale 的 IP 供应商,后来于 2015 年被 Freescale 收购以进一步加强 ADAS 芯片的整合开发;随后,Freescale 又被 NXP 118 亿美元拿下;还没完,高通近 400 亿美元吞并了 NXP。现在 NXP 家的 ADAS SOC 芯片 S32V 系列中,就用到了两个 ICP IP。
Image Processing Unit。图像处理器。一些 SOC 芯片中将处理静态图像的模块称为 IPU。但是,IPU 不是一个常用的缩写,更常见的处理图像信号的处理器的缩写为下面的 ISP。
Image Signal Processor。图像信号处理器。这个话题也不是一个小话题。ISP 的功能,简单的来说就是处理 camera 等摄像设备的输出信号,实现降噪、Demosaicing、HDR、色彩管理等功能。以前是各种数码相机、单反相机中的标配。Canon、Nikon、Sony 等等,你能想到的出数码相机的公司几乎都有自己的 ISP。进入手机摄影时代,人们对摄影摄像的要求也越来越高,ISP 必不可少。说回 AI 领域,camera 采集图像数据,也要先经过 ISP 进行处理之后,再由视觉算法(运行在 CPU、GPU 或 ASIC 加速器上的)进行分析、识别、分类、追踪等进一步处理。也许,随着 AI 技术发展,ISP 的一些操作会直接被 end-2-end 的视觉算法统一。
JPU
请原谅鄙人的词汇量,没什么新奇的想法。。。。
KPU
Knowledge Processing Unit。嘉楠耘智(canaan)号称 2017 年将发布自己的 AI 芯片 KPU。嘉楠耘智要在 KPU 单一芯片中集成人工神经网络和高性能处理器,主要提供异构、实时、离线的人工智能应用服务。这又是一家向 AI 领域扩张的不差钱的矿机公司。作为一家做矿机芯片(自称是区块链专用芯片)和矿机的公司,嘉楠耘智累计获得近 3 亿元融资,估值近 33 亿人民币。据说嘉楠耘智近期将启动股改并推进 IPO。
另:Knowledge Processing Unit 这个词并不是嘉楠耘智第一个提出来的,早在 10 年前就已经有论文和书籍讲到这个词汇了。只是,现在嘉楠耘智将 KPU 申请了注册商标。
LPU
谁给我点灵感?
MPU
Micro Processing Unit。微处理器。MPU,CPU,MCU,这三个概念差不多,知道就行了。
Mind Processing Unit。意念处理器,听起来不错。「解读脑电波」,「意念交流」,永恒的科幻话题。如果采集大量人类「思考」的脑电波数据,通过深度学习,再加上强大的意念处理器 MPU,不知道能否成为 mind-reader。如果道德伦理上无法接受,先了解一下家里宠物猫宠物狗的「想法」也是可以的吗。再进一步,从 mind-reader 发展为 mind-writer,持续升级之后,是不是就可以成为冰与火中的 Skinchanger?
Mobile Processing Unit。移动处理器,似乎没什么意思。
Motion Processing Unit。运动处理器。解析人类、动物的肌肉运动?
题外话:并不是所有的 xPU 都是处理器,比如有个 MPU,是 Memory Protection Unit 的缩写,是内存保护单元,是 ARM 核中配备的具有内存区域保护功能的模块。
NPU
Neural-Network Processing Unit。与 GPU 类似,神经网络处理器 NPU 已经成为了一个通用名词,而非某家公司的专用缩写。由于神经网络计算的类型和计算量与传统计算的区别,导致在进行 NN 计算的时候,传统 CPU、DSP 甚至 GPU 都有算力、性能、能效等方面的不足,所以激发了专为 NN 计算而设计 NPU 的需求。这里罗列几个以 NPU 名义发布过产品的公司,以及几个学术圈的神经网络加速器。
-
中星微电子(Vimicro)的星光智能一号。中星微于 2016 年抢先发布了「星光智能一号」NPU。但是,这不是一个专为加速 Neural Network 而开发的处理器。业内都知道其内部集成了多个 DSP 核(其称为 NPU core),通过 SIMD 指令的调度来实现对 CNN、DNN 的支持。以这个逻辑,似乎很多芯片都可以叫 NPU,其他以 DSP 为计算核心的 SOC 芯片的命名和宣传都相对保守了。
-
Kneron这是一家位于 San Diego 的 start-up 公司,针对 IOT 应用领域做 deep learning IP 开发。Kneron 开发的 NPU 实现了 39 层 CNN,28nm 下的功耗为 0.3W,能效 200GFLOPs/W。其主页上给出的另一个能效数据是 600GOPs/W。此外,Kneron 同时也在 FPGA 开发云端的硬件 IP。据可靠消息,Kneron 也要在中国大陆建立研发部门了,地点涉及北京、上海、深圳。
-
VeriSilicon(芯原)的 VIP8000。VSI 创立于 2001 年。VSI 于今年 5 月以神经网络处理器 IP 的名义发布了这款代号 VIP8000 的 IP。从其公布的消息「VeriSilicon』s Vivante VIP8000 Neural Network Processor IP Delivers Over 3 Tera MACs Per Second」来看,这款芯片使用的并不是其 DSP core,而是内置了其 2015 年收购的 Vivante 的 GPU core。按照 VSI 的说法,VIP8000 在 16nm FinFET 工艺下的计算力超过 3 TMAC/s,能效高于 1.5 GMAC/s/mW。
-
DNPU。Deep Neural-Network Processing Unit。DNPU 来自于 KAIST 在 ISSCC2017 上发表的一篇文章。我把 DNPU 当做是 NPU 的一种别名,毕竟现在业内做的支持神经网络计算的芯片没有只支持「非深度」神经网络的。关于 DNPU 可以参考「从 ISSCC Deep Learning 处理器论文到人脸识别产品」。
-
Eyeriss。MIT 的神经网络项目,针对 CNN 的进行高能效的计算加速设计。
-
Thinker。清华微电子所设计的一款可重构多模态神经计算芯片,可以平衡 CNN 和 RNN 在计算和带宽之间的资源冲突。
Neural/Neuromorphic Processing Unit。神经/神经形态处理器。这和上面的神经网络处理器还有所不同。而且,一般也不以「处理器」的名字出现,更多的时候被称为「神经形态芯片(Neuromorphic Chip)」或者是「类脑芯片(Brain-Inspired Chip)」。这类 AI 芯片不是用 CNN、DNN 等网络形式来做计算,而是以更类似于脑神经组成结构的 SNN(Spiking Neural Network)的形式来进行计算。随便列几个,都不是「xPU」的命名方式。
-
Qualcomm 的 Zeroth。高通几年前将 Zeroth 定义为一款 NPU,配合以软件,可以方便的实现 SNN 的计算。但是,NPU 似乎不见了踪影,现在只剩下了同名的机器学习引擎 Zeroth SDK。
-
IBM 的 TrueNorth。IBM2014 年公布的 TrueNorth。在一颗芯片上集成了 4096 个并行的 core,每个 core 包含了 256 个可编程的神经元 neurons,一共 1 百万个神经元。每个神经元有 256 个突触 synapses,共 256 Mlillion。TrueNorth 使用了三星的 28nm 的工艺,共 5.4 billion 个晶体管。
-
BrainChip 的 SNAP(Spiking Neuron Adaptive Processor)。已经有了赌场的应用。
-
GeneralVision 的 CM1K、NM500 chip,以及 NeuroMem IP。这家公司的 CM1K 芯片有 1k 个神经元,每个神经元对应 256Byte 存储。虽然无法和强大的 TrueNorth 相提并论,但是已有客户应用。并且,提供 BrainCard,上面有 FPGA,并且可以直接和 Arduino 以及 Raspberry Pi 连接。
-
Knowm 这家 start-up 在忆阻器(memristor)技术基础上做「processing in memory」的 AI 芯片研发。不过,与前面提到的 Mythic(IPU 部分)不同的是,Known 做的是类脑芯片。Knowm 所用的关键技术是一种称为热力学内存 (kT-RAM) 的 memory,是根据 AHaH 理论 (Anti-Hebbian and Hebbian) 发展而来。
-
Koniku 成立于 2014 年的 start-up,要利用生物神经元来做计算,"Biological neurons on a chip"。主页在倒计时,可能要有重要进展公布,期待。
Optical-Flow Processing Unit。光流处理器。有需要用专门的芯片来实现光流算法吗?不知道,但是,用 ASIC IP 来做加速应该是要的。
PPU
Physical Processing Unit。物理处理器。要先解释一下物理运算,就知道物理处理器是做什么的了。物理计算,就是模拟一个物体在真实世界中应该符合的物理定律。具体的说,可以使虚拟世界中的物体运动符合真实世界的物理定律,可以使游戏中的物体行为更加真实,例如布料模拟、毛发模拟、碰撞侦测、流体力学模拟等。开发物理计算引擎的公司有那么几家,使用 CPU 来完成物理计算,支持多种平台。但是,Ageia 应该是唯一一个使用专用芯片来加速物理计算的公司。Ageia 于 2006 年发布了 PPU 芯片 PhysX,还发布了基于 PPU 的物理加速卡,同时提供 SDK 给游戏开发者。2008 年被 NVIDIA 收购后,PhysX 加速卡产品被逐渐取消,现在物理计算的加速功能由 NVIDIA 的 GPU 实现,PhysX SDK 被 NVIDIA 重新打造。
QPU
Quantum Processing Unit。量子处理器。量子计算机也是近几年比较火的研究方向。作者承认在这方面所知甚少。可以关注这家成立于 1999 年的公司 D-Wave System。DWave 大概每两年可以将其 QPU 上的量子位个数翻倍一次。
RPU
Resistive Processing Unit。阻抗处理单元 RPU。这是 IBM Watson Research Center 的研究人员提出的概念,真的是个处理单元,而不是处理器。RPU 可以同时实现存储和计算。利用 RPU 阵列,IBM 研究人员可以实现 80TOPS/s/W 的性能。
Ray-tracing Processing Unit。光线追踪处理器。Ray tracing 是计算机图形学中的一种渲染算法,RPU 是为加速其中的数据计算而开发的加速器。现在这些计算都是 GPU 的事情了。
SPU
Streaming Processing Unit。流处理器。流处理器的概念比较早了,是用于处理视频数据流的单元,一开始出现在显卡芯片的结构里。可以说,GPU 就是一种流处理器。甚至,还曾经存在过一家名字为「Streaming Processor Inc」的公司,2004 年创立,2009 年,随着创始人兼董事长被挖去 NVIDIA 当首席科学家,SPI 关闭。
Speech-Recognition Processing Unit。语音识别处理器,SPU 或 SRPU。这个缩写还没有公司拿来使用。现在的语音识别和语义理解主要是在云端实现的,比如科大讯飞。科大讯飞最近推出了一个翻译机,可以将语音传回云端,做实时翻译,内部硬件没有去专门了解。和语音识别相关的芯片如下。
-
启英泰伦(chipintelli)于 2015 年 11 月在成都成立。该公司的 CI1006 是一款集成了神经网络加速硬件来做语音识别的芯片,可实现单芯片本地离线大词汇量识别。
-
MIT 项目。今年年初媒体爆过 MIT 的一款黑科技芯片,其实就是 MIT 在 ISSCC2017 上发表的 paper 里的芯片,也是可以实现单芯片离线识别上 k 个单词。可以参考阅读「分析一下 MIT 的智能语音识别芯片」。
-
云知声(UniSound)。云知声是一家专攻智能语音识别技术的公司,成立于 2012 年 6 月,总部在北京。云知声刚刚获得 3 亿人民币战略投资,其中一部分将用来研发其稍早公布的 AI 芯片计划,命名「UniOne」。据官方透漏,UniOne 将内置 DNN 处理单元,兼容多麦克风、多操作系统。并且,芯片将以模组的形式提供给客户,让客户直接拥有一整套云端芯的服务。
Smart Processing Unit。聪明的处理器,听起来很 Q。
Space Processing Unit。空间处理器,高大上,有没有。全景摄像,全息成像,这些还都是处理我们的生活空间。当面对广阔的太阳系、银河系这些宇宙空间,是不是需要新的更强大的专用处理器呢?飞向 M31 仙女座星系,对抗黑暗武士,只靠 x86 估计是不行的。
TPU
Tensor Processing Unit。Google 的张量处理器。2016 年 AlphaGo 打败李世石,2017 年 AlphaGo 打败柯洁,两次人工智能催化事件给芯片行业带来的冲击无疑就是 TPU 的出现和解密。Google 在 2017 年 5 月的开发者 I/O 大会上正式公布了 TPU2,又称 Cloud TPU。相比于 TPU1,TPU2 既可以用于 training,又可以用于 inference。TPU1 使用了脉动阵列的流处理结构,具体的细节可以参考如下的文章「Google TPU 揭密」。
UPU
Universe Processing Unit。宇宙处理器。和 Space Processing Unit 相比,你更喜欢哪个?
VPU
Vision Processing Unit。视觉处理器 VPU 也有希望成为通用名词。作为现今最火热的 AI 应用领域,计算机视觉的发展的确能给用户带来前所未有的体验。为了处理计算机视觉应用中遇到的超大计算量,多家公司正在为此设计专门的 VPU。
-
Movidius(已被 Intel 收购)。Movidius 成立于 2006 年,总部位于硅谷的 San Mateo,创始人是两个爱尔兰人,所以在爱尔兰有分部。Movidius 早期做的是将旧电影转为 3D 电影的业务,后期开始研发应用于 3D 渲染的芯片,并开始应用于计算机视觉应用领域(这说明:1,芯片行业才是高技术含量、高门槛、高价值的行业;2,初创公司要随着发展调整自己的战略)。Movidius 开发的 Myriad 系列 VPU 专门为计算机视觉进行优化,可以用于 3D 扫描建模、室内导航、360°全景视频等更前沿的计算机视觉用途。例如,2014 年,谷歌的 Project Tango 项目用 Myriad 1 帮助打造室内三维地图;2016 年,大疆的「精灵 4」和「御」都采用了 Movidius 的 Myriad 2 芯片。采用 TSMC 28nm 工艺的 Myriad2 中集成了 12 个向量处理器 SHAVE (Streaming Hybrid Architecture Vector Engine)。按照 Movidius 的说法,SHAVE 是一种混合型流处理器,集成了 GPU、 DSP 和 RISC 的优点,支持 8/16/32 bit 定点和 16/32 bit 浮点计算,而且硬件上支持稀疏数据结构。此外,Myriad2 中有两个 RISC 核以及 video 硬件加速器。据称,Myriad2 可以同时处理多个视频流。
-
Inuitive 一家以色列公司,提供 3D 图像和视觉处理方案,用于 AR/VR、无人机等应用场景。Inuitive 的下一代视觉处理器 NU4000 采用 28nm 工艺,选择使用 CEVA 的 XM4 DSP,并集成了深度学习处理器(自己开发?或者购买 IP?)和深度处理引擎等硬件加速器。
-
DeepVision一家总部位于 Palo Alto 的 start-up,为嵌入式设备设计和开发低功耗 VPU,以支持深度学习、CNN 以及传统的视觉算法,同时提供实时处理软件。
Visual Processing Unit。这里是 visual,不是 vision。ATI 一开始称自家显卡上的芯片为 VPU,后来见贤思齐,都改叫 GPU 了。
Video Processing Unit。视频处理器。处理动态视频而不是图像,例如进行实时编解码。
Vector Processing Unit。向量处理器。标量处理器、向量处理器、张量处理器,这是以处理器处理的数据类型进行的划分。现在的 CPU 已经不再是单纯的标量处理器,很多 CPU 都集成了向量指令,最典型的就是 SIMD。向量处理器在超级计算机和高性能计算中,扮演着重要角色。基于向量处理器研发 AI 领域的专用芯片,也是很多公司的选项。例如,前面刚提到 Movidius 的 Myriad2 中,就包含了 12 个向量处理器。
Vision DSP。针对 AI 中的计算机视觉应用,各家 DSP 公司都发布了 DSP 的 Vision 系列 IP。简单罗列如下。
-
CEVA 的 XM4,最新的 XM6 DSP。除了可以连接支持自家的硬件加速器 HWA(CEVA Deep Neural Network Hardware Accelerator ),也可以支持第三方开发的 HWA。前面提到的 Inuitive 使用了 XM4。可以参考。
-
Tensilica(2013 年被 Cadence 以 3.8 亿美元收购)的 P5、P6,以及最新的 C5 DSP。一个最大的特色就是可以用 TIE 语言来定制指令。前面微软的 HPU 中使用他家的 DSP。可以参考。
-
Synopsys 的 EV5x 和 EV6x 系列 DSP。可以参考。
-
Videantis 的 v-MP4 系列。Videantis 成立于 1997 年,总部位于德国汉诺顿。v-MP4 虽然能做很多机器视觉的任务,但还是传统 DSP 增强设计,并没有针对神经网络做特殊设计。
Wearable Processing Unit。一家印度公司 Ineda Systems 在 2014 年大肆宣传了一下他们针对 IOT 市场推出的 WPU 概念,获得了高通和三星的注资。Ineda Systems 研发的这款「Dhanush WPU」分为四个级别,可适应普通级别到高端级别的可穿戴设备的运算需求,可以让可穿戴设备的电池达到 30 天的持续续航、减少 10x 倍的能耗。但是,一切似乎在 2015 年戛然而止,没有了任何消息。只在主页的最下端有文字显示,Ineda 将 WPU 申请了注册商标。有关 WPU 的信息只有大概结构,哦,对了,还有一个美国专利。
Wisdom Processing Unit。智慧处理器。这个 WPU 听起来比较高大上,拿去用,不谢。不过,有点「脑白金」的味道。
XPU
不如干脆就叫 XPU,X 可以表示未知,一切皆有可能,类似 X Man,X File,SpaceX。
就在这篇快收尾的时候,获悉在今年的 hotchip 会议上,Baidu 公开了其 FPGA Accelerator 的名字,就叫 XPU。还没有具体细节可说,拭目以待吧。
YPU
Y?没想法,需要求助各位读者了。
ZPU
Zylin CPU。挪威公司 Zylin 的 CPU 的名字。为了在资源有限的 FPGA 上能拥有一个灵活的微处理器,Zylin 开发了 ZPU。ZPU 是一种 stack machine(堆栈结构机器),指令没有操作数,代码量很小,并有 GCC 工具链支持,被称为「The worlds smallest 32 bit CPU with GCC toolchain」。Zylin 在 2008 年将 ZPU 在 opencores 上开源。有组织还将 Arduino 的开发环境进行了修改给 ZPU 用。
其他非 xPU 的 AI 芯片
寒武纪科技(Cambricon) 中科院背景的寒武纪并没有用 xPU 的方式命名自家的处理器。媒体的文章既有称之为深度学习处理器 DPU 的,也有称之为神经网络处理器 NPU 的。陈氏兄弟的 DianNao 系列芯片架构连续几年在各大顶级会议上刷了好几篇 best paper,为其公司的成立奠定了技术基础。寒武纪 Cambricon-X 指令集是其一大特色。目前其芯片 IP 已扩大范围授权集成到手机、安防、可穿戴设备等终端芯片中。据流传,2016 年就已拿到一亿元订单。在一些特殊领域,寒武纪的芯片将在国内具有绝对的占有率。最新报道显示,寒武纪又融了 1 亿美元。
IntelIntel 在智能手机芯片市场的失利,让其痛定思痛,一改当年的犹豫,在 AI 领域的几个应用方向上接连发了狠招。什么狠招呢,就是三个字:买,买,买。在数据中心/云计算方面,167 亿美金收购的 Altera,4 亿美金收购 Nervana;在移动端的无人机、安防监控等方面,收购 Movidius(未公布收购金额);在 ADAS 方面,153 亿美金收购 Mobileye。Movidius 在前面 VPU 部分进行了介绍,这里补充一下 Nervana 和 Mobileye(基于视觉技术做 ADAS 方案,不是单纯的视觉处理器,所以没写在 VPU 部分)。
Nervana Nervana 成立于 2014 年,总部在 SanDiego,以提供 AI 全栈软件平台 Nervana Cloud 为主要业务。和硬件扯上关系的是,Nervana Cloud 除了支持 CPU、GPU 甚至 Xeon Phi 等后台硬件外,还提供有自家定制的 Nervana Engine 硬件架构。根据 The Next Platform 的报道「Deep Learning Chip Upstart Takes GPUs to Task」,Nervana Engine 使用 TSMC 28nm 工艺,算力 55 TOPS。报道发布不到 24 小时,就被 Intel 收购了,全部 48 位员工并入 Intel。Intel 以 Nervana Engine 为核心打造了 Crest Family 系列芯片。项目代码为「Lake Crest」的芯片是第一代 Nervana Engine,「Knights Crest」为第二代。哦,对了,Nervana 的 CEO 在创立 Nervana 之前,在高通负责一个神经形态计算的研究项目,就是上面提到的 Zeroth。
Mobileye一家基于计算机视觉做 ADAS 的以色列公司,成立于 1999 年,总部在耶路撒冷。Mobileye 为自家的 ADAS 系统开发了专用的芯片——EyeQ 系列。2015 年,Tesla 宣布正在使用 Mobileye 的芯片(EyeQ3)和方案。但是,2016 年 7 月,Tesla 和 Mobileye 宣布将终止合作。随后,Mobile 于 2017 年被 Intel 以$153 亿收入囊中,现在是 Intel 的子公司。Mobileye 的 EyeQ4 使用了 28nm SOI 工艺,其中用了 4 个 MIPS 的大 CPU core 做主控和算法调度以及一个 MIPS 的小 CPU core 做外设控制,集成了 10 个向量处理器(称为 VMP,Vector Microcode Processor)来做数据运算(有点眼熟,回去看看 Movidius 部分)。Mobileye 的下一代 EyeQ5 将使用 7nm FinFET 工艺,集成 18 个视觉处理器,并且为了达到自动驾驶的 level 5 增加了硬件安全模块。
比特大陆 Bitmain 比特大陆设计的全定制矿机芯片性能优越,让其大赚特赚。在卖矿机芯片之余,比特大陆自己也挖挖矿。总之,芯片设计能力非凡、土豪有钱的比特大陆对标 NVIDIA 的高端 GPU 芯片,任性地用 16nm 的工艺开启了自家的 AI 芯片之路。芯片测试已有月余,据传功耗 60W 左右,同步在招揽产品、市场人员。最近的推文爆出了这款 AI 芯片的名字:「智子(Sophon)」,来自著名的《三体》,可见野心不小,相信不就即将正式发布。
华为&海思市场期待华为的麒麟 970 已经很长时间了,内置 AI 加速器已成公开的秘密,据传用了寒武纪的 IP,就等秋季发布会了。还是据传,海思的 HI3559 中用了自己研发的深度学习加速器。
苹果苹果正在研发一款 AI 芯片,内部称为「苹果神经引擎」(Apple Neural Engine)。这个消息大家并不惊讶,大家想知道的就是,这个 ANE 会在哪款 iphone 中用上。
高通高通除了维护其基于 Zeroth 的软件平台,在硬件上也动作不断。收购 NXP 的同时,据传高通也一直在和 Yann LeCun 以及 Facebook 的 AI 团队保持合作,共同开发用于实时推理的新型芯片。
还有一些诸如 Leapmind、REM 这样的 start-up,就不一一列举。
结束语
AI 芯片,百家争鸣,机遇伴随挑战,今天你争我夺,明天就可能并购。随着这些「xPU」的不断推陈出新,26 个字母使用殆尽。但是,换个角度,其实也没关系,索性起个独特的名字。或者,抢先布局「processing in memory」路线,先占个「xxxRAM」或「xxxMem」名字。