如何设计神经网络

2025-05-08 18:13:37

1、1. 算法的类型设计一个硬件平台,首先我们要考虑算法是通用的还是专用的。一般来说,深度神经网络应用主要使用的是专用算法,但也不排除需要一些比较通用的算法作为辅助。在这种情况下,可能我们需要不同的类型的硬件来进行支持。比如我们之前在介绍DSP IP的文章中提到过,目前支持神经网络的DSP IP往往用一个比较通用的处理器实现传统的computer vision算法和控制功能,而用一个专门的convolution加速器实现卷积操作。更进一步,我们还需要看看算法是控制为主(control)和数据运算为主(computation),前者比较适合用CPU来实现,而后者则比较适合采用专用架构。

如何设计神经网络

3、3.处理性能确定处理性能指标的重要性不用再强调了。在深度神经网络应用中,一个比较常见的指标是GOPS(Giga Operations Per Second),是指每秒需要完成的操作(包括乘法,加法,访存等)的数量。由于神经网络最主要的运算是MAC(multiply–accumulate),也有时候也拿单位时间的MAC数需求作为性能指标的。处理的性能还可以分为峰值的需求和平均的情况。这对于硬件设计,特别是低功耗相关的设计还是非常重要的。

如何设计神经网络

5、5.效率效率指标主要是指能耗效率(消耗单位能量能够进行多少运算)和面积效率(单位的芯片面积支持的运算能力)。在神经网络实现中,常见的能耗效率指标是GOPS/W(每瓦的能量可以支持的GOPS),或者TOPS/W。而面积效率好像没有很统一的指标。

如何设计神经网络

7、7.成本实现一个应用的成本是多方面的,在之前的文章(脉动阵列 - 因Google TPU获得新生)里提到了nonrecurring cost(设计 design)和recurring cost(器件 parts)的概念。前者和设计难度以及架构的选择有很大关系,在相同难度的情况下,选择成熟,简单的设计或者IP都可以降低设计成本;后者则主要和产品(比如芯片)的出货量,生命周期等因素有关。对于很多应用来说,成本往往是决定性因素。而降低成本在很多时候比提高性能更有技术挑战。

如何设计神经网络

8、8. Time to Market最后,前面说的这些因素都可能被上市时间的要求打败。Google TPU(Google TPU 揭密)就选择一个相对简单的硬件架构和比较平庸的性能优化目标,这和它的部署时间的要求不无关系。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