深度进修硬件:CPU/GPU/TPU对照(tpu和tpe材质哪一个好)

数码推荐

近来进修中涉及到了少少深度进修硬件的知识,发明有些东西在实践模子练习或安排中有所疏忽,由此盘算记载一二,简略先容最常用的CPU、GPU和TPU的特色/事情方式,和在深度进修进程中使用的少少常见成绩留神点,本篇先行先容前者。

底下以盘算典范的线性函数 y=Wx+by=Wx+b 为例,来看各PU的事情方式本例为猜测输入图象所代表的数字:输入图象x被向量化成维度为9的向量;y维度为10,各维度为模子输入0-9的几率值;b的维度为10,为bias参数;参数W的维度为10*9。

CPUCPU是盘算机中央中央处理器,可以控制各类盘算机软件的运转为便利懂得,这里将CPU简化为盘算单位和存储单位两部分,盘算上述的 WxW*x 首先要盘算输入x与模子参数 wiw_i ( i∈[0,9]i /in [0, 9]

)的element-wise乘,而后再相加以element-wise为例,在CPU中盘算流程以下:CPU事情进程可以看到,CPU的盘算进程对一次 xx 和 wiw_i 乘的进程,须要先将xx 和 w

iw_i 的各个维度的数值从内存读到盘算单位(ALU)履行盘算,而后顺次将成果再写入内存上述进程的瓶颈不言而喻:1、对单核CPU,单次只能停止一次运算,整个进程的盘算串行履行;2、盘算须要频仍的内存读写交互。

实践CPU的存储构筑通常是寄存器、高速缓存、内存等多级构造,这里为了简化同一称作内存GPUGPU最后主要是为了加快图形处理速率,前期才在深度进修范畴广泛应用GPU主要是对上面的瓶颈1停止了优化方式也比较粗暴,在单个中央处理器集成上千个盘算单位(古代单GPU的ALU可达2500~5000)。

并行上千次加法或乘法运算,速率提高不可思议:GPU事情进程明显,GPU并没有专一对内存读写停止优化,固然增加了大量的盘算单位,但每一只盘算单位仍须要停止频仍的内存读写,成为越来越速率提高急需解决的成绩TPU

为了比GPU加快,谷歌设想了神经收集公用中央处理器TPU,越来越就义中央处理器的通用性,专一于矩阵运算TPU不再支撑林林总总的应用程序,而是仅仅支撑神经收集所需的大范围的加乘运算由于一开始就知道本人要盘算的单一矩阵乘进程,TPU间接设想了数千个乘法器和加法器直连的大型物理矩阵。

如Cloud TPU v2,包含2个128*128的盘算矩阵,相当于32768个ALUTPU的盘算进程以下:先将参数W从内存加载到乘法器和加法器矩阵中,而后,TPU从存储器加载数据X在履行每一只乘法时,盘算的成果将通报给下一只乘法器,同期乞降。

因而,输入是数据和参数一朝一夕一切乘法成果的总和该进程最大的特色是,在整个海量盘算和数据通报进程中,不须要内存恳求TPU事情进程这种方式既提高了神经收集的运算效力又节俭了功耗,低资源消耗带来的是低成本,对一般民众来讲便是愈加廉价。

谷歌本人测算TPU的盘算成本大概是非TPU的1/5,在谷歌云的TPU效劳看上去也比较亲民小结这里简略先容了CPU、GPU、TPU的基础特色和大抵差别,可以看出三者在灵活性(通用性)上由高到低、而盘算效力由低到高。

实在,盘算机软硬件设想中充满着空间换时光、时光换空间,通用性换效力的trade-off,也是体现了鱼和熊掌不可兼得的道理参考文献:1、what-makes-tpus-fine-tuned-for-deep-learning

2、NEXT TPU

标签: 深度学习对比