2022年终总结 You Only Live Once

 

前言

新年已经过去几天了,在回北京的高铁上写下了这片年终总结。白驹过隙,三百六十五天转眼过去,这一年来过得跌跌撞撞,但也还是获得了一些成长。年末回家后,我突然意识到自己或许可以做出一些改变,养成定期写总结的习惯,好好记录一下自己的生活。同时也可以写一下关于自己对生活的思考,希望能够对大家能够有所启发。

首先进行一个简单的自我介绍。我北大2017本,2021本校直博,研究方向是机器学习辅助设计自动化(ML4CAD),同时也对生成式机器学习、机器学习系统、概率编程有着浓厚的研究兴趣。如果有做相关方向的的,欢迎交流指教,希望向大家学习。

本科经历

既然是第一次在个人博客上写年终总结,先回顾一下自己的本科经历。2017年,我通过竞赛考入北大信科。大一比较难的课程主要是数学课,计算机类课程对我来说反而比较简单,基本是面向之前没有接触过编程训练的学生,上了几节课后开始觉得这些编程基础课没什么意思,于是开始旁听一些老师组会和讨论班。大一下的时候旁听了一个强化学习的讨论班,后面觉得没太大收获,一个学期后就没去了;后面大二还旁听了做图神经网络的课题组组会,不到一个学期就退了。

大二上了北大从CMU引进的「计算机系统导论」后,开始接触计算机体系结构和操作系统方面的内容。当时人工智能和深度学习正火,前面几次旁听深度学习相关课题组的时候体验并不是太理想,于是萌生了做系统结构方向的想法。在当时,做系统结构和深度学习的一个主流方向是做深度学习加速器,后面就去北大高能效计算与应用中心Yun Liang老师组做本研。这段本研做了很久,持续到了大三下学期,做了关于FPGA加速器、serverless FPGA cluster、同态计算等方面的研究。大二下学期暑假,我开始萌生了出国留学的想法,于是在暑假期间联系了留学机构和托福辅导机构开始上课。2019年大二暑假,出于了解公司工作的目的,报名参加字节跳动夏令营并成功入选,这次夏令营是做推荐系统相关的项目,在最后评比环节去了不错的名次。后面夏令营结束后,还经常有字节HR打电话联系我去实习,由于HR给的岗位方向和系统结构方向不是太类似,就没去字节实习了。

进入大三后,学业压力,升学压力陡然增大,特别是计算机网络实验班的lab作业压力很大,我经过考虑后拒绝了旷视做深度学习框架团队的实习offer。现在回想起来,当初如果接受了这个offer或许后面的研究经历会完全不同。大三上还加入了北大超算队。在北大超算队里是我本科阶段印象最深刻的经历之一,后面19年11月还去丹佛参加SC’19超算比赛,但是没想到后面的疫情会让这次成为我本科阶段最后一次出国了。后面2020年初,参加了在北京举行的ASP-DAC,当时在疫情出现前夕,在现场套瓷了一些国外类似方向组的教授。但是后面突如其来的疫情打断了我的出国留学计划。托福考试被取消,之前联系好Cornell暑研也因为使馆关闭办不了签证过不去,整个大三下学期处于一个极度焦虑的状态,到了大三下学期末,自己觉得或许自己换个方向,于是在推荐下联系到现任导师,经过交流后决定留在北大跟着现任导师读博,现在看来这个决定并没有让我后悔。大三暑假,由于在家上网课一学期待得太久了,去了港中文一个合作的研究组那里交流。

进入大四,当时乐观认为疫情会在2021年结束,于是和舍友相约毕业旅行前往日本看奥运,并开始选修日语课程。当时这个毕业旅行计划没有成行,最后毕业旅行是在2021年7月去了长沙。大四上学期的时候,对研究过程中的一个密度分布计算问题和学弟合作发了一篇CCF A类的DAC, 这次是我第一次完整的投稿过程,也算是给自己本科生涯画上了一个完美的句号。从大四进组开始,我开始接手和某司的合作项目研究FPGA Placement算法,这个项目相关研究结果首先是在2021年上半年投稿ICCAD’21,当时很遗憾没中,后面第二次转投稿DATE’22再次被拒。大四毕业后,为了多和EDA工业界的人加强联系,大四毕业后的暑假去了上海EDA创新中心实习了一个多月,在上海度过了一个难忘的暑假。九月份以博士生的身份回到学校后,将上半年被拒的论文大幅修改后投稿到DAC’22,这次终于被接受了。

