还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

距谷歌的Edge TPU发布已经过去大半年的时光,自从这个边缘计算设备发布后,一直在紧张的盼望着,左等右等终于亲自拿到手了这个心心念的谷歌Coral USB加速棒,这时最大的感受莫过于还好没放弃,终于等到你。

边缘计算

谷歌Coral USB加速棒是一款基于边缘计算的人工智能加速棒,这意味着我们可以在本地进行推理,而不需要连接到功能强大的类似服务器的主机。在这里,本地主要是指便携式(通常是电池供电的)设备。我们知道,很多多AI应用程序在云中运行,允许你在大量数据上运行繁重的模型,但这意味着您必须始终通过互联网连接发送数据,等待服务器执行繁重的工作,然后将结果发回。如果您使用有线连接,这可能会非常快,但在连接不良或只有无线连接的情况下可能需要几百毫秒甚至几秒钟。

另外,通常情况下我们喜欢即时的感觉(即没有延迟),大概是在100毫秒内的反应。100ms在计算方面看似乎是很长一段时间,但如果你增加一点输入和输出延迟,以及一些计算延迟,那100ms的预算可能很快就用完了,而此时你需要争取到即时这个概念那花费的代价可能是极其巨大的。

边缘计算就很好的解决了这样的问题,通过在几毫秒内在本地运行轻量级模型,您可以体验瞬间即时的输出,另外一些高刷新率的显示输出设备也是极其必要的,毕竟即使换句话说就是越快越好。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

谷歌Coral USB加速棒

谷歌Coral USB加速棒是USB连接的硬件加速器设备,包含新的Google Edge TPU(Tensor处理单元):小型ASIC(专用集成电路),在TensorFlow Lite深度学习框架上具有巨大性能(MobileNet V2 SSD上100 + fps) ,功率很小(官方只指定需要500mA 5V USB端口,因此最大功率为2.5Watt)。

如何加速推理?

谷歌Coral USB加速棒内置的ASIC是专门设计的电子元件,可以完成指定的任务。因此,与基本上可以执行任何操作的CPU不同,它们除了设计该执行的确切内容之外什么都不做。但是,CPU通常需要大约6个时钟周期来完成乘法运算,设计用于乘法运算的ASIC可以在不到1个时钟周期内完成,因为工程师可以准确预测每次数据流过它时会发生什么。 。因此,唯一需要的时间是来自具有最大晶体管数量的数据路径的输入和输出之间的传播延迟。如果有人对传播延迟,FET和时钟周期有疑问,可以查看CPU和数字逻辑如何工作的基础知识,这里不另做说明,很耗时。

计算

假设EdgeTPU中增加的传播延迟是10ps,这意味着有100GHz的数据点流过。这不像100GHz CPU时钟,但意味着每秒完成 100,000,000,000次乘法运算。这是我对EdgeTPU在宽线中的作用的猜测:它具有并行乘法,并且在乘法输出上具有金字塔状的加法架构。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

树莓派

树莓派是个神奇的“物种”,目前来说基本上在任何基于Linux的嵌入系统上看到它的身影。Coral USB加速棒支持运行基于Debian的Linux的系统,所以,很完美,树莓派上可以玩Coral USB加速棒,但是遗憾的是即便是目前最新的树莓派3B+也不支持USB3.0接口,所以根本就不能发挥出Coral USB加速棒的真实潜力,但毫无疑问的是,即便是将就下的USB2.0,相信也不会让你失望。

Pssst

相信不少人知道可以在ZedBoard上运行Jessie(Zynq7000)......想象一下,运行双核Cortex-A9,50万个逻辑单元和Coral Edge TPU并行运行,可能世界目前还没人看好我准备在上面做啥,或者做一些什么疯狂的事情...好吧,不吹了,直接开始吧。

如果你运行的RaspberryPi和Coral USB的组合,请单击 入门指南 查看如何设置(谷歌出品,强大炫酷而且易于使用),并在5分钟内运行Edge TPU上的demo演示。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

Binggo!几乎不需要反应时间就能识别到你的Face,如上图所示。

快速性能测试

这里修改了原始的分类演示demo,虽然做了完全相同的事情,但是用一个colibri的250x图像代替224x224,然后计算时间。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

colibri所用的图像中的鸟是Violet Sabrewing,如下图所示,显然,也没人关注。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

