所谓AI芯片,一般指针对AI算法的ASIC专用芯片。传统的CPU、GPU都可以拿来执行AI算法,但是速度慢,性能低。GPU速度要快很多,但是其缺点是功耗大。
AI算法,在图像识别等领域,常用的是CNN卷积网络,语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法。但是在本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。
一个成熟的AI算法,比如YOLO-V3,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。对于YOLO-V3来说,如果确定了具体的输入图形尺寸,那么总的运算次数是确定的,比如一万亿次及以上。即,快速执行一次YOLO-V3,就必须执行完成至少一万亿次的加法及乘法次数的任务。举例:IBM的POWER8为目前最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算。理论上一次最多执行16个操作。那么CPU一秒钟的巅峰计算次数=16X4Gops=64Gops。
再来说说AI芯片。比如大名鼎鼎的谷歌的TPU1。
TPU1,大约700M Hz,有256X256尺寸的脉动阵列,TPU1一秒钟的巅峰计算次数至少是=128K X 700MHz=89600Gops=大约90Tops。对比一下CPU与TPU1,就会发现它们之间的计算能力有几个数量级的差距。
以上数据都是基于理想条件下的分析,因为芯片的存储不够大,所以数据会存储在DRAM中。从DRAM取数据会延时,这将无疑导致运算程序等待。另外,AI算法有诸多层网络构成,必须一层一层运算。实际情况是在切换层的时候,乘法逻辑又会处于休息状态。由此可见是诸多因素导致了芯片在实际运行中并不能达到理想计算峰值。
目前在图像识别、语音识别、自然语言处理等领域,精度最高的算法是基于深度学习,传统的机器学习的计算精度已经被超越。所以AI芯片主要是针对计算量巨大的深度学习而言。毕竟,计算量小的算法,CPU已经很快了。
点击本网站以下链接了解更多: