神医圣手 > 系统,我真不是苏联学霸 > 第81章 教授VS猛男(爆梗1.5w 1/3求首订)

第81章 教授VS猛男(爆梗1.5w 1/3求首订)

    漆昊得出这个结论後,心跳加速。

    为了验证他的想法,他假设一个标准的神经网络全连接层,其前向传播与反向传播的核心,本质上都是大规模的通用矩阵乘法,设输入矩阵————

    经过半个小时的推导,漆昊发现整套训练流程里,超过90%的算力开销全部集中在毫无技术含量的矩阵乘加这种稠密线性运算中,而剩下10%左右的资源,才用於那些看似复杂的控制流操作。

    「这简直是离谱他妈给离谱开门,离谱到家了。」

    漆昊看着纸上的数据,忍不住低笑了起来。

    CPU为什麽要设计那麽复杂的算术逻辑单元?

    为什麽要用上超过70%的电晶体面积去堆砌一级二级三级缓存?

    为什麽要有复杂的分支预测和乱序执行机构?

    因为CPU是为了应对日常电脑使用中那些复杂控制流而生的!

    它追求的是低延迟。

    在半导体和计算机体系结构中,有一个不可违背的物理铁律,那就是单颗晶片的矽片面积和功耗是有限的。

    在有限的矽片空间里,CPU为了追求更复杂的单线程处理能力,将绝大部分电晶体面积都让渡给了庞大的多级缓存,分支预测和复杂的乱序执行控制单元。

    这就直接导致了一个物理上的致命局限CPU的计算核心数量极少。

    哪怕此时市面上单颗顶级的伺服器级CPU,主流物理核心最多也只有8个,用CPU去跑神经网络,就像是面对一个需要搬运上亿块砖块的大型工地,手上却只雇了8个会微积分的教授一样。

    这8个教授不管有多擅长微积分,他们本质只是8个体力没那麽好的人,面对几乎望不到边的砖块,他们只能一砖一瓦慢慢挪动。

    这就是最基础的物理问题,核心数量太少,并行吞吐量低得令人发指!

    可神经网络的训练,真的需要这些教授吗?

    不需要!

    矩阵乘法不需要做任何复杂的逻辑跳转,也不需要精细的条件判断,它从头到尾只存在一种简单重复的运算规则。

    既然如此,那就不应该去请8个会微积分教授,而是应该去请更多会简单运算的肌肉猛男!

    教授虽好,但让他们在这里发挥作用,就太大材小用了。

    「大力才能出奇蹟啊,达瓦里氏。」漆昊不由得哑然失笑。

    这种以绝对数量碾压一切的逻辑,不正是卡尔采夫在《计算系统与同步算术》中推崇的苏式暴力美学吗?

    用一个统一的控制器,发出一条指令,让成百上千个微型算术单元在同一时刻,同步执行一模一样的乘加操作!

    为了验证自己的想法,漆昊在网络上开始找文献来验证。

    遇上没什麽用文献,漆昊基本上看个重点就把它关了,然後继续看下一篇,这时一篇顶会论文进入了他的视线。

    那是发表於2009年ICML(国际机器学习大会)上的一篇经典之作,而一作和通讯作者的署名里,赫然写着史丹福大学教授机器学习领域大牛吴恩达的名字。

    漆昊眼睛一亮,迅速点开文档,开始看这篇在当下还略显冷门的学术文献。

    论文里详尽的数据和严谨的实验,正如一块完美的拼图,严丝合缝地印证了他刚才的所有数学推导。

    按照吴恩达团队在论文中的阐述,CPU复杂的架构注定了其电晶体的大头被分配给了缓存和分支预测,这使得它用於实际计算的物理核心极少,在面对海量矩阵运算时并行的上限极低。

    而GPU则是另一条完全不同的进化路线,它内部塞满了成百上千个轻量级的计算单元,这些单元可以在统一的时钟信号下,以同步算术的模式同时执行一模一样的矩阵乘加操作,在同等功耗下,其提供的单精度浮点算力对CPU堪称是碾压级别的。

    论文里给出了一个重要的实验数据:

    在训练一个拥有四层结构,上亿参数规模的深度网络时,如果老老实实地使用CPU组成的计算集群,整个训练周期长达数周,耗费的电费和时间成本令人窒息,然而当他们将代码重构,移植到单张英伟达GTX280显卡上後,GPU直接将这几周的训练时间,暴力压缩到了区区1天以内!整整实现了近70倍的效率跃升!

    「70倍的提速啊————」

    在当下,学术界为了把算法的精确度提升个百分之一,都能敲键盘把键盘敲出火星子,而这种直接在物理效率上拉开70倍差距的物理开挂,简直让人兴奋。

    漆昊高兴过後,随之而来的却是一个巨大的疑惑。

    既然吴恩达教授早在2009年就用这篇顶会论文向全世界展示了GPU的威力,那为什麽时至今日,陈工他们这些一线的工程技术人员,依然把用CPU训练神经网络当成约定俗成的标准答案?

    为什麽这项能让效率起飞的技术,如今依然只是停留在少数顶尖高校的实验室里,并没有在工业界和学术界得到大规模的认同与落地?

    如果真的有用,不是应该早就商业化了吗?

    总不能说资本眼瞎吧?

    这样不合常理,不对,有坑!

    漆昊脑子冷静了下来。

    他现在得知道坑在哪儿。

    有了方向的漆昊,搜索信息变得有目的了,很快他就梳理一些关键点。

    如今的计算机视觉圈子,大家普遍崇拜的是手工特徵算子,像是SIFT、HOG、LBP,然後再搭配一个数学上的支持向量机SVM或者随机森林。

    在主流学者眼里,神经网络本身就是容易过拟合还需要人肉调参的黑箱子,没有海量的标注数据支撑,大家觉得神马深层模型都是浮云,自然也就没人愿意为了这个非主流方向去专门花时间折腾显卡了。

    毕竟,GPU它目前只认识游戏画面,要它去训练神经网络,你必须教它,光是这一步,都要人老命了。

    更重要的是,现在最好的GTX580显存才1.5GB。

    所以,想要在1.5GB的显存限制下,既避开重新写原生CUDA训练代码的坑,又要实现一定的机载视觉的实时计算,所有人都在这里卡住了。

    如果全连接网络会导致参数爆炸,那就必须从数学上限制参数的连接方式。

    空间局部性和权重共享,漆昊想了下,这不就是卷积神经网络嘛!

    通过局部感受野和卷积核复用,可以将需要存储的参数量大量压缩到只有数万的级别,几个G的大小也同时被压缩,1.5G的显存好像也能装下!

    可是,卷积计算在GPU里怎麽高效率跑起来?

    二维卷积需要在一个滑动窗口里不断做局部的乘加,如果用传统的C循环思路去GPU里写多重嵌套循环,GPU的线程束会发生严重的访存冲突,最後跑出来的速度可能连CPU都不如。

    漆昊想到这里有些卡住了,他又只能在网上找神经网络和图像卷积相关的文献来看。

    实验室里面的其他人此时其实因为课题快要结束的事,都松了一口气,坐在漆昊斜对面的李杰正悄悄把手移向滑鼠,准备点开刚刚更新的游戏,而隔壁工位的同门则在用手机刷着天涯论坛,嘴角挂着摸鱼人特有的安详微笑。

    然而,他们很快就注意到了漆昊这边写草稿的动静。

    李杰一慌,游戏图标硬是没敢点下去。

    他偏过头,和旁边的同门师弟交换了一个惊恐的眼神。

    「哎,漆神这是怎麽了,不是已经解决问题了吗?」师弟努力小声问道。

    「不知道啊?」李杰心里咯噔一下,他突然不敢继续心安理得地摸鱼了。

    在科研狗的世界里,最让人胆寒的现象莫过於,大家都在玩,只有学神在疯狂看文献。

    这种恐慌感一旦蔓延,杀伤力堪比一觉醒来,错过高考时间。

    为了打探敌情,李杰悄悄站起身,假装拿着水杯去饮水机接水,在路过漆昊身後时,他偷感十足地飞快瞅了一眼。

    只见那张草稿纸上,写满了各种推导公式,嗯,那些公式重重叠叠的,他看不出写的是什麽,也怀疑漆昊是否也看得清楚。

    回到座位上,李杰感觉杯里的白开水都变苦了。

    他默默关掉了游戏窗口,从电脑里翻出一个马了很久英文文献PDF,开始尝试着看。

    「怎麽样?」旁边的师弟凑过来。

    李杰一脸凝重:「不知道漆神在干嘛,不过大神在前,你还有心情玩天涯论坛吗?」

    师弟犹豫了下,关掉了手机,默默打开了MATLAB。

    其他人看见後,也不好再摸鱼了。

    整个实验室的气氛,在漆昊毫无自觉的学神气场压迫下,硬生生卷了起来。

    大家原本高高兴兴准备开启咸鱼模式,结果旁边坐着一个大佬正在疯狂学习求进步,他们想躺平也躺不下去啊!

    此时的漆昊,根本不知道周围人内心世界如此丰富,他只一门心思看着草稿纸上那张模拟滑动窗口卷积的矩阵示意图。

    卷积核在图像上一格一格地滑过去,乘以局部像素。

    等等!

    每一块滑动窗口里的图像,展开後都是一个列向量,如果把所有的窗口拼一起,那就是一个巨型列向量!

    也就是说可以将输入图像里每一个被卷积核覆盖到的局部小方块,横向拉平展开成一个长长的列向量。

    随着滑动窗口的推移,整张图像就被重新拼装成了一个由无数个列向量并排组成的巨大矩阵,这个过程在数学上可以被称为im2col也就是图像转列!

    然後那个卷积核,也平铺展开,作为另一个矩阵的行向量。

    这样一来,原本复杂的二维卷积运算,在经过im2col的数学转换之後,竟然变成了一个通用稠密矩阵乘法!

    「用这一步数学变换,算是解决了一个门槛问题。」

    漆昊刚才查资料的时候,了解到英伟达打包全套优化数学库,比如cuBLAS。

    这个英伟达打包的官方数学库,对於此时的漆昊来说,简直就是瞌睡送来了枕头,给力到了极点。

    作为英伟达官方打造的数学库,cuBLAS内部的cublassgemm函数早就被架构师针对Fermi硬体架构进行了优化,这可以帮漆昊省下一定的时间。

    英伟达的那位皮夹克老板,在商业策略上是真有远见!

    英伟达之所以费尽心思去打包cuBLAS,本质上就是为了降低开发门槛,把全球的高校,科研院所里那些数学和物理学界的人,牢牢吸引绑定在CUDA的生态圈里。

    一旦习惯了这种高效便利的开发生态,谁还会愿意去折腾隔壁AMD家那个?

    「行了,万事俱备,只欠东风,现在最关键的问题是我的东风在哪儿?」

    漆昊现在需要两块GTX580显卡来搭建一个双卡并行的测试节点,他转过头,点开自己电脑的硬体属性。

    【集成显卡:InteIHDGraphics】。

    居然是集成显卡,不过这也正常,漆昊有些无奈地接受了这个现实。

    为了寻找能够借用的算力神器,漆昊站起身,将目光投向了李杰。

    李杰察觉到有人靠近,整个人一激灵,睡意瞬间被吓到了九霄云外,他战战兢兢地擡起头,发现是漆昊。

    「漆神?有什麽需要我协助吗?」李杰有些慌张,心想难道是自己刚才摸鱼被大佬给看穿了?

    「没事,别紧张。」漆昊温和地笑了笑,「我就是想问问,你电脑上装的显卡是什麽型号?」

    「啊?显卡?」

    李杰愣住了,他甚至怀疑自己的耳朵是不是出了问题。

    他忙不叠地在桌面上点了点,扯出设备管理器瞅了一眼,弱弱地答道:「是集显,InteI的,漆神,这显卡有什麽问题吗?」

    「没事,你继续看文献吧。」漆昊随後又在实验室里转了一圈,挨个询问了一遍。

    然而,询问的结果让他颇感无奈。

    这里因为是数院和企业联合实验室,整个实验室的电脑清一色配置的都是集成显卡,根本找不到任何可以用来跑高强度计算的消费级旗舰游戏卡。

    漆昊略微思索了一下,突然想起了自己第一天来到这个课题组时,陈工跟他说过,想要什麽设备尽管提,他可以负责采购。

    漆昊想到这里,理了个清单,转身朝着陈工那边走去。

    此时,陈工正守在伺服器前,为那比蜗牛爬还慢的神经网络叠代进度发愁。

    「陈工,我需要申请采购设备。」

    「没问题啊!想要什麽?」

    陈工豪气干云地一挥手:「只要你需要的,预算不是问题!」

    「我需要两块英伟达的GTX580显卡,还有一些其他配套的东西,我列了个清单。」

    陈工接过清单,有些愣住。

    GTX580?

    身为半个硬体发烧友,陈工对这款显卡可太熟悉了。

    这玩意儿是英伟达去年底刚发布的旗舰级游戏卡,单张价格高达3999元,不仅贵,而且因为产能有限,市面上货源极少,大多数时候只有那些狂热的游戏发烧友,为了流畅运行游戏大作才会去抢购,陈工一时间风中淩乱,整个人陷入了疑惑。

    他实在无法将漆昊和游戏发烧友联系在一起。

    看着清单上的东西,感觉像是要组装工作站。

    这事情怎麽看怎麽都不对劲。

    漆昊一个纯数学霸需要这个吗?

    陈工张了张嘴,想要问问漆昊拿这玩意儿到底要干嘛。

    但转念一想,自己作为一个带队的工程负责人,在学术层面上已经被漆昊连续上课好几次了,这要是再多问两句,万一漆昊随口吐出一堆数学名词,他岂不是又要当场出丑?

    在学霸面前,多说多错,少说少错,保持深沉才是唯一的出路!

    想到这里,陈工摆出一副高深莫测的表情,点头道:「GTX580是吧,没问题,我这就上系统给你走采购申请!」

    由於两块GTX580总金额超过了5000元,无法在部门内部直接消化,必须走学校和科研处的固定资产审批流程。

    果不其然,第二天上午,科研处专门负责设备采购的老孙,就一脸狐疑地把电话直接打到了陈工的手里。

    「我说陈工啊,你老实交代,你是不是想犯原则性错误?」

    电话那头,老孙一开口就直接说了:「你瞅瞅你提交的这个采购申请,GTX580旗舰独立显卡,两块,共计7998元,陈工下个月《孤岛危机2》就要发布了,你是不是打算用公款攒一台顶配游戏机,在实验室里带头搞测试啊?」

    陈工一听,急道:「哎哟,老孙,你这可真是冤枉我了,我老陈什麽时候动过公款的一分一毫?这显卡真不是给我买的!」

    「不是你?那是谁?你们组里那些研究生,他们有那个胆子吗?」

    「是漆昊!数学学院过来的漆昊指名道姓要的,应该是要组装工作站!」陈工分辩道。

    老孙笑了一声:「老陈,你找藉口也找个靠谱点的行不行?漆昊是谁?那是数院的大神,是一个连吃饭都在推导数学的人,你跟我说,一个满脑子都只有各种方程的数学学霸,跑来跟我们要两块市面上最顶级的游戏显卡组装工作站?」

    「我看就是你找藉口!」

    陈工有些哭笑不得。

    为什麽学霸要高端显卡,受伤的人却是我?

    最後陈工只能无奈说:「老孙,这真不是开玩笑,漆昊同学昨天下午亲自找的我,他肯定有用,你赶紧给批了!

    >

    http://www.shenyishengshou.com/yt132480/49382628.html

    请记住本书首发域名:www.shenyishengshou.com。神医圣手手机版阅读网址:www.shenyishengshou.com