一般来说 , 手机的物料成本中 , 处理器芯片(含基带)价格占了1/6左右 。一个物料成本90刀的手机 , 用的处理器一般在15刀以下 , 甚至只有10刀 。这个10刀的芯片 , 包含了处理器 , 图形处理器 , 基带 , 图像信号处理器 , 每一样都是高科技的结晶 , 却和肯德基全家桶一个价 , 真是有点惨淡 。然而 , 生产成本只是一部分 , 人力也是很大的开销 。一颗智能机芯片 , 软硬开发 , 测试 , 生产 , 就算全用的成熟IP , 也不会少于300人 , 每人算10万刀的开销 , 量产周期两年 , 需要6000万刀 。外加各种EDA工具 , IP授权和开片费 , 芯片还没影子 , 1亿刀就下去了 。
言归正传 , 手机上的应用 , 最直接的就是美颜相机 , AR和语音助手 。这些需求翻译成硬件指令 , 就是对8位整数点乘(INT8)和16位浮点运算(FP16)的支持 。具体怎么支持?曾经看到过一张图 , 我觉得较好的诠释了这一点:
智能手机和平板是安卓的天下 , 所有独立芯片商都必须跟着谷歌爸爸走 。谷歌已经定义了Android NN作为上层接口 , 可以支持它的TensorFlow , 以及专为移动设备定义的TensorFlow Lite 。而下层 , 针对各种不同场景 , 可以是CPU , GPU , DSP , 也可以是硬件加速器 。它们的能效比如下图:
可以看到 , 在TSMC16纳米工艺下 , 大核能效比是10-100Gops/W(INT8) , 小核可以做到100G-1Tops/W , 手机GPU是300Gops/W , 而要做到1Tops/W以上 , 必须使用加速器 。这里要指出的是 , 小核前端设计思想与大核完全不同 , 在后端实现上也使用不同的物理单元 , 所以看上去和大核的频率只差50% , 但是在逻辑运算能效比上会差4倍以上 , 在向量计算中差的就更多了 。
手机的长时间运行场景下 , 芯片整体功耗必须小于2.5瓦 , 分给深度学习任务的 , 不会超过1.5瓦 。相对应的 , 如果做到1Tops/W , 那这就是1.5T(INT8)的处理能力 。对于照片识别而言 , 情况要好些 , 因为通常不需要长时间连续的处理 。这时候 , CPU是可以爆发然后休息的 。语音识别对性能要求比较低 , 100Gops可以应付一般应用 , 用小核也足够 。但有些连续的场景 , 比如AR环境识别 , 每秒会有30-60帧的图像送进来 , 如果不利用前后文帮助判断 , CPU是没法处理的 。此时 , 就需要GPU或者加速器上场 。
上图是NVidia的神经网络加速器DLA , 它只有Inference的功能 。前面提到在手机上的应用 , 也只需要Inference来做识别 , 训练可以在服务端预先处理 , 训练好的数据下载到手机就行 , 识别的时候无需连接到服务端 。
DLA绿色的模块形成类似于固定的流水线 , 上面有一个控制模块 , 可以用于动态分配计算单元 , 以适应不同的网络 。稀疏矩阵压缩减少带宽 , 优化的矩阵算法减少计算量 , 外加SRAM(一个273x128, 128x128, 128x128 ,128x6 的4层INT8网络 , 需要70KB SRAM) 。我看到的大多数加速器 , 其实都是和它大同小异 , 有些加速器增加了一个SmartDMA引擎 , 可以通过简单计算预取所需的数据 。根据我看到的一些跑分测试 , 这个预取模块可以把计算单元的利用率提高到90%以上 。
推荐阅读
- 华凌空调质量怎么样,华凌的空调怎么样?
- 北汽怎么样口碑 北汽怎么样
- 2011款奔驰s350l怎么样? 2011款奔驰s350l怎么样
- 玻璃隔断墙怎么安装
- 铝塑吊顶怎么拆
- 外墙喷漆怎么操作
- 自己动手怎么修复墙面
- 微水泥涂料怎么施工
- 大众自动挡油耗 大众自动油耗怎么样
- 1p漏电保护开关怎么接线