官方催稿梗解释:https://mp.weixin.qq.com/s/sTZ_xhPjr7HVgR_tA1YxPw
由于我之前大一到大三把课都上完了,因此大四除了毕设之外没有任何课程,多出了一堆自由支配摸鱼的时间。
从暑研后半部分开始。主要按照微信的聊天记录来,还有一些按照手机照片和知乎回答。有些和申请回忆录重复的此处就不列了。
Sep. - Oct. 19
九月的时候正好Miskcoo上热榜,当时看到的时候还是排名第20几个问题,正好吃完晚饭没啥事干(不想跑实验),于是就回答了一发。
对应的时间是国内早上8点,然后就以可怕的速度上涨,一分钟涨几十条提示这种。睡一觉发现涨了8000赞,tkpl
十月评特奖。9月马导确实怂恿了一波而且我开始也打算报,但是后面想了想自己状态不行,而且估计了下第一轮就会被刷掉,报了和没报一样,于是撤了。
就退而求其次,报系里的奖学金,但是看了看连综奖的资格都没。anyways
再后面记得是报了报钟士模,本来感觉自己希望挺大的,没想到又是第一轮被刷。
Nov. 19
这个月一大半是在家里过的。
大部分时间在睡觉,剩余时间在写申请材料。
相比之下家里空气挺好
Dec. 19
第二次回学校。交完申请材料已经是12.15了,开始看看实验室有没什么杂活干。
苏老师之前在我刚回来的时候说,如果想要机子的话可以帮我配。后面阎老师又提起这件事,行,不要白不要,那就配了台i9-9900K+2080Ti。也算是有个自己的台式机。
本来想大四下用来跑毕设实验,不过事实是它就没开过几次机,而且毕设的实验……算了我后面再说
然后把实验室服务器四台CPU的给重装了ubuntu 18.04,原来太年久失修了。没想到还搞坏了mfs,还好有付主席救场,不然好几篇icml当场报废(x
之后把所有GPU节点都升了18.04,顺便给实验室服务器写了个实时状态统计的网页,再也不用ansible nvidia-smi或者ansible gpustat来抢卡了
又去软工当了一回测试员,抱着蛤主席大腿把一个组给虚拟机逃逸了。
剩下的时间在毕设开题,后面一起说
Jan. 20
十号左右在外网上看到武汉的事情,于是提醒我爸别乱聚餐。然后反手20号我高中聚餐……现在想想有点怕
此外有个UCLA的面试,糊了个PPT,讲的时候感觉也没讲好,问问题也不会,感觉就是其他人说的那种“只会调包不懂原理”的菜鸡学生石锤了
此外开了个焦虑群,为了避免像王力铖这样的装逼怪在六字班出国大群里面乱发消息。里面经常有各种红包和绿包,不过我发的几乎都是绿包而且只有抢别人红包的份
一月大部分时间在家里返工搞暑研的事情,看能不能抢救一下弄一篇icml。因为transformer+符号推理当时还没试过效果,而且那阵子出来了个用transformer求解微分方程的paper,感觉有点点点点希望,于是就去继续做了做(其实是小黑哥3个月没进展,林大哥看不下去了
于是找了找toy task:一个print任务,输入x和字符串s,输出重复x遍的字符串s;一个sort+unique,限定数值范围;一个四则运算,不过不太能ood表示,后面没搞;一个Brainfuck解释器,输入data、inst、input,输出output。
事实上,大部分任务上原版的transformer能够胜任,效果比我们魔改过的好,不过一来ood的数据就挂;我们的Rule-transformer除了中间结果可解释,能ood之外,缺点有训练不稳定、推理速度慢、性能没提多少。
感觉现在的AI技术栈并不能实现Yoshua想实现的东西。而且掂量了下,都说paper是讲故事,我们这也没啥故事可以讲,实验如果就这样放出来保证被reviewer怼。弃坑了弃坑了。
至此我对科研与发paper已经没啥好感了。
Feb. 20
有些人都横扫了(指akf和dzx都去zlr开live了)而我却连一个offer都没
顺便做了个一键填报THOS的网页,不过反正也没什么人用。
业余时间刷刷leetcode玩玩,看打卡群里面别人刷的题全部做一遍二次打卡,不然自己乱无目的的做水题没啥动力。知乎回答
还顺便搞了下雨课堂,他们当时用户信息泄露了,我拉下来xxxxxxxx条数据之后和他们说了一下,叫他们修了修。
毕设:天授
其实一开始并不是这样的。
在暑研回来的时候,我找苏老师商量下毕设的事情。他给了几个选题,比如自动驾驶、鲁棒性RL、剩下不记得了。但是我在暑研之前就有强烈的愿望想在毕设的时候开发平台,一个是我自己只写过无数遍DQN,搞了这么久RL不懂其他算法的具体实现;二是看付主席去年毕设搞攻防平台,只需要写代码搞开发复现结果就行,感觉很适合我;三是不想再搞result-oriented research了
商量了下取了折中,搞个RL鲁棒性评测的benchmark。虽然我当时确实不懂RL robustness,而且看组里其他人搞了两个学期的RL robustness也没商量好评测的metric,感觉坑有点大。不过……我拒绝research,只想开发
和阎老师讨论了下RLlib的事情,发现他们第一个commit在2016年,而原版天授的第一个commit在2018年,感觉差距有点大。
开题
看了几篇Adversarial RL的paper,感觉完全是把对抗训练给形式化成双人零和博弈游戏,搞成multi-agent那种就行。感觉不太对,照这个道理的话,我把multi-agent的idea改改不就又能在Adversarial RL水几篇了……
Metric总结一下有三个
- 攻击之后的智能体所能拿到的最多奖励
- 攻击前与攻击后,智能体所能拿到的奖励的差值
- 攻击者实施攻击需要花费的代价
感觉还行,先这样
开题之后就去搞Rule-transformer烂尾的事情,在上面讲了
中期之前
把Rule-transformer鸽掉之后就只剩毕设这档子事了。二月中的时候打算是在RLlib上面搭,因为他们家算法比较全。
然后
我看了一个月的文档+example……试图搞清楚里面是怎么运作的,但是只搞清楚了怎么调包连调包都搞不清楚,大量未定义的变量写在yaml里面,没有详细的API文档,而且代码又多,对于我这种要改平台的任务来说十分痛苦。
当时正好学习了下何强的手撸RL代码,感觉十分简洁。
转折是MCDS的offer在02/28到了,我思考了两天,想让毕设作为一个当前research和接下来的ms的衔接(MCDS有点偏系统),于是又和苏老师商量了下,改去重写天授。
原版天授槽点太多了,我这一篇都写不下,比如底层慢的要死,我重构了还是慢;比如API太不灵活了,我自己都不想用,手写的都比原版天授好;比如支持算法太少;比如设计不合理;比如只有TF1.x;比如……
那就推倒重写。
读了好几遍RLlib的paper确认我没遗漏细节,然后想了想画了画和它不一样的结构图,类似最小抽象结构那种。然后就放心写了,因为这个结构广义上来说,大佬们已经保证没啥问题了,出了锅有算法实现不了就不是我的事情了。
于是就花了十几天写完了,虽然中途还是出现了比如ddpg怎么train都train不上去的这种锅,后面迫不得已拿代码一行行对标,然后修了修bug才work
先写的DQN,写完之后发现,咦,为啥只要20秒就train完cartpole了,感觉不太对(正常需要几分钟)。于是找何强check了下,发现没啥问题,20秒是真的。那感觉精简的框架带来的收益不仅是代码层面上的,还有性能上的。
接下来学习了下GitHub Actions的用法,重学了下软件工程和单元测试。感觉之前软工白学了,怪不得3.0……
之前都在个人的private repo下面测,到后面才挪到实验室GitHub上面,覆盖掉原来的天授(原来的代码为了保留记录,挪到priv分支上面了)
然后找了找几个平台来跑toy scenarios,发现天授还挺有优势的。即使是toy scenario也跑了两天。。。我对OpenAI baselines无语了
在之后就中期答辩了,中期前一周写了个知乎,又被刘导翻牌子,于是star就开始涨了。
PR
我得重点说一下这件事情
我确实想试试pr,之前攒了一些资源(比如知乎)没用过。但是也是抱着去尝试的心态去体验的,并不是为了PR而PR。于是先在知乎上面发了个帖,感觉效果还不错。
看量子位之前联系了黄学长搞了个pr骗到很多star,我就去问黄学长量子位的联系方式。要到了之后……他们天天咕,明天就写 明天就写.jpg
没想到被机器之心头条先发了。(我并没联系他们,他们经常未经作者同意就发,比如后来蹭了个zCore的热点结果被蛤主席怼回去了,老老实实删推送)
那量子位不太行233333,我都送到他们家门口了他们不要,那就不是我的问题了(
量子位在第二天勉强发了个,效果也不是挺好,anyways我就没去管了
机器之心的评测感觉还有点水平的,跑我之前没跑过的不是toy的scenario,虽然还是work了。后来也联系到了写这个推送的小编肖清,交流了一波感觉挺厉害(比如教育了我一下Gaussian Policy的sigma通常都是nn.Parameter而不是conditioned on observation
再后面就是新智元了。不得不说,林大哥说得对:“新智元就是三流媒体” (他这么说的:“他们要捧谁就直接造个子集,里面有些很牛逼的大佬,还有他们要吹的那个人”)
媒体丧失了独立性的话,比如新智元这个,宣传口径被实验室统一了,就感觉怪怪的,还乱带货(比如我个人的一些事情)。但……不管了,低头就是了orz,饭还是要恰的
再后面的pr我就没去跟了,反正做东西才是正事,pr是1,东西是后面的0
再后面就四月中了,主要添加了rnn支持和多模态场景,以及其他一些bug fix,还花了一周多把文档写完了
主要是没什么人(zmh咕咕咕),而且干别的事情(写tuixue.online/visa)去了……
答辩之前
四月没干啥,五月写论文。
感觉和中期之前差不了多少工作量,想想还有啥能去讲故事的,于是就比了比平台的功能。
于是功能测试实验是我做过的最简单的实验了:看代码画表格,几乎不用跑代码。
性能测试的话,本来想跑mujoco和atari,但是……zmh这家伙一直鸽,nips结束之前(6.5)都没空。算了算了。(再鸽下去我都想把他二作除名了
写论文的时候感觉就是完全反着写:我先(从DeepL上)弄最后的翻译文献,然后是abstract和conclusion,然后写intro,然后做实验、写实验,然后写算法概述(顺便第五次日常重学RL),然后写core method。
感觉反着写还挺好的,至少不会出现“写出来之后重新看,感觉有明显的思维断层”这种现象。因为每个chapter我都是独立写作,和其他chapter几乎没有联系。因此可以从任意一个chapter开始阅读而不感到突兀。
此外叫了好几个人帮忙check thesis。还有查重根本不用care,自己写的直接交就行,我就直接交的,什么代码、表格、致谢、声明都没去掉,0.1%重复率。
最后就把中期ppt改改变成了答辩ppt,反正都是吹牛逼大赛,能把老师唬住就行(x
还有件事情是朱老师说可以去投一个jmlr,四月份说的,现在已经六月了,鸽了这么久不太好意思……
不过即使投了又有啥意义呢?除了涨citation。涨citation也对我没啥意义,我又不找教职,又不申请phd;写jmlr还不如花点心思完善文档,GitHub star还能多涨点。
Update: 后知后觉发现是CCF A期刊,真香,6月下赶紧rush了一发投出去,反正也就四页
总结一下:我的毕设是如何越变越水的
开题《深度强化学习的对抗攻防算法研究》
标题确实越变越长,范围可是越来越小了lol
不过后面用的人还挺多,还蛮有成就感的(比如star一个月超过了rlpyt,让astook毕不了业的第一阶段任务达成),不像之前那样做一些无意义的灌水动作,即使调出来了,又有人会看吗?
tuixue.online/visa
三月初的时候美帝感觉形势不对,准备关签证。大概在3.7的时候看到有个中介发了个图,上面写着几月几日哪个领事馆最早能预约签证时间。
我觉得很有用。
Version 1:3.7-4.8
于是说干就干,当晚搭了个网页在http://tuixue.online/visa。用selenium花了半小时造出了个爬虫,由于需要验证码,每次得手动输入。结果会被保存到一个json里面,于是我每次只要把json传到服务器上面就行。
更新频率是每天两更,一次是我早饭饭后,还有一次是傍晚吃饭前。
就这样大概过了十几天,没啥特别的变化。往一些申请群里面发了这个链接,点击量也就那样。
Version 2:4.8-4.15
转折是老卢往一亩三分地里面发帖子骗米,说这有个签证日更网站大家都来看看顺便给他自己加米。由于网址比较特殊、favicon比较独特、日期记录了十几天比较多、而且还有下面“本网站一共见证了xxx人次的失学”,要 素 过 多,于是给大家留下了深刻的印象。
那天开始访问量一天一两千。
后面被我后台查日志看网页refer的时候发现了。骗米这种事情居然不叫上我……太可恶了
于是就发了两个帖子【1、2】也开始骗米。这个时候是四月五号。
想想既然人多了些,可以把验证码这回事给众包出去。刷新频率由用户决定,如果喂给了它验证码的话就会立即刷新。这是第二版。
过了几天发现我在登陆之后没手动logout,于是被ban。加上了手动logout之后可以大幅提升刷新频率。
并且顺手加了评论区,disqus一行script就搞定了
之后日活1万起。
Version 3:4.15-4.30
有人说要搞个推送通知。我觉得得先把验证码搞定了再说。
这个时候是四月中,手上大概累计有1700张验证码。想着手写个cnn看看能不能work,写了发在这里。结果一train发现train acc=100%,test acc=0%,感觉是样本太少了完全不能泛化。试了试别的验证码repo也不行。
然后找到了fateadm,不得不说质量还挺好的。充了¥100进去。还特意花了一个早上去GitHub上面搜刮别人不小心放出来的fateadm secret来白嫖(
还学习了下echart.js的用法,感觉确实挺nb的,画出来之后发现了48分放位置的规律。黄大大之前和我讲早上8点或者中午12点会放位置,骗人的,都是因为比较接近48分,所以有位置能捡漏,反而推导出一个错误的结论。
写完自动验证码之后就开始写邮件推送。上面12月摸鱼的时候写实验室服务器状态统计的代码又排上用场了,直接抄过来,发现:
阿里云太sb了
为啥连smtp都给封了,而且要交钱才能解封……这饭恰的,吃相有点难看
于是只好http到实验室服务器上面,用实验室服务器发邮件……
为了讽刺一下申请,我把tuixue的订阅邮件做成了committee发邮件的风格,确认邮件第一封是我UCLA的拒信改来的,第二封是我CMU的录取信改来的。
最后加了下我的打赏二维码,第一天入账三位数,直接回本了(
此外在中途还压力测试了一下,发现直接php效率太低了,每秒只能弄二十几个链接,这哪扛得住。。。解决办法是:1. 用python定时刷网页;2. 把apache2换成nginx。做完之后能到快一千的压测,而且资源占用变少了,感觉还行。毕竟服务器比较破,这个数字已经很好了。
Version 4:4.30-today
上一个版本跑了十几天,中途添加了HK的位置和B/H/L/O签。有个北航老哥ljg在tg上面找过来交流了下,他说想用request重写下爬虫。
然后29号他写完了,30号安排上去感觉一分钟更新一次的曲线图也太太太太太太太好看了!
【本段内容都是ljg做的】再后面没啥大幅度更新了,就是fateadm用多了之后把(一万张带标注的)验证码收集起来自己train了个model,虽然正确率只有50%-80%之间但是可以用了;还有加了TG和QQ通知渠道、加了台北的更新。中途还因为QQ群满了充了一波钱,把200人群升级成500人群。2000/3000人群太贵了,一个号只能搞一个而且还得是年费会员,要好几百,不干。
本来打算放Google的Adsense看看能不能赚钱。好不容易过审了,一周之后发现,我原本以为他们家的广告很有品位的,没想到啊没想到,全是那种劣质广告。而且一周下来才12刀,只有有效点击才会给钱,而有效点击多半是误触。没啥搞头,还不如我把打赏二维码放到更醒目的位置,这样收益更多。于是就撤了。
中途还有些有趣的事情,比如五月六月的签证预约被撤销、789月沈阳周三被撤销,ljg的预约也在里面被撤了,于是他很生气,写了个自动抢位置的bot,抢到了北京的7.2。orz
至今累计打赏好像快2000了,没具体算过。然后访问量的话累计已经200w+了。
其实还有个Version 5,ljg把前后端完全分离了,搞了个Django的API来分布式地部署,还能容错。不过这是后话了
来个小结
可以说天授和退学这两个项目是我大四下的主体。有些感触:
找对需求
找对需求才能持续。造出来的故事可能好听,但一定流传不远。
天授是因为不少人想要把rl算法运用到自己的场景中,比如分子结构预测之类的定制化场景,而现有框架并不能很好地支持;并且那些人可能是rl小白,并不是所有人都像社区里面的那些人那样那么懂rl流程,因此一份简洁的框架代码+完善的文档显得尤为重要。
tuixue是刚需,约不到签证没法上学。
讲几个我认为的反例:
闭社:很多人就是只想自己发票圈解决社交需求,不需要额外一个匿名平台来发泄,因此它会凉。
CollegeGuide:选课的话找本系学长一问就行,为啥还特意去上面看……一般都是一届一届传下来的。而且,选课这个没法搞个成熟的商业模式,就算是打广告的话由于受众群体本来就少,不能弥补盈亏(tuixue一周十几二十万访问量也只能拿到12刀广告费);而且如果不宣传的话就没人用,要宣传就要烧钱,这个是个恶性循环。
我觉得把他俩结合起来倒是挺好的,比如做一个校内平台,类似留学中介学术导师的性质,又有点像fiverr,可以众包选择付费咨询服务(比如学业咨询、职业生涯规划、申请规划、建立和学长学姐的connection),也可以在公共论坛上搜集信息,这样用户能有付费意愿,也能帮助用户提升自我,做好规划。不限于出国,保研相关事宜咨询也可以在里面做。
提升用户体验
用户体验好了,用户粘度才会提升。
天授的用户体验靠文档和示例,我承认这个确实还不是很完善,是很要命的一个缺点。不过……相比别的平台比如rlpyt的话,好太多了。于是在issue里面才有那么多好评(x
tuixue的用户体验就多了,比如画统计图表,比如定制化邮件通知(设定日期threshold和想订阅的地点),比如做手机端网页的UI适配(花了半天调html和css),比如优化爬虫,加快刷新频率,比如放置评论区。
其实搞UI设计这件事情也挺有讲究的,比如在手机端要做到在一个显示屏幕内同时展示折线图和表格头部,以及其他部分文字提示尽量精简,不然是没有人愿意读一大段文字的。
我其实在4月的时候还一直有个错误的想法,在从上面的version2到version3过渡的时候。我认为如果我把邮件通知做了,我的网站日活就会少,因为大家都不想刷了,等邮件就行。但事实上从统计数据反应,这个想法是错的,日活不降反升。原因在下面。
宣传与推广
都不宣传是不行的,不然就没人用了。但做出的东西质量好的话,会有用户真心实意愿意帮你推广,而不用自己主动去各种后续宣传。
天授因为代码简洁和速度快,被不少社区内的大佬看中。一个例子是在四月的时候,李飞飞组里一个搞robotics的phd老哥Jim Fan在RLlib的slack里面公然宣传天授,(我并不认识他),原话是这样的:
然后被Eric Liang(RLlib一作)看到了,他发邮件来问我有没有兴趣去Ion的公司Anyscale实习。ssfd
tuixue这个就更有的讲了,因为效果好,不少人在4月靠它约到了签证,于是这个网址的足迹遍历各大国内外高校(学长学姐/同学找到我说,“哦原来是你做的”)、各种微信留学/滞留群(别人和我说的)、各种留学中介(甚至zlr后面通知我让我用tuixue查签证,我说,这就是我做的呀2333)。久而久之,不用tuixue的人约不到签证,于是大家全得用(大雾(貌似加剧了内卷…
在用户体验提升之后(指邮件推送),日活不降反升,因为想蹲的人还是会去蹲,把不想蹲的人解放掉反而能够赚一波免费的宣传。之后就两三万日活了。
影响力导向
说实话,如果当一个码农的话,最大的成就莫过于自己写的代码被更多的人、更多的系统使用。这也是开源社区生生不息的原因之一。
在中期答辩结束之后,苏老师找了我一次,“有没有想过持续维护平台的成本,一般来说这些平台都是大公司维护的。我本意是搞个robustness benchmark,如果有人往这方面做的话必须得拿我们这个为参考。”
我是不同意的,有这么几个理由:
- 即使是robustness benchmark,受众只有搞RL robustness的;而且这个方向感觉……没啥特殊的搞头,就是A+B式的灌水,我也不适合做这些开拓性的工作
- 平台一定要大公司维护?那不见得。商业化平台确实是大公司维护,但是这种开源项目的话其实挺多是个人在维护,举个例子比如 这个
- 这个是从实验室长远发展的角度来看的:既然之前口口声声在组里说要做有影响力的工作,为啥不直接就把平台搞下去。基础设施建设是最容易获得影响力的项目了,之前的珠算就是一个很好的例子。而且掌握了一个平台相当于拥有了一定的话语权,之后在整个community里面也可以有一定身份(虽然我因为申请PhD没申到被除名了qwq)
于是苏老师就被我说服了,我终于可以从robustness大坑里面逃出来(x
有一句话叫做“淘金不如卖铲子”
这也是为什么我经历了这两件事情之后,更加坚定了不走学术道路的原因之一。我更愿意去做一些能够让更多人受益的事情。
如果现在叫我去写paper,我觉得我真的没啥动力,还不如去维护 THU-Beamer-Theme,这玩意至少很多人用:)
其他
也算是难得有在生产环境激情hot fix的体验,比如在线debug,当时从apache2切换到nginx出了点小故障,网页down了一会儿还好没什么人投诉;还有各种临时修bug,还得运维。确实挺锻炼的。还有俩中介问我要不要重新申请,他们可以提供免费服务。我说不了不了
还有就是不断有人给天授提issue,我所有的issue都回复了,而且是以跪舔的姿态回复的,用户说啥都对,哪怕他问再sb的问题都必须得好好解答,不然累积不到用户,不利于长远发展。
不少人找到我的CV,发邮件过来,下面会说。
找实习
TL; DR: 知乎千赞
在刚接MCDS之后由于美帝的情况急转直下,准备做两手准备,找个暑期实习之类的,进可读书前刷简历,退可defer一年观望。
同时这段时间我正好在开发天授,想着有pr之后能够好找的实习。
投了三家,腾讯的pre留学、华为、阿里的广告部
腾讯pre留学是他们天天在微信群里面转,见多了就蛮去试试,于是就投了;
华为是一个hr通过thu-cst-cracker的页面找到我,貌似他把里面有id的人都用微信加了一遍,比如zex就被他加了……但是后面有人告诉我这种泛泛的hr不太合适,得找专门的hr对接希望才大;不过反正后面也杳无音信,没去管了
阿里是天授的推送出来之后,游凯超把之前联系他的一个阿里广告部员工给推给我,于是我就让他帮着内推了下。一周之后发现这个人和杜超是同事,杜超就是之前坐我实验室左手边工位的学长。ssfd
剩下不投,因为之前在sensetime实习过了,想换个环境,看看大厂都是怎么来的。
天授的pr出来之后,确实有不少人联系过来,比如(按类型-时间顺序)正常公司有快手、腾讯TEG AI、图森、字节、蚂蚁金服、百度MEG-4S、阿里达摩院;量化公司宽德、思勰、幻方;以及MMLab、还有ANU的一个Prof问要不要申请PhD(大雾
投完过几天发现MCDS要暑假上网课,年年都是,想着暑假要上网课+维护天授,再来个实习就吃不消摸不了鱼了,于是……就当做是免费的面试练习吧,大不了如果对面发了offer可以拒。
腾讯先来,上午一个自称搞无人车的leader来电面,下午他一个手下来打电话面试。上午那位比较聊得来些,我讲完我的profile之后他就直接跳过任何问问题环节了,于是开启聊天模式,比如我问“宁为啥选了无人车?” “无人车比较和我CMU研究生方向比较match,我搞SLAM那种玩意。……CMU每年都会向校友发捐钱信呢”
下午在我说完profile之后说不问了不问了,可是还是问了些问题,记得和online learning比较相关一些,偏向正常的ML。但众所周知,训RL不能用原来那套ML来对付,于是我对ML的理解和别人对ML的理解有distribution shift。不会咋办呢,现场圆场,“我之前接触这方面确实不多,但是在RL里面我是这么解决的,blabla”
我本来是因为之后读MCDS,或许不搞AI(不过Nyberg上课一口一句AI),想尝试下其他的方向,所以投递的时候说任何方向都可以。当时HR过来说自动驾驶有个组要,我其实不是很喜欢,但是那个时候我已经打算不想去实习了,就anyways
于是之后3面是hr面,我直接和hr说“我不想去,能换个组吗?”因为找二面问了下如果去的话要干啥,他说做点云数据。真无聊,不想做。
再往后进度条就变灰了。
阿里在腾讯之后,比较有趣。复述一下面试流程。
首先是要做一个10分钟中文GRE+10分钟比按计算器手速+10分钟智商测试,还有三十分钟三选一,类似心理测试?反正没啥用
之后4.8下午场的算法题测试,两题,第一题有公式解但是由于爆int拖了20分钟;第二题sort一下然后按顺序for过去就做完了,我当时脑抽把它弄成dp来做,结果被卡常数了。活该
然后一面是在腾讯二面之后。我又是按照常规的顺序背诵profile,不过对面也是搞RL的,于是就有点东西了:问一些之前的项目细节,比如RMDP和Yoshua暑研,交流了下感觉还行,我确实挺喜欢RMDP这个idea的,他也挺喜欢。
两天之后二面,还是按照常规顺序背诵profile,然后问project,问天授的设计抽象图,问Yoshua intern工作,之后问了个“你觉得RL和supervise learning有啥区别,比如reward也算一种label”,我当时就说RL有超过监督学习的能力,upper bound不一样,然后被他掐了说“我也问过你的学长学姐,他们答得比你的思考更深入些”
后面总结了下我对这个问题的答案,在这里
最后到时间了,他总结了下说我的自我介绍太长,抓不住重点,比如直接介绍天授、介绍VizDoom比赛、介绍暑研就行了,没必要从头到尾按照时间顺序一个个来。然后就是扯起阿里星的事情,我感觉他把我下意识地当做入职面试了……说“朱老师实验室组里的那些人入职阿里都是阿里星,你这一个本科生……不过本科生也有阿里星的先例,反正接下来的面试好好面”
结束之后还特意查了查阿里星是啥概念,看到要面至少五轮……妈呀不带这样的
十天之后三面。中途想了想如何讲profile有更好的效果。抄一遍:
“我觉得这个profile确实在我见过的清北里面都算少的了” // 第一阶段成功
我记得他原话是说“闪闪发光的人”,忘了整句怎么说了…
“那我们也不按照常规的面试流程来了”
“你想要什么?” // 我想要影响力啊,我上面不都讲了(x
然后就扯了一堆,由于没法确定能不能上学,于是打算实习,而且阿里这个平台能够给我更多的锻炼机会,实现的产品功能能够被运用在许多的场景中,毕竟阿里的用户基数大。
然后就被他怼了,“那我觉得如果是这样的话,我不建议你在这个时间去实习,一是浪费你自己时间,二是浪费公司时间,阿里也没有针对实习生的专门培养计划;我也不建议你去头条/腾讯或者其他公司实习,还是建议你多想想自己想要什么这个问题。”
行,看起来阿里不收我这种还打算读书的实习生。
“那接下来的时间你可以问我一些你想要了解的问题。”
行,你是要拒我,那我就来互相伤害。接下来就扯了些有的没的。以下知乎原文:
“您对于‘你想要什么’这个问题是怎么考虑的…?”
他的回答确实是表明他沉下心来专心搞一件事情,提升技术能力,追随自己内心的声音。我非常佩服
(省略中间几个无关紧要的小问题,最后)“那我是不是就没有四面了?”
他:“嗯,你意见如何?”
“我觉得可以。谢谢!”
于是阿里desk reject,三家看起来是全聚德,只好头铁去上学了lol
之后其他人加我我就直接说我不想工作,暑假要上课,要等MCDS毕业了才考虑。
终于可以除拒USC MS之外的(伪)offer了 lol
Mar. - June. 20
三月份有个小插曲:NHS给GitHub在去年3月前达到16个followers的开发者发钱,把NHS换成BTC再换成CHN的话,价格波动有点大,开始5000多,跌到两三千之后在3月5号的时候涨到了10000。
开始的时候蛤主席在TUNA秘密花园里面通知,我没理会,因为感觉有点少。于是TUNA群里面一堆人在两三千的低点卖了。
等过了几天有人突然发现涨到一万了,感觉还不错,就委托蛤主席帮忙全卖了。换成BTC之后当时等值RMB是10500
我当时想着,反正都要去美帝读书,不如把这笔钱直接换成美元得了。于是又让蛤主席换
蛤主席在localbitcoins上面找了个毛子:
一开始都还好,还嫌弃了下paypal的3.9%天价手续费
一周之后
???
好像这人被ban了,连带我的一千多刀被冻结了,哭了
后面和paypal客服argue没argue成功,于是到手的一万块就这样被PayPal吞了。。。早知道换成rmb
天授出来之后,系里打算采访一波。花了一上午(正好是腾讯面试的那天)在微信里面写了一堆过去。
但是
但是咕到现在还没放出来
lgd:”威哥说要搞个酒井人物合集,就先不发了”
行
之后还有一件有趣的事情。有人在CMU家长群里面装家长,我觉得挺有意思的,就去玩了玩:
里面有一半是内鬼2333,搞到后面一大波上一届的CMU学长学姐都慕名加群进去,不过我有点玩腻了。
还在wsy安利下看了冲浪普拉斯。这种视频看多了就会产生一种“我上我也行”的奇怪错觉。
我还仔细想了想一个问题:科研和创业有什么区别。感觉差别不大,我是这么分析的:
选题要调研,要分析需求以及痛点难点,还要讲故事,不然没人愿意听而且没人给你funding;
中间的过程相当于技术选型,拉人一起入坑干活,跑各种测试佐证,不然没说服力;
等东西有个原型了,准备宣传/发paper,要应对各种别人的刁难,比如为什么用这个东西而不用别的;
后续的发展还要持续性的投入,比如科研上别人跑你代码、给你引用,你得解答如何使用以及维护系统,对应到公司就是市场营销和售后服务。
就会发现其实这俩差不多……只不过每次做的科研项目相当于是个小规模创业?所以就能解释为什么PhD毕业去创业的人要比其他层次的人要多?
六月份北京突然来了个新发地,导致无法返校举办毕业典礼,于是只好叫ljs帮忙收拾宿舍。
对于学校而言,当然是刷墙比毕业生更重要啦~
拨不了穗,于是就在群里面装了装校长玩:(我的群昵称是邱勇)
其他
要毕业了,没有不舍。每次毕业我都不想参加所谓的仪式,没啥好当面纪念的。
过去
下面有些问题摘自学生会倒计时20天回忆挑战,有些是自己脑补的
Q:大学生活中,有没有去非常激动地做一件事情的体验?
有的,干坏事就特别激动。每次日别人网站搞进去了就满满成就感,然后通知网站管理员去修。(虽然都是一些低端漏洞适合我这种没入门的业余安全玩家来玩)
Q:大学生活中,有没有值得一提的事情?
还挺多的。
- 大一:OOP课程大作业拿去发了一篇TCAD
- 大二:掌握了些网安的皮毛技术;实习面试了两位数的人;图形学A+;VizDoom比赛拿Rank 1
- 大三:加入了白帽子小分队(名字乱取的,没正式名字);当了实验室服务器管理员;搞了个GitHub repo骗了五位数star,后面大部分贵系学弟都只好把我的作业当upper bound;找到了殿堂级暑研
- 大四:知乎营业出去了;重写了天授;做了个查签证网站日活五位数;GitHub快四位数Followers
当然还有些别的事情,比如我把B站上所有学生节视频都看了个遍。
Q:四年以来自己身上最大的变化?
感觉没啥变化……可能变得会写blog了?(大雾
真要说的话还是有的,之前会有意识地去投资未来(比如高中把微积分看完,大学没怎么学就拿了A),上大学之后目标不像之前那样那么明确,变成了无意识投资未来了。
还有就是比之前更会表达自己(sell myself),学会不要脸(比如各种问问题)
Q:有没有在清华留下未完成的遗憾?
这是个沉重的问题。从头捋一遍世界线分叉都有哪些。
大一下转系
如果我没转系而是留在自动化,现在会怎样呢?
可能就是普普通通保研,不出国,搬砖去了(拿到的消息是如果我不转系,那么更适合留在国内
大二上找实验室
我其实一直以来很想从事图形学的研究,在高中搞oi的时候就很喜欢计算几何。
我也很喜欢搞安全,谁不想当个hacker呢(
写AI感觉也可以,我在高一的时候写过一个玩2048的AI(底层Miskcoo写的,当时为了社团展示,orz),效果还行,一口气写几百行代码也不累的那种
就是因为大二上,系里的学术新星计划里面,胡事民和段海新两位老师都没项目在里面,于是就选了朱军老师的(而且还是黄大大推荐的
大一的时候黄大大是这么和我说的:“要想出国的话,如果搞AI可以找朱军、唐杰、崔鹏,这三位是系里的rising star;NLP可以找刘知远;图形学可以找胡事民,不过比较push;其他不是太了解”
如果在另一个世界线,我没有报学术新星,而是去搞图形学/安全去了,会是怎样的一个结局呢?
决定是否出国
大一的时候听了几次某中介举办的留学经验分享会,这些学长洗脑说“如果能同时选PhD和MS的话,不用考虑MS,直接PhD就完事”。
现在看起来这就是扯淡【手动微笑】
其实到大二下开始,我也没打算好是选择留在学校还是去国外,只不过是倾向去国外读PhD,一切动作都是有意识地按照这个目标去做的,比如去Sensetime实习是看他们很能水CVPR,看看能不能蹭一些paper(结果并不能);比如大二就进组。
大二暑假又去问了一次,结果是国内不行,国外很好。其实转系之前就问过一次,转和不转的国内/国外的结果是完全相反的。而这次和之前是完全对应的,那我也不敢违抗。
如果留在实验室保研了,按这个结果解释,会不会因为某些不可抗外力导致毕不了业,或者是自己没做出来什么东西导致重度抑郁,整个人废掉?不知道
大三找暑研
如果当时没去放弃CMU暑研申请名额,按照我的申请结果来看可能就能弄到CMU的PhD了(大雾
不过也说不好,万一去CMU搞东西没搞出来,万一申请签证被check几个月,万一……谁又说得准呢?
申请策略
主要分为两个问题
第一个是科研与标化的时间投入比。我这种人是十分厌恶考试的,标化考不出来就考不出来,就连期末考考个60我都无所谓,连argue都不去argue的那种(指软工期末和计原期末)。
但如果我把泡在实验室的时间一半拿去专攻标化考试,结果会如何呢?可能连MCDS都没有。因为标化超级高但科研平平的人大把大把,如果这样的话,和别人又有什么区别呢?
第二个是选择申请PhD还是MS。还是大二暑假过后那阵子,问暑研的时候顺便问了下我该申请PhD还是MS,答复是只能申请MS,PhD的结果和国内一样。这里写一个list表示一下:
- 国内读博 x
- 国内读硕 x
- 国外读博 x
- 国外读硕 o
现在看起来是对的。一是我确实不想继续搞科研了,会有那种逆反心理;二是我确实只有MS的offer而没有PhD offer;三是即使有PhD offer,能不能出得去还是个问题,主要是签证(毕竟MCDS是个顶级的course-based degree没有任何research,而THU又是very high risk)。
讲个笑话,申请之前去问了下该只申请MS还是MS/PhD混申,答复说都行,在拿到MCDS offer之后终于知道是啥意思了。。。PhD全拒的意思
在还没出生前,我们的命运就已经被确定了?我不想承认,但是事实一次又一次告诉我这是对的。
因此也不算遗憾吧。如果未来某天时光机发明出来了,可以以上帝视角来进行干扰:自变量都列在上面了,我觉得这些分叉和对应的结果应该挺有意思。
Q:如果回到四年前,会对当时的自己说什么?
没啥好说的,顺其自然就行,该摸鱼摸鱼,该干活干活。
未来
在申请回忆录最后我放了个张明瑞学长的博客。感觉邓公说的真的挺好的。尽可能的多经历,去寻找自己真正想要做什么:
以及并不准备defer。四月五号约的沈阳7.7签证,中途经历了沈阳789月周三撤销、5.22-6.5撤销、6.8-6.26撤销,所以我就莫名其妙变第一波面签的人了(大雾
签证预约被取消了,感觉等使馆正式开门再去约吧,反正拿到了签证也去不了。。。大不了上网课上几个学期
我觉得在CMU的话可能上课作为副业(反正都是花钱镀金),更主要的是增长见识,看看有没有什么有趣的事情可以做,顺便结交一些有趣的人。
以及一些杂七杂八的看法
世事难料:完全没法知道几个月之后会发生什么,二月份还是武汉gg,美帝一副啥事没有的样子,过两个月就完全反了过来。
很反感23,尤其是在自己不行的时候:THU6字班申请群里就我标化最低。那些人说啥我都不敢吭声。
异化:针对THU这种GPA为主的评价方式,我的观察是,不少人就失去了自我,被推着走(我也确实有段时间这样)。即使是有了GPA,之后如果没想清楚自己想干什么,或者是其他能力并不能匹配这个GPA,都是很致命的问题。再加上没有校内的论坛,每个年级之间的信息交流不通畅,自己也缺乏职业规划,结果就是一路跑着跑着,跑到终点就不知道该干啥了。真是十分悲哀的一件事。
有些人就这样人云亦云地保研/出国读PhD,但是,他们真的想专心学术吗?他们真的适合学术吗?他们没想过。
还有世界上没有绝对的对与错,每件事情从不同的角度来看其实都是不一样的。
最后是眼界的问题。我觉得THU这个平台对我而言还是能够提供足够的资源和视野,让我经历一些之前不敢想的事情。在不同的阶段自己的眼界完全不一样:之前确实只局限与自己的一亩三分地,在大三上的时候看到完整同龄人profile之后第一次意识到了不能用他人的评价标准衡量自我,在大四下毕设前后又一次看到了不同维度的评价标准带来的效果。
即便是校内直博,我也不会把自己局限在三篇A毕业这个标准,这太无趣了。不少人确实局限在了这个条条框框中,吭哧吭哧做实验写论文和reviewer撕,即使刷SOTA苦苦调参刷出来了,最后找到一份好工作,然后呢?没有人会记得。
我是很认同朱老师和苏老师说的“做一些真正有影响力的工作”这个指标的。这才是学术,哪怕是花几年时间让我啥也不干,就只负责开发基础框架,中途没有任何产出,那我也愿意。
所以大学生活就这样连载结束了(
Read More