小巧/低功耗特性亮眼 Edge TPU锁定边缘应用
直接在边缘装置上利用训练好的模型进行推论,乃是未来人工智能应用发展的一大方向。 但边缘装置通常对尺寸、成本及功耗有相当严格的限制,因此,Google继先前发表云端机房用的TPU之后,又推出了针对边缘装置设计的Edge TPU。 Google的人工智能硬件布局,自此正式从云端走向终端。
2018年7月Google在其云端服务年会Google Cloud Next上正式发表其边缘(Edge)技术,与另两家国际公有云服务大厂Amazon/AWS、Microsoft Azure相比, Google对于边缘技术已属较晚表态、较晚布局者,但其技术主张却与前两业者有所不同。
除了同样提倡基础的物联网网关(IoT Gateway)软件Edge IoT Core、人工智能/机器学习(AI/ML)软件Edge ML外,还针对人工智能/机器学习推出专属的加速运算芯片,称为Google Edge TPU(图1) ,成为此次盛会一大焦点。
图1 Google发表仅有1美分铜板面积不到的人工智能加速运算芯片Edge TPU。
数据源:Google官网
在Google发表Edge TPU前已发表过Cloud TPU芯片,首次发表是在Google另一个更全面、更盛大的例行年会Google I/O 2016上。 Cloud TPU顾名思义用于云端机房,而TPU是TensorFlow Processing Unit的缩写,言下之意是针对TensorFlow而设计的硬件加速运算器, TensorFlow则是Google于2015年11月提出的人工智能框架,是目前诸多人工智能框架中的一大主流,其他知名的框架如Caffe/Caffe 2、Apache MXnet等。
目前人工智能框架百花齐放,其他常见的亦有Keras、PyTorch、CNTK、DL4J、Theano、Torch7、Paddle、DSSTNE、tiny-dnn、Chainer、neon、ONNX、BigDL、DyNet 、brainstorm、CoreML等。 若以简单譬喻而言,人工智能的开发撰写如同文书撰写,人工智能框架就如同记事本、Word等字处理器,功效在于协助与便利开发撰写。
Google自行开发设计的Cloud TPU仅用于自家云端机房,且已对多种Google官方云端服务带来加速效果,例如Google街景图服务的文字处理、Google相簿的照片分析、乃至Google搜索引擎服务等。 Google Cloud TPU也改版快速,2016年首次发表后2017年推出第二代,2018年推出第三代芯片(图2)。
图2 Google连续三年在Google I/O上揭露自研的Cloud TPU新技术动向。
数据源:Google官网
不过,Google之后对Cloud TPU的技术态度似有变化。 2018年2月宣布可申请租用TPU运算力,如同Google Cloud Platform(GCP)的公有云服务般,依据运算芯片的使用时间计费,每小时6.5美元(至2018年9月已降至4.5美元), 与GCP的CPU租用服务相比相当昂贵,GCP的CPU租用服务,以台湾彰化滨海工业区的机房(不同位置的机房费率不同)而言,标准型计价约在0.055至5.28美元间,且8种计费费率中有5种低于1美元/小时。
TPU租用费亦同样高于GPU租用,GCP的NVIDIA GPU租用费率约在0.49至2.48美元间,视规格等级而异(Tesla K80/P100/V100)。 Google Cloud TPU虽可租用,但Google是否愿意单独销售Cloud TPU给系统商,让系统商制造及销售TPU运算系统,仍待进一步观察。
在Google推出云端用的Cloud TPU后,让人未预料的是Google也针对边缘提出专属的TPU芯片,然在此前仍有些征兆,即2017年11月Google提出轻量版的TensorFlow Lite( 某种程度取代此前的TensorFlow Mobile),使电力有限的行动装置也能支持TensorFlow,2018年推出的Edge TPU芯片即是以执行TensorFlow Lite为主,而非原宗的TensorFlow。
Google Edge装置内的操作系统为Linux或Android Things,而后执行Google Edge IoT Core基础功能软件、Google Edge ML人工智能软件,并可选用配置Google Edge TPU。
图3左侧为物联网传感器,右侧为Google云端系统及服务。 另外Edge TPU也支持Android Neural Networks 神经网络应用程序编程接口(API),简称NNAPI(图4)。 NNAPI于在2017年12月Android 8.1释出时一同提出,NNAPI可视为TensorFlow Lite、Caffe2等框架的基础层。 由此可知Edge TPU所支持呼应并加速的软件,于2017年便已先行到位。
图3 Google Edge装置软硬件架构图
数据源:Google官网
图4 Google Android NNAPI系统架构图,NNAPI可透过硬件抽象层与驱动程序,运用GPU、特定处理器或数字信号处理器(DSP)等,使人工智能运算加速。
数据源:Google官网
与Cloud TPU不同的是,Edge TPU估将由Google销售给系统商,再由系统商配置于前端装置内,包含传感器节点、装置或门道器内,Edge TPU不是自用或租用而是销售。
虽然Google对Cloud TPU、Edge TPU的技术信息揭露均不多,但仍有若干信息可推测其背后意向与考虑。
首先是Google很明白Edge定位的系统运算力有限,所以Edge TPU的运算任务仅在于执行已训练完成的人工智能模型,即推测运算、推算工作(Inference,今日多译成「推论」),真正要大量耗费运算力的模型训练( Training),依然由充沛运算力的系统事先进行,如工作站、服务器、云端等,透过CPU/GPU/TPU进行训练。
其次,Edge TPU强调可同时执行处理多组每秒30张高清晰度画质的人工智能判别运算,显示Edge TPU将用于视讯影像类的人工智能应用,且为实时判别(30FPS)。
更进一步的说明,Edge TPU只负责人工智能的加速判别、加速推算,仅为加速器、协处理器的角色。 因此,必须与系统的主控芯片沟通联系,这方面Edge TPU提供了两种介接的方式,一是PCI Express接口,另一是USB接口。 两种接口均适合嵌入式设计,然PCI Express传输率较高,可避免传输瓶颈,而USB接口较可能定位在后装型运用,即前端装置已经存在,但仍可透过USB连接Edge TPU,带来加速效果。
也由于须与Edge装置整合,因此Edge TPU设计之初已尽可能减少功耗,虽然Google官方并未正式揭露,但已表态将与Google合作的台湾工控系统商也表示,其典型功耗(Thermal Design Power, TDP) 仅在1.8瓦,很明显只要现成芯片封装即可散热,几乎可不加散热片,更不需要马达风扇,便可让Edge TPU正常运作。
至于Edge TPU支持的运算格式则为int8、int16,即8位整数、16位整数的人工智能模型推算,但无法进行更高位数的整数,或者是浮点数的运算,如16位浮点数(FP16)。
Google一发表Edge TPU即有合作伙伴与应用的揭露,如南韩乐金(LG)将用于产线制造上;另外纽西兰、澳洲、英国的Smart Parking公司(顾名思义是与智能停车相关的方案商)也表态采用,Smart Parking不单采用Edge TPU,其后端系统也大量采用GCP服务;还有Xee公司将Edge TPU用于汽车驾驶辅助上,对影像与雷达数据进行分析,而后给予驾驶潜在危险警告,如路况变差、轮胎过度磨损等。 目前所知Google将Edge TPU诉求于三个目标,即制造、零售、汽车。
在Google尚未推出Edge TPU芯片前,其实Google已有使用前端的人工智能加速芯片,2011年Google购并Motorola Mobility,而后于2014年将Motorola Mobility售给Lenovo, 但Google仍保留下2个原属于Motorola Mobility的研究项目,而未移转给Lenovo,一是模块化手机项目Ara,另一是扩增实境技术项目Tango(此项目于2018年3月结束,改由ARCore技术接手)。
Google在2014年对外揭露Tango研究,此项目所发展的平板、手机等行动装置,即配置了Movidius公司的VPU芯片,VPU即Vision Processing Unit之意,更具体而言是视讯类型的人工智能运算、 推算加速芯片。
Movidius自身发展第一代VPU,而后在与Google合作Tango计划时则为第二代VPU,称为Myriad 2(芯片编号MA2150/MA2450,差别在于MA2150最高连接1Gbit内存, MA2450可至4Gbit)。 不仅Google采用,包含多轴无人机大厂大疆亦用于无人机上。 之后2016年英特尔(Intel)购并Movidius,接手后发展出第三代VPU,称为Myriad X(芯片编号MA2085/MA2485,MA2085封装内无内存,MA2485内含4Gbit内存)。
Movidius在被英特尔收购后,Google依然钟爱Movidius技术。 2017年底Google推出AIY Vision Kit的开发工具包,该套件内仍可见MA2450芯片的踪影。 AIY Vision Kit是Google用来推行其影像人工智能技术的评估套件,以树莓派计算机(Raspberry Pi, RPi)为基础提供扩充延伸的硬件配件,即可摸索与评估Google的影像人工智能技术。
而所谓的AIY是Google自创的复合字,是以人工智能(AI)与DIY(Do-It-Yourself自己动手做)二字迭合而成。 事实上Google在推出Vision Kit的同时也有推出Voice Kit,可供摸索评估Google的语音人工智能技术,但语音的人工智能运算其运算负荷并不吃重,不需要专属加速芯片。
从2014年的Tango到2017年底的AIY Vision Kit,Google均以第二代Movidius芯片为主,因此理论上顺其发展,Google即便在Edge环节有其技术主张,认为可配置人工智能硬件加速芯片, 应也会属意Movidius,而非自行研发Edge TPU。
不过,最终Google提出了Edge TPU,因此不得不推测,英特尔购并Movidius后,Google可能认为后续新发展并不完全合乎期待,过往Movidius为小型独立企业时,可能提供Google高度支持, 然英特尔可能对Movidius技术资产的后续延伸与新走向有不同的想法。
对此可若干比较第三代Movidius Myriad X与Edge TPU,前者支持FP16的16位浮点数推测运算及8位整数推算,而Edge TPU如前述仅支持8位整数及16位整数推算;Movidius Myriad系列仍可能顾及潜在市场机会最大化,虽未广泛支持多种AI框架,但至少支持两种现阶段主流框架,即TensorFlow与Caffe。
图5 Google在Tango项目与AIY Vision套件上均使用Movidius MA2450芯片。
数据源:Google官网
由此而论,Google可能对TensorFlow Lite寄予厚望,因而有专属设计的加速芯片Edge TPU,Edge TPU可能一直维持比Movidius Myriad系列更低规(无浮点数)、更专精(只支持TensorFlow Lite)的技术发展定位,更高阶的需求仍会选用Movidius Myriad系列,两者高低并用并行。
或者Google未来只属意自家Edge TPU,只在云端外推行Edge TPU,并一直维持低阶定位,不往更高阶发展,或Edge TPU仅是首发,未来将持续发展更高阶的Edge TPU,如此将与英特尔Movidius竞争, 甚在效能规格大幅强化后而与NVIDIA Xavier竞争。
认为Edge TPU将与Movidius竞争的另一支持,在于Edge TPU也将推出USB随身碟型态的开发/运用套件,并同样使用AIY之名推展。 早于Movidius未被英特尔收购前,Movidius即有提供USB随身碟型态的人工智能评估/运用套件(图6),英特尔收购Movidius套件产品仍持续,套件称为NCS(Neural Compute Stick)。
图6 英特尔、Google均以PCI Express接口开发板与USB接口随身碟型加速器,来推行其人工智能加速芯片。
数据源:英特尔、Google
另一需考虑的是,虽然Google在技术布局上已逐渐同时注重软硬件的均衡与呼应,自身对于硬件发展的主导与涉入也日深,但就过往经验而言Google的硬件技术策略仍经常摇摆,甚在短期内放弃,因此Edge TPU仍可能不是长期技术策略中的一环,而是一个技术尝试,特别是Cloud TPU、Edge TPU均为加速作用的协处理器,为选择性使用,必要时仍可由其他芯片实现相同运算效果,或在英特尔、 NVIDIA等芯片商给予更多技术发展承诺后,仍可能停止自有芯片发展路线。
其他产业推测也包含,Google Edge TPU的技术授权来自于Movidius,有可能初始使用Movidius技术与架构之后独立发展,也可能持续向英特尔Movidius取得授权, 而始终与英特尔Movidius主力销售芯片保持区隔与技术落差时间。
展望未来,Edge TPU由于将提供给系统商,估计日后揭露的技术信息将较Cloud TPU为多,Cloud TPU由于目前只在Google机房端配置,至多提供远程租用,因此可以不揭露更多技术信息, 事实上Google对于第三代Cloud TPU所揭露的信息,已明显少于前二代。
倘若Edge TPU推展顺遂,支持的系统伙伴日增,则可激励Google更快速发展新版Edge TPU。 若推展不如预期,则Google也可能自行推出官方版的Edge网关、Edge装置,作为产业示范,或自始至终不投入官方版示范,直接停止Edge TPU后续发展。
高通徐晧:无畏改变勇于挑战是高通科学家的底色
热门评论