漆昊得出这个结论後,心跳加速。
为了验证他的想法,他假设一个标准的神经网络全连接层,其前向传播与反向传播的核心,本质上都是大规模的通用矩阵乘法,设输入矩阵————
经过半个小时的推导,漆昊发现整套训练流程里,超过90%的算力开销全部集中在毫无技术含量的矩阵乘加这种稠密线性运算中,而剩下10%左右的资源,才用於那些看似复杂的控制流操作。
「这简直是离谱他妈给离谱开门,离谱到家了。」
漆昊看着纸上的数据,忍不住低笑了起来。
CPU为什麽要设计那麽复杂的算术逻辑单元?
为什麽要用上超过70%的电晶体面积去堆砌一级二级三级缓存?
为什麽要有复杂的分支预测和乱序执行机构?
因为CPU是为了应对日常电脑使用中那些复杂控制流而生的!
它追求的是低延迟。
在半导体和计算机体系结构中,有一个不可违背的物理铁律,那就是单颗晶片的矽片面积和功耗是有限的。
在有限的矽片空间里,CPU为了追求更复杂的单线程处理能力,将绝大部分电晶体面积都让渡给了庞大的多级缓存,分支预测和复杂的乱序执行控制单元。
这就直接导致了一个物理上的致命局限CPU的计算核心数量极少。
哪怕此时市面上单颗顶级的伺服器级CPU,主流物理核心最多也只有8个,用CPU去跑神经网络,就像是面对一个需要搬运上亿块砖块的大型工地,手上却只雇了8个会微积分的教授一样。
这8个教授不管有多擅长微积分,他们本质只是8个体力没那麽好的人,面对几乎望不到边的砖块,他们只能一砖一瓦慢慢挪动。
这就是最基础的物理问题,核心数量太少,并行吞吐量低得令人发指!
可神经网络的训练,真的需要这些教授吗?
不需要!
矩阵乘法不需要做任何复杂的逻辑跳转,也不需要精细的条件判断,它从头到尾只存在一种简单重复的运算规则。
既然如此,那就不应该去请8个会微积分教授,而是应该去请更多会简单运算的肌肉猛男!
教授虽好,但让他们在这里发挥作用,就太大材小用了。
「大力才能出奇蹟啊,达瓦里氏。」漆昊不由得哑然失笑。
这种以绝对数量碾压一切的逻辑,不正是卡尔采夫在
…。。本站若有图片广告属于第三方接入,非本站所为,广告内容与本站无关,不代表本站立场,请谨慎阅读。
Copyright © 2020 出品书屋 All Rights Reserved.kk