2022年

大四进组后,我给自己订立的一个目标是在利用博士阶段五年时间提升自己的理论知识水平和工程实践能力。因此在大四进组后接手FPGA Placement这个项目后,其中一个努力的方向是希望能把实验室建成国际上EDA开源工具的标杆。FPGA Placement相比ASIC Placement一个更大的缺陷是研究圈子封闭,很多布局布线资源和公司的FPGA架构相关,而这部分并不像ASIC那样可以统一用lef/def通用文件格式描述,因此获取数据更加依赖公司或者逆向工程。这个项目前期工作中稿后,想往timing-driven的方向继续研究。在2022年初,当时和Xilinx公司的人聊过后觉得在ISPD 2016/2017 contest的修改过的benchmark上做timing analysis不太靠谱,于是考虑转向使用港科新出的AMF-Placer的benchmark。这个benchmark属于是逆向工程做出来的,架构设计和数据格式都比较脏,捣鼓了小半年也没搞出来,后面就放弃了。2022年下半年的时候,去合作公司实习做了incremental placement for logic restructure方面的研究。 在公司里面做由于保密需要经常是放不开手脚,后面索性自己在OpenROAD上做研究,这个研究项目的实习仍在继续,后面可能想在这个方向做出一点东西来。

一些感悟

读博是一个孤独的旅程。回顾读博第一年,科研论文产出并不是太多,五月和十一月北京两次疫情封控也严重影响了我的心态,希望开放后的2023年可以是一个好的开始。进入二十岁的第三个年头, 越来越发现读博士是一个本质上只有自己可以push自己的过程。读博是人生阶段中一个少有的可以心无旁骛探索人类知识高峰的一段时期,捏指一算,这样的时光也就剩下不到三年半的时间了。“莫等闲,白了少年头,空悲切”,时间是永不足够的。这里写完一些感悟和想法,希望来年重新看这篇总结的时候能有所成长。

  1. 人在年轻的时候最重要的事情是想象自己想要怎样的未来,从而在当下找到自己想做的事情,自己一个想为之奋斗的事情。 很多人徘徊的原因是担心自己选错了方向,受众面小,夕阳产业等等,这无可厚非。当时往往很多时候,正确与否不是现在的你评定的,是十年后甚至二十年后的你评定的,或者说是由你自己当初想象的那个未来评定的。 往往人想象的未来都是优于现状的。这个未来决定了我们要做的事情。如果这个未来是有包括了财富自由,那这个想做的事情至少要包含复利增长曲线; 如果这个未来希望自己去世后的时候可以留下传世的文学作品,要做的事情是就是广泛阅读。

  2. 战略上藐视,战术上重视。从个人发展上看,教员这句话把非常深邃的发展观解释得简单明了,和复利有着异曲同工之妙。在宏观上做到,“战略上藐视”,aim high,在刚开始的时候把目标定得高一点;在微观上,做到“战术上重视”,每天进步一点点,耐心坚持下去,到最后一定会有惊喜。

  3. 先追求完成,再追求完美。很多时候,在早起阶段过于追求完美容易让我们困在细节中无法走出来,因此错过了后面的风景。实际上这是没有必要的。很多时候觉得优化细节很琐碎,其实是缺乏一个大局观。当把骨架都搭建起来后,我们发现优化细节其实是很容易的事情。

  4. 保持绝对的自信。任何时候,真正制约着我们的都是主观现实。很多事情可能都是我们的主观现实,可能实际上困难并没有我们想象的那么大,可能其实别人并没有你想的那么严苛。在面对任何事情的时候,都要保持绝对的自信,往往实际结果远好于预期。

  5. 保持分享和合作。分享是一个创作的过程,在分享的过程中我们可以认识到更多志同道合的朋友,也是一个整理自己思路的过程。同时一个人的视野和时间也是有限,多点合作和交流能给我们带来更大的收益。

来年展望

新年对我来说,是一个对过去一年、新的一年以及如何对待生活进行反思的时刻。得偿所愿固然美好,但遗憾也能让人学会珍惜和争取。希望大家能从这篇博客中收获有益的反思,能想清楚自己在只有八十年左右生命里获得什么。毕竟,You Only Live Once。