在去年于旧金山召开的Google Next大会上,Injong Rhee通过主题演讲披露了谷歌公司的两款全新硬件产品:一款开发单片,外加一款USB加速棒。作为这两款产品的核心,谷歌的Edge TPU扮演着关键角色——这款专用ASIC旨在将机器学习推理能力引入边缘设备。
在近一年之后,两款产品以“Coral”的名号推出了“Beta测试版”,且目前已经可供感兴趣的朋友购买。另外,这两款新硬件还将在本周晚些时候通过TensorFlow Dev峰会正式亮相。
“Edge TPU是由谷歌公司设计并制造的小型ASIC,能够以低功耗水平提高出色的ML推理性能。例如,其能够以良好的功率表现执行MobileNet v2等最先进的移动视觉模型,且fps可达100以上。这意味着你将能够在符合节能与隐私保护要求的前提下,将快速ML推理能力引入自己的嵌入式AI设备。”
机器学习的开发主要分两个阶段完成。第一步,我们需要在快速且强大的机器或设备集群上利用大量样本数据进行训练,而后将训练完成的网络部署至负责解释实际数据的应用程序当中。这一部署阶段,或者称“推理”阶段,正是Edge TPU以及两款新硬件的表现舞台。由于能够在更靠近数据的“边缘”位置运行这些训练完成的网络,开发人员终于可以在智能设备上实现“智能”,而非始终依赖于云端。如此一来,他们将能够构建起无需联网即可实现机器学习功能的智能产品。
Coral USB加速棒
Coral USB加速棒是一款插入式USB记忆棒,能够为现有Linux系统提供强大的ML推理功能。通过USB 3.0接口连接Edge TPU,设备即可快速对本地AI应用程序进行原型设计。
正如一年半之前英特尔公司发布的Movidius神经计算棒一样,Coral USB加速棒同样将谷歌的定制化ASIC设计成易拿易用的棒状外形,这看起来与普通U盘非常相似。然而,把二者放在一起,就能看出明显的区别。首先,Coral棒要小得多;之所以刻意关注体积,是因为此前已经有不少用户抱怨英特尔Movidius棒太大,插上之后会挡住邻近接口并导致其它设备无法接入。
之所以能够成功瘦身,部分原因在于Coral USB加速棒采用了可同时实时数据传输与电源供给的USB 3.0 Typer-C接口。然而,如果你的笔记本电脑上没有USB-C接口,Coral也支持直接将USB-C接入USB-A接口。
Coral USB加速棒,仍然可以看到AIY Projects的标记。
另外,Movidius棒在与采用ARM芯片的计算设备对接时(例如Raspberry Pi)存在不少早期兼容问题。好在Cora加速棒能够与Raspberry Pi良好配合,当然只能实现USB 2.0的传输速度。事实上,Coral同样适用于Debian Linux系统支持的任何64位ARM或x86平台。
Coral加速棒利用32位ARM Cortex-M0+微处理器构建而成,其运行主频为32 MHz,仅配备16 KB闪存与2 KB内存——这就是棒内Edge TPU所拥有的全部资源支持。有趣的是,产品参数表显示该USB加速棒在运行时应用需要消耗500 mA电量。
Coral开发单片
Coral开发单片是一款单片机,其中配备有可拆卸的系统模组(简称SOM),包含SOC、eMMC、无线电与谷歌Edge TPU。它非常适合那些需要快速实现ML推理功能的物联网设备及其它嵌入式系统。
Coral开发单片运行Debian Linux系统,其中包含一个拥有外设连接口的基板;此外,其还具备USB 2.0/3.0接口、DSI显示接口、MIPI-CSI摄像头接口、千兆以太网接口、3.5毫米音频插孔、用于立体声扬声器的2.54毫米4针终端、全尺寸HDMI 2.0a接口,两个数字PDM麦克风外加“与Raspberry Pi类似的”40针GPIO接头。
连接到基板上的是一个可拆卸的40 x 48毫米系统模组(简称SoM),其中央为一块NXP i.MX 8M处理器以及Edge TPU本体。该SoM具有加密协处理器、板载Wi-Fi并支持蓝牙4.1,外加1G LPDDR4内存与8GB eMMC。更多细节配置信息,请参阅该单片的产品参数表。
与能够开箱即用的USB加速棒不同,这款开发单片明显只是SoM单片的一种示例性方案。谷歌公司计划未来“批量”推出这类SoM单片,允许用户自行组装并利用单片之间的连接器实现PCB硬件定制,最终将其集成至各类商业产品当中。
作为产品开发工具,这款单片适用于那些希望在原型物联网设备及其嵌入式系统中快速引入机器学习推理能力的硬件开发人员。
另外,谷歌还提供与这款开发单片配套的摄像头。此摄像头采用500万像素(2582 x 1933像素)Omnivision OV5645传感器,并可接入开发单片的MIPI-CSI连接器中。摄像头的焦距为2.5毫米,定焦范围从10厘米到无限远,视野为84度。
相关软件
开发单片与USB加速棒皆以谷歌TPU软件堆栈为基础。各模型的开发环境为TensorFlow Lite,而非TensorFlow。开发完成后,这些模型将由Web编译器处理以运行在Edge TPU之上。此外,谷歌亦提供一些预编译模型供用户选择。
就目前的beta测试版来看,Edge TPU编译器仍然存在一些限制。不过相信在Coral项目结束为期一个月的beta测试之后,相信这些限制都将被撤销。
利用Web编译器,谷歌公司以一种巧妙的方式解决了英特尔Movidius硬件面临的一大难题——具体来讲,英特尔的方案需要另一台基于x86的开发设备对模型进行编译,否则其根本无法运行在Raspberry Pi(采用ARM基板)等加速器硬件之上。
与使用桌面或者嵌入式CPU的硬件方案相比,Edge TPU的模型推理性能应该明显更强。大约一个月之前,我们在Geekbench网站上发现了一段来自“Google Coral”这一神秘设备的性能参数,当时很多人认为这可能是一款即将推出的Android新手机。
利用ImageNet数据库当中模型输入大小为244 x 244的1000个类(其中只有Inception v4比较特殊,输入大小为299 x 299)进行模型推理性能比较。
当然,与CPU比较可能说明不了什么真正的问题。最值得关注的,还是Coral硬件真正投放市场之后,其与其它定制化加速器之间的性能较量——例如去年年底刚刚发布的新一代Movidius神经计算棒。请放心,我们将持续追踪小Coral们的最新表现。
上市时间
Coral开发单片的售价为149.99美元,而USB加速棒的价格则为74.99美元。虽然谷歌公司的官方网站要求感兴趣的朋友“……致电Mouser并提交部件编号进行订购”,但在Mouser网页中可以看到单片与加速棒都已经正式上架。加速棒产品页面提到宝贝有货而且随时可以发出,开发单片的页面则指出工厂交货时间为“17周”。不过千万别被骗了,根据我们的可靠消息来源,这里提到的“已无存货”或者关于新产品的其它交货问题,都将在……下个礼拜得到解决。因此,如果大家马上订购,应该很快就能拿到这些惹人喜爱的小东东。
另外,同样以Edge TPU为基础的PCI-e加速卡也在开发当中,谷歌公司还计划单独提供Coral开发单片上使用的40 x 48毫米系统模组(简称SoM),且支持批量订购。然而,这两款产品的上市时间都是“……今年晚些时候”,因此目前PCI-e卡和SoM暂时没戏。总之,如果大家想要尽快体验Edge TPU的威力,那么USB加速棒加Raspberry Pi才是最便捷的组合。
原文链接:
https://blog.hackster.io/say-hello-to-google-coral-cdbb49183864