因此,综合上面的结果,在树莓派上是16的加速!也就是说分类推理上面能达到60-70fps的速率,我不清楚你是否了解,但这绝对是令人难以置信的,非常棒。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

同样,我清楚很多人都希望看到谷歌Coral USB加速棒和市面上一些不错的GPU比较,但这需要一点时间,我正在整理,但首要前提需要告诉大家,这显然不是一个公平的比较。比如GTX1080的功耗高达180W,与2.5W的Coral USB加速棒相比是巨大的,而且相比Coral USB加速棒的USB 2.0接口,GTX1080可以通过高速PCIe总线获取数据。

小结

通过对Coral USB加速棒的使用,至少我可以说,我对这玩意印象深刻,并且我也会继续测试它,可能还会在一些项目中使用,之后再分享相关的文章,下表是对谷歌Coral USB加速棒的一个性能总结,有兴趣的可以看看。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

以下是Coral USB加速棒配合树莓派的一个演示视频,非常酷,有兴趣的可以看看。

 

强烈推荐阅读:

  • 将高端医疗设备平民化——Spectra开源生物医学成像系统
  • 理解电容器泄露真谛,有助延长低功耗智能设备续航
  • 搭载全球首款集成三轴加速度计&温度计的ST单芯片传感器
  • 如何保持基于RISC-V的嵌入式设计灵活性?用Linux和Zephyr microPlatforms就好

距谷歌的Edge TPU发布已经过去大半年的时光,自从这个边缘计算设备发布后,一直在紧张的盼望着,左等右等终于亲自拿到手了这个心心念的谷歌Coral USB加速棒,这时最大的感受莫过于还好没放弃,终于等到你。

边缘计算

谷歌Coral USB加速棒是一款基于边缘计算的人工智能加速棒,这意味着我们可以在本地进行推理,而不需要连接到功能强大的类似服务器的主机。在这里,本地主要是指便携式(通常是电池供电的)设备。我们知道,很多多AI应用程序在云中运行,允许你在大量数据上运行繁重的模型,但这意味着您必须始终通过互联网连接发送数据,等待服务器执行繁重的工作,然后将结果发回。如果您使用有线连接,这可能会非常快,但在连接不良或只有无线连接的情况下可能需要几百毫秒甚至几秒钟。

另外,通常情况下我们喜欢即时的感觉(即没有延迟),大概是在100毫秒内的反应。100ms在计算方面看似乎是很长一段时间,但如果你增加一点输入和输出延迟,以及一些计算延迟,那100ms的预算可能很快就用完了,而此时你需要争取到即时这个概念那花费的代价可能是极其巨大的。

边缘计算就很好的解决了这样的问题,通过在几毫秒内在本地运行轻量级模型,您可以体验瞬间即时的输出,另外一些高刷新率的显示输出设备也是极其必要的,毕竟即使换句话说就是越快越好。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

谷歌Coral USB加速棒

谷歌Coral USB加速棒是USB连接的硬件加速器设备,包含新的Google Edge TPU(Tensor处理单元):小型ASIC(专用集成电路),在TensorFlow Lite深度学习框架上具有巨大性能(MobileNet V2 SSD上100 + fps) ,功率很小(官方只指定需要500mA 5V USB端口,因此最大功率为2.5Watt)。

如何加速推理?

谷歌Coral USB加速棒内置的ASIC是专门设计的电子元件,可以完成指定的任务。因此,与基本上可以执行任何操作的CPU不同,它们除了设计该执行的确切内容之外什么都不做。但是,CPU通常需要大约6个时钟周期来完成乘法运算,设计用于乘法运算的ASIC可以在不到1个时钟周期内完成,因为工程师可以准确预测每次数据流过它时会发生什么。 。因此,唯一需要的时间是来自具有最大晶体管数量的数据路径的输入和输出之间的传播延迟。如果有人对传播延迟,FET和时钟周期有疑问,可以查看CPU和数字逻辑如何工作的基础知识,这里不另做说明,很耗时。

计算

假设EdgeTPU中增加的传播延迟是10ps,这意味着有100GHz的数据点流过。这不像100GHz CPU时钟,但意味着每秒完成 100,000,000,000次乘法运算。这是我对EdgeTPU在宽线中的作用的猜测:它具有并行乘法,并且在乘法输出上具有金字塔状的加法架构。

还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测

  • 还好没放弃,终于等到你——基于边缘计算的谷歌Coral USB加速棒实测已关闭评论
    A+
发布日期:2019年07月03日  所属分类:参考设计