当秦峰那句充满了诚挚敬佩的“请允许我,加入你们”在会议室里响起时,那场持续了一个上午的、充满了戏剧性张力的特殊“面试”,终于,落下了帷幕。
韩立阳,依旧紧张地坐在角落,看着眼前这堪称“神仙打架”的一幕,心中,对这个团队的敬畏,又加深了数层。
而林浩、高翔、徐涛三人,则是在最初的错愕之后,对视了一眼,都从对方的眼中,看到了一丝如释重负的、欣慰的笑意。
他们知道,秦峰这匹桀骜不驯的“野马”,终于,被林浩,用最无可辩驳的、绝对的实力,给彻底“驯服”了。
就在这时,一直像个“局外人”般,在旁边默默喝茶的陈默,终于,放下了手中的茶杯。
“啪嗒。”
一声轻响,将所有人的注意力,都吸引了过去。
他缓缓地,站起身,走到了会议室的中央。他没有去看那块写满了公式的白板,也没有去看那两个等待着最终“宣判”的年轻人。
他的目光,落在了自己最信任的、三位“开国元勋”的身上。
“你们三个,”他平静地问,“面试,结束了。现在,告诉我你们的结论。”
“要,还是不要?”
这个问题,将最终的决定权,以一种不容置喙的方式,交到了林浩、高翔和徐涛的手中。
这是尊重,更是考验。
林浩,作为团队的“大师兄”,当仁不让地,第一个站了出来。
他先是指了指身旁,依旧有些局促不安的韩立阳,认真地说道:“老师,韩立阳,我要。”
“理由。”陈默言简意赅。
“他基础是薄弱,但态度,非常端正。”林浩的评价,客观而中肯,“我问他的那些问题,他没有一个,选择回避或者狡辩。他敢于承认自己的不足,也愿意去反思自己的错误。这,对于一个实验科学家来说,是最宝贵的品质。天赋,可以后天培养,但态度,是天生的。我相信,只要给他足够的时间和耐心,他一定能成为一个,最可靠的、值得我们信赖的战友。”
陈默点了点头,没有说话,又将目光,投向了高翔和徐涛。
徐涛站了起来,他看了一眼,正一脸期待地看着他的秦峰,笑着说道:“老师,秦峰这个‘宝贝疙瘩’,我们计算组,也要了。”
“理由。”
“技术实力,没得说。是个天才。”徐涛坦诚地评价道,“虽然,性格上,是有点傲气。但搞技术的,哪个没点脾气?只要能拿出真东西,傲一点,不是问题。而且,”他话锋一转,脸上露出一丝狡黠的笑容,“我觉得,他这点傲气,很快,就会被磨平的。”
他的目光,意有所指地,瞥了一眼旁边的高翔,和自己的电脑。
陈默的嘴角,勾起一抹微不可察的弧度。
他知道,徐涛已经想好了,该如何,让这位新来的“天才”,明白什么叫“天外有天,人外有人”了。
“好。”
陈默见三位核心成员,都已经达成了共识,终于,一锤定音。
他转过身,正式地,面向那两位,屏息凝神、等待着最终命运裁决的“新人”。
“韩立阳,秦峰。”
“我宣布,从今天起,你们,正式成为我们‘先进材料与计算科学研究室’的,第一批,新成员。”
“欢迎,加入我们。”
话音落下,韩立阳那张一直紧绷着的脸,瞬间,涨得通红,眼中,充满了难以置信的喜悦和激动。他猛地站起身,对着陈默,对着林浩他们,深深地,鞠了一躬:“谢谢陈教授!谢谢各位师兄!我……我一定努力!”
而秦峰,则是在如释重负地松了一口气之后,脸上,重新浮现出了那股强大的自信。他站起身,对着陈默,不卑不亢地说道:“谢谢陈教授。我保证,我不会让您和各位师兄,失望的。”
一场特殊的“面试”,以皆大欢喜的方式,落下了帷幕。
陈默趁热打铁,当众,宣布了团队全新的组织架构和人员分工。
“从今天起,”他站在白板前,像一位正在划分领地的君王,“我们团队,将正式,划分为两个核心战斗小组。”
他拿起笔,在白板上,写下了两个标题。
实验组(Experimental Group)
计算组(putational Group)
“实验组,”他看向林浩,“由林浩,担任组长。全权负责,我们所有实验相关的课题规划、方案设计和日常管理。”
他又看向韩立阳:“韩立阳,你,作为林浩的直系师弟,编入实验组。你前期的主要任务,就是协助林浩,完成所有基础的材料制备和常规性能测试工作。我只有一个要求——在最短的时间内,将林浩那一身‘手艺’,给我原封不动地,学过来!”
“是!陈教授!是!林师兄!”韩立阳用力地点了点头,声音洪亮,充满了干劲。能跟着这位传说中的“大神”师兄学习,对他而言,是天大的荣幸。
“计算组,”陈默的目光,又转向了另一边,“由高翔,担任组长。负责所有理论模型构建和大规模模拟计算的规划与执行。”
他又看向秦峰,语气,变得玩味起来:“秦峰,你的技术实力很强。但是,在我们团队,要先从‘学徒’做起。”
“从今天起,你,编入计算组。你的日常工作,将暂时由来自计算机学院的徐涛同学,来安排和指导。”
这句话,让秦峰的眉头,几不可察地,微微一皱。
让他,去给一个,非本专业的学生,当“学徒”?
他虽然,对林浩的理论深度,心服口服。但对于自己的“本行”——编程和算法,他依旧,有着绝对的自信。他不认为,这个看起来嘻嘻哈哈的徐涛,能在代码硬实力上,比自己强出多少。
但他是个聪明人。他知道,现在,不是他讨价还价的时候。
“好的,陈教授。我服从安排。”他点了点头,答应了下来。
徐涛则笑嘻嘻地,走上前,拍了拍秦峰的肩膀,一副“老前辈”的模样:“秦峰同学,放心,以后跟着涛哥混,保你,每天都有新收获!”
陈默看着眼前这支,已经初具规模的、充满了朝气和战斗力的“王牌军”,脸上,露出了满意的神情。
他知道,将日常的管理权,下放给林浩和高翔,不仅能将自己,从繁琐的事务中解放出来,更能有效地,锻炼这两位未来“将才”的领导能力。
一个真正强大的团队,需要的,不仅仅是一个“神”一样的领袖。
更需要的,是一个,能够自我管理、自我驱动、人才辈出的,健康的“生态系统”。
而今天,这个生态系统,终于,搭建完成了。
下午,当秦峰,第一次,坐到徐涛旁边的工位上,准备开始他“学徒”生涯的第一天时,他心中那点不服气,很快,就被一种巨大的震惊,所取代。
“那个……徐师兄,”他还是客气地,用上了敬称,“陈教授说,让您给我安排点工作。您看,我是先熟悉一下翔哥他们那个LAmmpS的模型代码,还是……”
“别急,”徐涛头也不抬,依旧,在自己的三联屏上,飞快地敲击着代码,嘴里说道,“你先帮我个小忙。我最近在搭一个基于‘图注意力网络’的代理模型,用来预测不同成分配比下的玻璃形成能力。但是,训练数据集的维度太高,有几百个特征,我这边跑一次,要好几个小时,太慢了。”
“你呢,先别管我的模型。你帮我,用你最擅长的方式,写一个‘特征选择’的脚本。目标很简单——在不显着降低模型预测精度的前提下,把这几百个特征,给我降到二十个以内。”
“做得到吗?”他侧过头,看着秦峰,笑着问。
秦峰的心中,燃起了一丝好胜心。
“特征选择”,这是机器学习领域,最基础,但也最考验功底的技能之一。他自信,凭借自己丰富的项目经验,解决这个“小问题”,绰绰有余。
“没问题,徐师兄。”他立刻,打开了自己的编程环境,“您把数据集发我一下。”
接下来的三个小时,秦峰,展现出了他天才的一面。
他没有采用常规的“过滤法”或“包装法”,而是巧妙地,将一种名为“稀疏主成分分析(Sparse pcA)”的、更前沿的降维算法,应用了进来。
他的手指,在键盘上,化作了一道道残影。代码,在他的屏幕上,行云流水般地,倾泻而出。
不到三个小时,一个高效、优雅的特征选择脚本,便已大功告成。
他将脚本,运行了一遍,成功地,将特征维度,从三百多,降到了十八个,而模型的预测精度(AUc),仅仅,下降了不到0.5%。
“搞定!”秦峰的脸上,露出了自信的微笑。他将结果,展示给徐涛看,语气中,带着一丝求表扬的意味,“徐师兄,你看,这样可以吗?”
然而,徐涛,只是凑过来看了一眼,点了点头,脸上,却并没有露出,秦峰预想中的、那种惊为天人的表情。
“嗯,不错。”他平静地,评价了一句,“Sparse pcA,思路是对的。代码,写得也很规范。作为一个‘单机版’的解决方案,已经很优秀了。”
单机版?
秦峰愣了一下,没明白他这话的意思。
就在这时,徐涛,将他自己的电脑屏幕,转了过来。
“不过呢,”他笑着,指了-指自己的屏幕,“我这边,刚刚,也顺手,写了一个。你可以,参考一下。”
秦峰凑上前去。
当他看清,徐涛屏幕上那片,如同宇宙般深邃浩瀚的、充满了各种他从未见过的并行计算和分布式框架(如dask和Ray)的代码时,他整个人,都呆住了。
徐涛的解决方案,根本,就不是在一个“脚本”的维度上!
他,竟然,将整个特征选择的过程,封装成了一个,可以自动部署到整个实验室几十台计算服务器上的、分布式的、可并行计算的“任务流”!
他甚至还自己写了一个小小的“前端界面”。只需要在网页上,拖拽一下数据集,选择几个参数,然后,点击“开始”……
整个任务,就会被自动地,分解成上百个子任务,分发到集群的每一个计算节点上,进行并行的、暴力的计算!
其计算效率,比他那个所谓的“高效脚本”,快了,不止一倍!
这……这已经不是“编程”了!
这是“工程”和“架构”!是一种,他之前从未接触过的“代码哲学”!
“那个……徐师兄……”秦峰的声音,都在发抖,他指着屏幕上那片,对他来说,如同“天书”般的代码,虚心地请教道,“您这个……这个Ray框架,是……是做什么用的?”
徐涛看着他那副,被彻底镇住的、如同“井底之蛙”看到了大海般的表情,终于,露出了一个,计谋得逞的、狐狸般的笑容。
他拍了拍秦峰的肩膀,语重心长地说:
“秦峰同学,别急。”
“你的‘学徒’生涯,今天,才刚刚开始呢。”