美的风扇怎么拆卸图解,美的机械摇头风扇怎么拆解( 八 )


至于能效比 , 我看过的加速器 , 在支持INT8的算法下 , 可以做到 1.2 Tops/W (1Ghz@T16FFC) , 1 Tops/mm^2 , 并且正在向1.5 Tops/W靠近 。也就是说 , 1.5W可以获得2Tops (INT8) 的理论计算能力 。这个计算能力有多强呢?我这目前处理1080p 60 FPS的图像中的60x60及以上的像素大小的人脸识别 , 大致需要0.5 Tops的计算能力 , 2Tops完全可以满足 。当然 , 如果要识别复杂场景 , 那肯定是计算力越高越好 。
为什么固定流水的能效比能做的高?ASIC的能效比远高于通用处理器已经是一个常识 , 更具体一些 , DLA不需要指令解码 , 不需要指令预测 , 不需要乱序执行 , 流水线不容易因为等待数据而停顿 。下图是某小核各个模块的动态功耗分布 , 计算单元只占1/3 , 而指令和缓存访问占了一半 。
有了计算量 , 深度学习加速器对于带宽的需求是多少?如果SRAM足够大 , 1Tops的计算量需要5GB/s以下的带宽 。连接方法可以放到CPU的加速口ACP (跑在1.8 GHz的ARMv 8.2内部总线可以提供9 GB/s带宽) 。只用一次的数据可以设成非共享类型 , 需要和CPU交换或者常用的数据使用Cacheable和Shareable类型 , 既可以在三级缓存分配空间 , 还可以更高效的做监听操作 , 免掉刷缓存 。
不过 , 上述前提成立的前提是权值可以全部放到SRAM或者缓存 。对于1Tops INT8的计算量 , 所需权值的大小是512 GB/s(有重复) 。如果全部放DDR , 由于手机的带宽最多也就是30 GB/S , 是完全不够看的 。对于输入 , 中间值和输出数据 , 我在上文有个例子 , 一个273x128,128x128, 128x128 ,128x6 的4层INT8网络 , 需要70KB的SRAM(片内)放权值 , 共7万个 。但是输入 , 输出和中间结果加起来却只有535个 , 相对来说并不大 。这里的运算量是14万次(乘和加算2次) 。对于1T的运算量来说 , 类似 。中间数据放寄存器 , 输出数据无关延迟 , 只看带宽 , 也够 。最麻烦的就是权值 , 数据量大到带宽无法接受 。所以 , 只能把权值放进SRAM防止重复读取 , 从而免掉这500GB/s带宽 。我看到的有些深度学习的算法 , 权值在几十到200兆 , 这样无论如何是塞不进SRAM的 。哪怕只有10%需要读入 , 那也是50GB/s的带宽 。虽说现在有压缩算法压缩稀疏矩阵 , 有论文达到30-50倍的压缩率 , 但我看到的实际识别算法 , 压缩后至少也是20MB , 还是塞不进SRAM 。
图像识别/美颜相机:目前80%的图像、视频任务都是用CPU在处理
此外 , 移动端仅仅有神经网络加速器是远远不够的 。比如要做到下图效果 , 那首先要把人体的各个细微部位精确识别 , 然后用各种图像算法来打磨 。而目前主流图像算法和深度学习没有关系 , 也没看到哪个嵌入式平台上的加速器在软件上有很好的支持 。目前图像算法的支持平台还主要是PC和DSP , 连嵌入式GPU做的都一般 。
那这个问题怎么解决?我看到两种思路:
第一种 , GPU内置加速器 。下图是Verisilicon的Vivante改的加速器 , 支持固定流水的加速器和可编程模块Vision core(类似GPU中的着色器单元) , 模块数目可配 , 可以同时支持视觉和深度学习算法 。不过在这里 , 传统的图形单元被砍掉了 , 以节省功耗和面积 。只留下调度器等共用单元 , 来做异构计算的调度 。

推荐阅读