毕业后

intern@双清

毕业后在家待了一两周,又回到北京,在李华楼做了三周的人力标注员。因为说是和LLM相关嘛,我也想看看经管是怎么运用LLM的,结果去了发现和想象的不大一样。其实师兄师姐人都很好,只不过我不太能适应这份工作。很巧的是,研究用到的语料和强化学习相关(王者荣耀开悟挑战赛),让我产生了接着做RL的想法。五月份和USC的微调chat了一次,他建议我可以考虑在国内做intern,然后说他八九月份会联系我。但我没有等到(我前几天用google帐号登录Slack,发现收到了ASAP Lab 的 invitation。但是我那段时间不怎么看谷歌邮箱,以为被默拒了;另一个原因前面也说过,我最终意识到微调的方向我没啥基础,也谈不上很感兴趣,既然在国内接着做了,倒也不急着去联系USC的老师)。然后还给茶园的两位做RL的老师发邮件,也没等到回复(其实后面受到了wy的回信,但鸽了)。所以走投无路,就来投奔超姐。

超姐一开始高估了我的水平,让我做LLM+RL相关,也没给什么具体的idea,就让我一个人搞。我前几周有点心不在焉,遇到问题也与组里其他人缺乏交流,所以没啥进展。当然主要还是那时候的我太菜了,没啥水平,沟通表达能力捉急(现在也比较捉急),这个project超出我的能力范围。那次组会超姐说我说得很重,我也接受批评,改做更加具体的多无人机颠球任务。之后两个月主要就在做多无人机颠球,看omni_drones有没有什么bug,调MAPPO,测试一些configuration。还尝试过对抗式任务,self-play,fictitious play,PSRO,但失败了。临近跑路的十二月还尝试用RL代替传统算法中一个系统的controller,也卡住了(我觉得那套东西小模型capacity是不够的,况且接球的任务对controller精度要求太高了)。不过这两个失败尝试在我离组后都有人接盘,所以并不是毫无意义的吧。我觉得adversarial setup是有可能做出来的,只不过我做的尝试不够多。至于后者……要在具体某一帧达到target pose,我感觉dynamics太复杂了。

当我低年级第一次接触科研,超姐还没毕业,枫哥在读硕士。现在超姐已经结婚,当博后了,枫哥也在茶园接着读博。粟全去了深研院,当时看他正在准备一篇会议的投稿;雨翔去Gatech读ms,据他说大四就再也没进过实验室了,毕业后打算去工作。还有当时来交换的jyq巨佬,大S EE PhD,这也太强了。只可惜她在北京时没机会和她见面,现在我来了加州,倒不好意思去找她。只有我自身出了状况,虚度岁月。人是物非,有些感慨。

这段时间还认识了botian,羽麟,坐斜对面叫不出名字的师姐,楚琪,瑞泽,等等等等。大家的人生轨迹各异,从他们身上学到很多。比如羽麟作为尊贵的沪爷,本科在牛津学物理,毕业回上海做量化,在我这等凡夫俗子看来人生已经完满了。但他却选择辞职来做RA,申请来年的PhD。祝他在爱丁堡实现自己的人生价值和学术理想。还有botian,当时请教了他不少问题,他还好心提醒我一些事情(当然可能大家的看法不太一样)。虽然我到没多久botian就离组了,我和他的非学术交流也并不多,但他的经历激励着我,他的心境我也能理解几分。在我看来他已经是一名独立researcher了。祝botian在许华哲组科研顺利。

最后再次感谢超姐对我的帮助和指导。除去港科的remote summer intern,我本科的科研经历,都是在超姐这。然后我后来可耻地跑路了,超姐不计前嫌,也没嫌我菜,收留了我。五月份我不知道自己的状况是否适合读PhD,请教超姐,她还给过我很长的回复。我本科走了一些弯路,却迷途知返,没有放弃对未来的希望,原因之一就是遇到很多超姐这样的好心人。祝超姐婚姻幸福美满,出站后留下来做AP,彻底成功。

My first project

我还写出了我的第一个project:gomoku_rl。为什么写这个项目,直接原因是那时超姐让我试着实现self-play的算法。但self-play算法直接在无人机上尝试比较困难,我就想能不能先在一个简单的environment上尝试。botian的omni_drones是基于Isaac Sim的,可以在GPU上同时跑上千个并行的环境,我觉得这也太牛逼了。当时我灵光一闪发现五子棋的胜负可以通过卷积判断,于是就有了这个项目的雏形。但搞了一阵发现,其实是有本质不同的,五子棋是extensive-form,两个agent的action执行有先后顺序,而normal-form game中不同智能体同时决策。而且黑棋白棋策略有很大差别,无人机颠球不同智能体则应该是对称的。所以五子棋的self-play和在我们任务上是有gap的。

但最终还是把这个项目做了下来。比较现实的原因是,我简历上一个project都没有,比较寒酸。我有几段experience,但都没什么公开的成果。超姐让我做的工作偏向于探索,而omni_drones我和羽麟也都只是使用(虽然找了些bug),并没有深度参与进来。所以这半年也不会有任何产出,这样当时的我有些焦虑。

