系统,我真不是苏联学霸:第80章 标准答案≠正确答案!
【达瓦里氏,请不要自我满足!】
【科学的道路上,停下脚步就是在倒退,布尔什维克同志从不满足于眼前的小胜利,更不会在敌人尚未完全击溃时提前庆功!】
【伟大的卫国战争告诉我们,贪图享乐绝对不能取得胜利!】
【真正的学霸,理应勇于挑战更高的科研难题!】
【任务触发:优化当前课题组所涉及的核心技术!】
【任务完成标准:完成一项核心技术的优化。】
【任务奖励:
1.学科经验值(具体数值根据完成质量结算)
2.随机宝箱2
3.体质提升奖品1
4.600积分】
【任务时限:180日内(即日起开始计算。)】
【备注:达瓦里氏,加油!为了红色科研的发展,请勇敢无畏的向前冲,去看书看文献学习,特别是计算机底层架构和并行计算相关的!
【推荐:米哈伊尔·卡尔采夫与布里克于合著的《计算系统与同步算术》】
漆昊有些无奈地叹了口气。
这系统,还真是看不得他闲下来。
不过这次奖品好像异常丰富啊。
系统还好心地给了参考书。
可问题是,正值春节假期,各大图书馆开放时间都有限,想去找书也困难。
没办法,漆昊只能转战网络,幸好之前找苏联文献的功底还在,最后漆昊还真的找到了《计算系统与同步算术》的PDF版本。
点开文档属性,当看到作者栏的介绍后,他突然明白系统推荐这本冷门老书的原因了。
米哈伊尔·亚历山德罗维奇·卡尔采夫。
这位苏联的计算机大佬,是世界并行计算领域最早的探路人之一。
早在上世纪五六十年代,当全球计算机行业还在执着于打磨单核主频和指令执行效率时,卡尔采夫这个天才,就开始摸索多处理器同步并行的可能,还造出了苏联独特的M系列电子管计算机。
很牛对吧?
但其实是被落后的半导体工艺逼出来的。
在冷战对峙的年代,西方的硅工艺吊打苏联,更侧重于单核主频的提升与精密的指令流水线设计,而苏联在晶体管和集成电路工艺上长期落后。
卡尔采夫当年接手项目时,面对的就是这样一堆烂摊子。
手里全是一些性能拉胯甚至工艺稳定性都无法保证的低端硬件,却要在这种物理限制下,把重要系统需要的庞大算力堆起来。
而这位天才给出的解法,至今看去都带着一股苏式暴力美学,硬件不够,架构来凑。
既然单个运算单元跑不快,那就搞并行运算阵列。
靠着这个思路,卡尔采夫作为总设计师,主持设计了苏联M-10并行超级计算机体系,随后又亲手主导了第四代多处理器向量计算机M-13架构的前期工作,支撑起了重要系统的核心算力。
而漆昊手里的这本《计算系统与同步算术》,算得上是卡尔采夫多年经验的一个总结。
当然,里面没有涉密技术,可即便如此,当漆昊耐着性子往下读了几页后,整个人还是被书里的内容给震住了。
强是真的强。
卡尔采夫大佬仿佛想把每个硬件知识拆开塞进他脑子里。
由于年代久远加上俄译汉的语境偏差和专业基础问题,书中很多细节内容,漆昊看得还是头疼。
他站起身,打算去喝杯水缓缓。
此时,陈工正守在几台嗡嗡作响的服务器前,唉声叹气。
“陈工,这是在干嘛吗?”漆昊端着杯子好奇走过去问道。
陈工一看是他,也就照实说了:“公司的任务,我在尝试训练神经网络。”
“汪总提过一个设想,认为未来的无人机必须装上眼睛,我们要实现室内的视觉自主定位悬停,甚至想让飞机底部的摄像头能自动辨识障碍物,自动锁定并跟踪一个移动的目标,想要解决这种计算机视觉和自适应控制难题,传统控制理论根本不行,唯一的出路,就是机器学习和神经网络。”
“那怎么样了?”漆昊好奇问道。
陈工叹了口气,指着屏幕上缓慢爬行的进度条,苦笑道:“太慢了,用的是机载实拍图像数据集,分辨率高样本量大,就这么个简单三层网络,一轮迭代也要跑上几个小时,这要是以后网络层数加深,光是调参训练就能把我们耗死。”
漆昊看着屏幕上几乎被占满的CPU使用率,心中突然动了一下,开口问道:“陈工,学术界和工业界现在为什么普遍用CPU来训练?为什么不找更高效的硬件?”
陈工听到这个问题,转过头来,耐心地解释道:“现在用CPU训练几乎是唯一的选择,CPU是通用处理器,它最擅长处理具有复杂分支的指令,神经网络在训练过程中,不仅有矩阵计算,还伴随着大量的临时文件读写,内存控制流跳转,数据预处理等问题。”
“目前其他芯片,在处理这些复杂的控制流时,效率很低,会频繁卡死。”
“而且现在的神经网络训练需要耗费海量的内存来存储权重和中间激活值,我们的服务器可以插上48GB甚至96GB的内存来支持。”
“可以说,用CPU来训练神经网络就是业界约定俗成的标准答案!”
说完,陈工见漆昊没什么反应,以为他累了,就拍了拍他的肩膀:“别整天把自己绷得太紧,这事儿你不用管,后天齐教授就会来开组会,检查我们上一阶段的工作进度,剩下的工作不多,没多久咱们这个课题基本上就能结题了。”
“我琢磨着,等组会开完,我带大家一块出去放松放松,附近新开了一家温泉山庄,去泡个温泉怎么样?去不去?”
泡温泉?
漆昊缓过神,脑海中浮现出一幅画面。
大冬天的,一个烟雾缭绕的池子里,挤着十几个平时不修边幅的糙汉,大家坦诚相见,在温水里泡着。
漆昊暗自打了个冷战,连忙找了个借口:“陈工,我就不去了,怕水。”
陈工狐疑地上下打量了他一眼:“怕水?你一个一米八的大个子,泡个一米深的温泉池子,你怕水?”
漆昊干笑两声,说:“之前呛过水。”
陈工立刻理解了,说:“原来如此,那这样,泡温泉取消,等开完组会,我带大家去整一顿最给力的海鲜自助,这总行了吧?”
“这个好,我举双手赞成。”
“那就这么定了!”
回到工位后,漆昊重新将注意力集中到了电脑上。
他翻了一会儿卡尔采夫的书,突然愣住了。
冷战时期,苏联的半导体工艺全面落后于西方,算力拉胯,可卡尔采夫硬生生靠着大规模同步并行架构,支撑起了国家级系统的超级算力。
陈工的说法在当下的工程界确实没错,神经网络训练中确实掺杂着数据读取等细碎的控制操作,这些任务高度依赖CPU强大的通用调度能力和复杂指令处理能力。
这也是为什么,如今不管是大厂还是高校,大家都老老实实地守着CPU训练。
他意识到,所有人似乎忽略了一个最基础的数学事实!
神经网络的核心算力消耗,从来不是那些细碎的控制流操作,而是海量的矩阵乘加运算!
也就是说,标准答案≠正确答案!
业界所有人都错了!