做过一段时间的材料学+NLP的交叉,后来及时弃坑。目前北邮某个NLP组研零,谈谈自己的经历。
本科是北邮理学院的学生,本科阶段联系了学院里一位做材料的老师,希望能做做科研,老师人非常好,平时也乐于帮助学生。
一开始联系老师的时候,老师希望我能做一些机器学习+材料方面的内容,并让我看了nature上的一篇文章paper1。现在看来这篇文章就是把word2vec在材料学的文献train了一下,然后利用word2vec本身的一些应用在材料学上秀了一下,就发了nature(人家这运气啊)。
因为老师对机器学习没有太多的了解,我就从吴恩达,李宏毅的课程开始一步步学,算是慢慢入了机器学习的门。之后就想着改进前面提到的论文,我看那时bert很火,就懂了心思,跟老师说了,然后开始着手用bert代替word2vec。从那时开始,我从收集材料学文献开始,到处理数据,总共构建了200个G的材料学的预训练预料库(我知道现在看来很少,但这是我个人的极限,花了三个月才弄成)。之后也遇到了很多困难,比如实验室没有GPU(学院里没有,有也不可能给我,最开始只能尝试colab,结果一天只能train 12h。最终还是感谢北邮叶培大学院,批了GPU下来,这GPU对我的本科生涯意义重大,我的无数比赛靠的都是它),bert的tensorflow版本的代码在我的GPU完全train不起来(当时完全不懂啊,就对着代码一点点,想让它能被train起来)前前后后忙了很久才终于把bert训练起来。
到这里大家应该可以看出来,虽然我一直在忙里忙外,花了很多精力。但有个重要的问题我忽视了,我一直没有明确的目标,也没有希望解决的问题。
在train好了我的bert(我把它命名成mater-bert),我就面临上述问题了,到底要用这个bert去做些什么。最后,我选择了一个现在看起来非常不明智的决定,我让bert去解决材料学的命名实体和关系抽取的问题。其实就是把NLP的一些应用在材料学上。看起来没啥毛病,但问题是,材料学真的需要这些应用吗?这也是后来其他老师在答辩的时候问我的问题,被问到的时候我是很心虚的,因为我知道,根本没有!包括前面nature的文章,平心而论,价值不大,也只是新奇。
这项工作持续了我本科的大半时光,去年的除夕,我还在写它的代码。我的收获是有的,我比本科同学更早地入门NLP,NLP的coding能力,检索能力有了非常大的提升。这一点在我后来的比赛和保研后的工作中深有体会(2021年,单枪匹马地拿下SMP2021 对话式AI算法评测的第四名,呼呼~,并且保研到了专门做NLP的实验室)。但是,这项工作的产出,几乎没有,我很遗憾。不过幸好我只是本科生,即使花了这么多时间,我还是可以轻松保研,这项工作对我的影响可以降到最低,但研究生呢?
现在复盘一下这项工作,总结一下:
2. 如果实验室里本来没有机器学习的积淀的话,还是不建议做的(当然,能力强的除外,但我是真的菜),因为这会花费大量的时间与精力,最后的产出却可能一般qwq.
3. 我先润了,祝好!
工科学生,文笔太差,请大家见谅!
在我定义里,已经不算天坑了。我对天坑专业的定义是风险尚未正确认识、控制,风险溢价尚未充分支付的专业。这里的风险主要指安全健康风险,在生化环材搞机器学习,念书期间可以远离湿实验,既不用过柱子,也不用烧砖头。毕业之后,也基本离开工艺类岗位,所以不算天坑了。
然后再谈谈我观察到的一些东西吧。顶级学术圈的距离远比我之前想象的小,你在生化环材做机器学习,如果能发nature、science,类似alphafold这样的工作,毕业后还是有机会进大厂的AI lab的。因为各大ai lab都在布局AI for science,会有一些岗位需求。相反,你学计算机,如果只是在普通lab,发一些ccf b,恐怕并没有机会进大厂ai lab。
另外,如果发不了nature和science,也可以尝试把你们领域的东西带进顶会。例如,做各种分子图、蛋白图,gnn一顿上,也能引起学界的兴趣,然后发一波NIPS、ICML、AAAI等。这也是认的。当然,nano letter啥的就算了,我看没人认。
总之,想出坑,就拼命往计算机靠。多看看,微软亚研,meta AI,openai,deep mind在搞啥。