用FPGA实现机器学习应用?这几点因素要权衡
用FPGA实现机器学习应用?这几点因素要权衡神经网络、算法和传感器等都还是处于不断演化的过程,一款固定的、标准的设计平台面对这些风云变幻的演进根本无力招架。此时此刻,FPGA技术成为数百家嵌入式视觉企业开发的首选,其中用于机器学习领域的已经超过40家。
越来越多的辅助驾驶、无人机、虚拟现实/增强现实、医学诊断、工业视觉等应用,为了追逐更高性能/差异化,纷纷对机器学习产生浓厚的兴趣。
已有几家初创企业在开发专门的机器学习芯片,但上述这些应用不仅仅要集成机器学习,还有计算机视觉,传感器融合和连接。如果要开发这么一整套独特的性能组合,可能要花费几亿美元才能推出第一款芯片,而且从各种规格的确定落实到推出样片,可能需要三年以上。
更别提这三年过程当中还有一个挑战:那就是神经网络、算法和传感器等都还是处于不断演化的过程,一款固定的、标准的设计平台面对这些风云变幻的演进根本无力招架。此时此刻,FPGA技术成为数百家嵌入式视觉企业开发的首选,其中用于机器学习领域的已经超过40家。
那么问题来了,面对市场上最热门的人工智能CPU/GPU芯片,全可编程方案的优缺点是什么?产量达到多少以后就不再合适?
秒杀对手的性能,是怎么算出来的?
赛灵思有一个公开的性能对比:针对 Zynq SoC 的 reVISION堆栈与 Nvidia Tegra X1 进行基准对比,得出下图这个惊人的数据: reVISION 堆栈在机器学习方面单位功耗图像捕获速度提升 6 倍,在计算机视觉处理的帧速率提升 42 倍,时延仅为 1/5(以毫秒为单位),这些对实时应用而言都是至关重要的。
既然和竞争对手做对比,一定是在相同价格的芯片之上做的一些性能对比。在接到EDN记者的疑问后,赛灵思嵌入式视觉和SDSoC高级产品经理Nick Ni用详细数据解答了此疑问。
6倍、42倍和1/5,这几个数据都是基于同一基础的。
“像机器学习的6倍的图像/秒/瓦是用谷歌来做编程。比如Xilinx我们使用ZU9可以达到370,我们的功率达到7W,我们使用一样的GoogleNet,我们可以看到Nvidia已经在公开他们最好的数据,所以我们就用他们这些数字,所以就算出来6X。”Ni指出。
在42倍帧/秒/瓦,则是用最优化的这些库来做比较。
在竞争分析中使用英特尔(Altera)的 Arria 10 器件与赛灵思的 Zynq UltraScale+ MPSoC 对比。在进行嵌入式视觉应用计算效率比较时,选择的器件有可比的 DSP 密度和器件功耗:
响应速度来源于架构
响应速度在汽车驾驶中直接影响着安全距离。
“1/5时延有不一样的方法来算,我们的算法是直接用了深度学习/机器学习,因为很多时候如果知道深度学习的话,可以用不一样的方法来做,你输入一个图像进去,反应速度就是这个图像什么时候能够出来,我们可以看到5倍的速率差异。”Ni表示。现在一些硬件的专业客户如果他们花费很多的精力或者是时间的投入,他们有可能可以实现只有1/12的时延。
响应速度快,其实和赛灵思的架构是息息相关的,如下图所示。“典型的嵌入式的GPU和典型的SoC,他的传感器的数据是需要外部存储,在处理过程中需要不断的去访问外部存储。但是Zynq能直接获得数据流,直接经过传感器融合处理,再进行决策,响应时间大大缩短。”
赞,谢谢分享。。。。。:lol 用FPGA实现机器学习应用?这几点因素要权衡 先赞后看 6
页:
[1]