2018年7月Google在其云端服务年会Google Cloud Next上正式发表其边缘(Edge)技术,与另两家国际公有云服务大厂Amazon/AWS、Microsoft Azure相比,Google对于边缘技术已属较晚表态、较晚布局者,但其技术主张却与前两业者有所不同。
Google AI布局逐渐走向边缘
除了同样提倡基础的物联网闸道器(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。
Google Edge软硬件架构概观
图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不是自用或租用而是销售。
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诉求于三个目标,即制造、零售、汽车。
Movidius与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后续策略、动向推测
展望未来,Edge TPU由于将提供给系统商,估计日后揭露的技术资讯将较Cloud TPU为多,Cloud TPU由于目前只在Google机房端配置,至多提供远端租用,因此可以不揭露更多技术资讯,事实上Google对于第三代Cloud TPU所揭露的资讯,已明显少于前二代。
倘若Edge TPU推展顺遂,支持的系统伙伴日增,则可激励Google更快速发展新版Edge TPU。若推展不如预期,则Google也可能自行推出官方版的Edge闸道器、Edge装置,作为产业示范,或自始至终不投入官方版示范,直接停止Edge TPU后续发展。