由于是第一次,它有很多缺点,比如最开始没有Collector,直接在Environment上实现各种不同的rollout,高度耦合(后来终于重构了)。但这是我的第一个project。主要的开发集中在十月到十二月,多次大改,踩了许多坑,还有过一些失败的尝试,最终在$15\times15$棋盘上训出人类水平的agent(还是不能完胜,但模型参数量也不大)。离谱的是,Independent RL训出来的效果很不错,fictitious play,PSRO这些效果却极差。这和论文上吹的也不一样啊,说好的Independent RL不能收敛你们的算法能收敛呢。还是我代码哪里写出了bug。PSRO论文里提到还有另一类工作解决MARL non-stationary non-Markovian的问题,但我目前不做MARL了,并不是很感兴趣。项目的完成度已经比较高了,就先这样吧。

北漂生活与老家躺平

只在双清待了两个多月,其他时间都在老家remote。每月2560在北京的确有点难绷,租房都不够,而且我住的很烂(照澜院真垃圾啊,小时候我爷家的房子都比它新)。在北京我的作息通常是,睡到十点多,去华清嘉园/圣熙/双清对面的小吃铺解决早午饭,下午在工位干活(摸鱼),晚上去圣熙吃饭,再溜达一圈,回来在工位干活(摸鱼)到很晚,然后回去睡大觉。偶尔也睡在双清,除了折叠床太硬、不能洗漱、不方便脱太多之外都比租的床位强。不过照澜也有一点好处:除了不得不在外面吃饭,通勤都在校园里面。在双清除了我和羽麟,都是本校的硕博,这让我得以重温尚未远去的本科生涯。

吃的最多的是萨利亚和麦当劳。主要是因为便宜+离得近,萨利亚还有蔬菜沙拉可以补充维生素。不过现在来了美国,感觉自己当时有点傻逼,应该吃好一点的,多找同学约饭,吃吃人均两三百的饭店。还比较喜欢鲍师傅的糕点。洗澡的话,因为照澜院床位的条件太差了,主要在清河一家叫“清溪缘”的洗浴中心解决,后来还去过两次汤泉良子。我的评价是不如辽宁人均30的澡堂子。至于娱乐活动,偶尔和本科同学约饭唱歌,去酒吧打荒野乱斗。也参观了一些景点,比如地坛,比如本科四年从来没去过的雍和宫。满清为藏传佛教修的一座庙,搞不懂为啥那么多人去拜。除了在学校周围转悠,有时周末会去附近的大商场(比如清河万象汇)逛逛。但当时嫌里面吃饭贵,都是回来吃……唯有一次实在忍不住,独自一人吃了次伊豆野菜村。大一的时候和DH一起去的,那是我人生第一次吃高级自助。当然也许是因为我是土包子的缘故。后来有一次在朋友圈看一个学妹吐槽:水木锦堂这种平价自助也需要预约,hhh。

床位到期我就跑路回辽宁了。临行前和DH在北大南门吃了一顿饭,下次见面就是在阿美莉卡了。回老家可以和家人在一起(当然矛盾也会更多),还可以找同学玩。高中时以为此后不再有机会在辽阳久居,结果20年寒假赶上疫情,上了一学期网课。临去美国之前,又在老家待了一段时间。不过在家效率很低,父母对我也有一些消极影响,应该在北京待久一点。

期间去了好几次本溪,沈阳,主要是和佳睿。他和我也算难兄难弟,被迫gap了一段时间。那段他脚还崴了,我去他家找他,他坐轮椅上,我推着他去饭店、KTV。还和在Moka实习认识的婉晴参观东百大学(感觉这个浑南校区离辽阳更近一些),去西塔品尝朝鲜美食,还到大悦城玩。有一些在辽宁的同学正准备考研,所以没有去找。还出了一次远门,去南京找大涵玩。去的时候坐硬卧,头天晚上出发第二天中午到。虽然欣赏了华东乡村的风光,但也比较遭罪。回来坐飞机,从禄口飞桃仙,这次就舒服多了,只是得早起赶地铁……待了三天,参观了总统府,夜游长江,还去了中山陵。南京真不错啊,比沈阳大连都强,就是消费不低,房价也不便宜。

高考后就再也没见过大涵。高一高二在石桥子,周末本地同学都回家了,就剩我们这些外市学生。也没啥娱乐活动,大家就聚在一起聊天,所以我们彼此都很熟。第一次见到大涵就感觉他很秀气,像个大姑娘。我们最开始都是16班的,他住我上铺。有一回我发烧了,早上醒来说胡话,一挣眼看大涵从上面探头,眨着眼睛看着我。后来有时候坐大巴车去市里参加比赛,咱俩就坐在一起聊天。已经过去六七年了啊。祝他在南大一切顺利,paper多多。

在辽阳的最后一段日子,并没有什么特别之处。和超姐请了两周假(当然其实从12月开始就很摆了,后面也没干什么),联系这边的租房,准备一些材料,然后就没了。没有辗转反侧,留恋不舍抑或期待。我就这样糊里糊涂地润到了LA,开始了新的旅途。