同网上大多数的申请总结不同,这是篇比较私人的经历回望而不是经验分享或技巧汇总。更多的是记录心路历程,也供将来自我勉励。所以表不忘初心,而必果本愿也。

Why PhD?

尽管读 PhD 的念头最开始总是源自一些浪漫化的不切实际的幻想,但我明白自己一直都是个好奇心很重并且渴望冒险的人。 我想要理解我们身处的这个世界,而读 PhD 是一个可以兼顾几个方面的选择:去深入探求一系列具体挑战的根本;有一段相对自由的时间去探索一个更广阔未知的世界;也可以开启更多元的机会。

彼时我并不真的明白做研究是什么样子,自己想要做什么样的研究。在大三时我去参加上纽大组织的青年学者论坛,被 Tianqi 介绍的 TVM Stack 深深吸引,决定自己也要去做 System 的研究,于是在下个学期就拉着几位同学参加超算竞赛来积攒一些经验。 竞赛结束后我去到 MSRA 开始真的尝试做研究,从简单的分析开始到做 prototype,文章拒稿,推倒重来再迭代系统实现,优化性能,实验验证到最后终于成稿发表,有幸达成了完整走完一个研究项目的愿望。 因为硕士毕业还有些时间,我又去 AWS 尝试看自己能否更独立地完成一个项目,来马普所体验自己能否适应另一个语言和文化环境——其实我不是个一定要方方面面都体验过以后才能做决定的人,我只是单纯地想理解。 这些经历当然也给我信心:我大概率能做一些好的研究,能享受一段或许艰苦的 PhD 旅程。

这样的路径比起我认识的大多数已经在读 PhD 的朋友多花了些时间,我也不能说自己完全没有因此产生焦虑。没有别人走得快,也未必能比别人走得远,但我终归是希望能走在自己的路,按自己的节奏,专注于自己感兴趣的问题,而不是总被压力推着走。做一件简单的事情和困难的事情所花费的时间和精力经常是近似的,但是意义却可能天差地别。

重新认识自己

来马普所后跟 Jonathan 的第一次 meeting 中,他慢慢地给我列了一白板可选的研究问题来问我的想法,大部分还都比较宽泛。 我当时心里犯嘀咕因为计划的暑研只有四个多月的时间,只想找一个自己比较熟悉的问题这样也能快速有产出。我不好意思直说于是有点暧昧地对这些提议不置可否。 Jonathan 是个敏锐的人,他很快看出我的想法,直言,对于我这样已经有一定基础的学生来讲,重要的是找到感兴趣的问题并持续投入,不必要只是为了积攒经验做一些简单的任务,而把我招来也不是为了帮他写代码。 我们最后选定尝试用 distributed tracing 的想法来检视此前分布式训练的工作,我也因此读了他写的教材和一些经典 paper。具体在马普所的研究和生活我会再详细写一篇。

深入了解 tracing 很大程度上帮我开阔了视野。 不同于此前在国内我接触到的研究大都有很强的性能优化风格,tracing 是个很特别的领域,其旨在监测、分析和理解分布式系统的性能与异常行为。它有一点像我们常说的 profiling,但在复杂的大规模分布式系统中有完全不同的挑战和内涵。 我们常说系统研究是万金油,流水的应用铁打的性能优化思想,而 tracing 对于分布式系统而言则是性能优化的基石。Jonathan 是这个领域的专家,因此对 big data 时代至今的许多大规模系统实现都很熟悉,思维非常开阔。我很爱找他聊天,慢慢地也真正开始欣赏 System 圈子里一些流行的话题譬如 Resource Disaggregation,Kernel Bypassing,Control-Data Plane Separation 等等。

这影响了我后来意向导师和方向的选择,我花了相当一些时间来将这些影响写进 SoP。Jonathan 反复对我强调,除了组织自己过去的研究经历和成果,更重要的还是阐明自己的研究兴趣和驱动力。 我在文中引用了著名的 More is different 来描述自己对于计算机系统的理解,拾人牙慧地讲,在每一个尺度上,我们都有新的系统问题,为此引入了不同层次的设计抽象,而随着应用,硬件和规模的快速变化,我们正不断地对其进行调整。 我用这种宣言式的概括来帮助自己表达,尽管我之前一直做的是 MLSys 方面的研究,但我志并不仅在于此,我想要更全面地理解我们作为一个 community 所研究的数据中心量级的 Computer Systems 的全貌。

Talk is cheap,修改 SoP 的过程中我持续不断地处于自我怀疑的不安中:我没 hack 过 kernel,也没实现过大规模系统,甚至连计算机网络课都因为本科时时间冲突没有上成,我拿什么证明自己真的 qualified?只是在领域的风口上摘了几个 low-hanging fruits 能被大家所认可吗? 直到后来线上参加 SOSP 期间,我在 MIND 这个 paper 下问了一点问题,作者之一 Anurag 回答完以后看到我简介中的 “Looking for a PhD position”,于是鼓励我来申请 Yale。 他因为正缺人于是跟我聊了一个小时,我含蓄地表达了担心自己没有相关经验,他却说他直到了博士快毕业的时候都还不懂 cache coherence(MIND 正是关于 Resource Disaggregation 中的内存管理),更重要的永远还是个人的决心。我大受鼓舞,终于不再将过去的研究经历当作负担,而是更自信地表达自己的兴趣。

On such a winter’s day

PhD 申请的竞争越来越激烈可能是大家的一个共同感受。最早大家讲要有好的 GPA 和标化,后来更强调推荐信和所谓的 connection,也许今后会变得更像教职一样,讲求 visibility,impact 和 whole package。我后来在 Twitter 上看到一则学生寻找 PhD 导师的广告走红,感慨时代确实是在变的。

可能是由于士大夫清高文化的传统,自我宣传和寻求引荐对许多人来讲似乎是件不容易开口的事情,起码一般不是件受到鼓励的事情,我明白自己也受到其影响。 正如我和 Tianqi 之间有许多共同共事过的朋友,但我总是担心托人引荐会因为自己不够 prepared 而让引荐人蒙羞于是一拖再拖。 直到一次周会后旁听的老师 Yiting 来找我聊一点细节,研究进展地不太顺利,最后她也顺便同我聊起 PhD 申请的事情。听我讲了一通自己的想法和顾虑以后,让我不要过多关注一个项目的得失,而是应该多花些时间和精力去寻求帮忙,来增进和未来可能导师的相互接触和了解,并强调可能在学术圈一生就只有那么几次重要的节点需要去大量寻求帮助。 我这才下定决心在 SOSP 时找 Jonathan 帮忙引荐几位教授,我一度担心太麻烦他,但他似乎觉得很稀松平常,把 Yiting 讲的话大概又重复了一遍。

材料终于全部提交完毕以后我长舒了口气。但因为 omicron 的爆发,我回国的航班被取消,而当地的圣诞节假期也变得冷清。 跨年夜我沿着萨尔河散步,空气中烟花的气味提醒我,2021 确实是过去了。 元旦以后我终于没办法再独自忍受这欧洲冬天长夜的焦虑,临时买了车票去柏林,没有特别的目的,就是越远越好。 我在 MSRA 实习时的前室友当时正在柏林做 postdoc,我们走在柏林的雪地上聊数据中心,游戏串流,渲染建模和他之前参与的 startup,彼此在欧洲的生活,柏林好吃的中餐馆,聊到开心处就把一切都先抛在脑后了。

回来后的几周里我都在面试和准备面试的路上,其实第一个正式面试就砸了,聊的过程中我能清楚地感受到那种互相对彼此研究不感到兴奋的尴尬。面完以后我只能给女朋友打电话讲,权当是为了后面的面试积累经验罢。 印象最深最 intense 的面试还是来自于 System@ETH:开场是一小时的 talk,后面跟三位教授分别再聊上一个小时,Ana 还贴心地为我安排了两个同当前 PhD 学生的群聊环节。美国的学校大多比较简短,有的学校甚至只是15分钟快速聊一下走个过场。 我不是那种擅长面试的类型,在面试中除了做到坦诚和多了解具体的研究 context 没有什么特别的技巧。其实无论聊得怎么样,即使是有的老师对我材料中所反映出来的对研究和自我探寻的思考表示了欣赏,结束后我总还是想着好像有的地方说得不太准确。

而后是漫长的等待。其实事实上并没有太长,ETH 的 offer 比 Stanford 的面试还早到两天。只是当一个人全职在等待时,就像 busy waiting 的 CPU,相较平日工作里还要耗费更大的能量。 因为毗邻 MSR 的关系,我为申请 UW 花了很大的心思,可是这第一封拒信它并不以人的意志为转移准时地塞进了我邮箱里。还没有从失落中走出来,第二天突然收到 Tianqi 发来的 CMU offer,我看着手边他曾经在 AWS 演讲时给我签名的笔袋,差点没忍住当即就签下 offer 的冲动。 最后一个悬念是 Stanford,出结果的那天晚上,因为和加州时差的关系我翻来覆去没法入睡,仿佛耳边又响起《重庆森林》中的《California Dreamin’》,于是给女朋友打电话问她还记不记得电影里王菲的欲言又止,而后把歌曲循环了一晚上。等到太晚还是睡觉去了,一觉醒来发现了邮件。

Ya, on such a winter’s day.

两个人的决定

我最终主要是在 Stanford、CMU、ETH 和东海岸的几所学校中做选择,研究兴趣和导师口碑都很合适,我明白选哪个都不会出错。但这对我来讲从来也不是一个人的决定。

今年是我同女朋友在一起的第七个年头,过去的这些年里,我们一直互相地协调一些人生中的重大决定。她心思很细行事效率高,但又容易因为过于谨小慎微而内耗焦虑,我则几乎是相反的性格。一般总是她督促和帮助我,但在申请这样充斥着不确定性的过程里,我们分隔两地一直打着电话,互相帮忙校对材料,出谋划策,排解焦虑。我因为能够寻求到的帮助更多,System 这边机会也更多一些,整个申请季比她进展地顺利,也就自然地要多去为她承担一些焦虑,最后决定的压力也更多地在我这边。一个夜里手机切到 Taylor Swift 在《Lover》中唱 :

Can I go where you go?

Can we always be this close, forever and ever?

我一下子没了力气瘫在床上,房间里很安静,一刹那我明白,自己是没办法离开她的。

于是在 Campus Visit 中,常规的问题之外,我对导师们都问了他们关于 two body problem 的经历。 意外地发现这个问题比我预想的要普遍的多,只是大家一般不去公开讨论。学术界内的岗位大多流动性很高,而对于个人而言合适的位置又通常稀缺,往往在做选择是切实的困扰。我感激教授们的真诚分享,为我做决定提供了很有帮助的参考。

因为申请院系不同有时间差的缘故,我的最后一个来自 Stanford 的 offer 和她第一个来自 ETH CLS 的 offer 同一天收到。 我醒后同时看到她的消息和邮件,第一时间给她电话,她听到以后怔了一下,随后我便为要不要留在欧洲犹豫了一个多月。我已经在欧洲呆上一年多,切实地了解欧洲的环境明白其优势。首先是自由,不用受到美国签证政策和中美日益恶化的关系的影响,回国或者到处开会都比较方便。瑞士以及整个中西欧治安都很好,不用担心人身安全问题。System@ETH 产生了很多极有影响力的工作,远的有 BarrelFish,近的比如 Enzian,我在面试以及后来在洛桑的 ASPLOS 时对老师和同学都有非常好的印象。美西距离苏黎世有九个小时的时差,美东也有六个,中国公民往返欧美之间办理签证也是件繁琐和充满不确定性的事情,我很难对这种异地关系抱有信心,我心里也没有为了去美国做这么大牺牲的心理准备。

我们就在这种犹豫中漂浮了一个多月直到终于她在三月底收到了 CMU 的 offer,之后我就一直在两个选择中摇摆。 Tianqi is my hero, 他几乎启蒙了我整个研究,Catalyst 无疑是 MLSys 领域内最有影响力的组之一,我对于整个组的研究如数家珍。去 Catalyst 更是可以沿着自己已经有一些经验和成果的机器学习编译器小方向更进一步。TVM 整个项目仍然在高速的发展期,以我在 MSRA 和 AWS 的经历完全可以判断出其非同一般的影响力。 Stanford 的 Christos 对我而言则更像是一个迷,我在申请季几乎把他的学生申请了一个遍(MIT 的Adam,ETH 的 Ana 等),出于敬畏甚至没有给他发过邮件,面试时他语速很快对我也有十足的压力。 在洛桑时我问 Ana 当年为什么选择了去 Christos 那里,她讲说此前在 MIT 做过了一段时间的暑研,最后几乎只是出于 adventure 的目的去了 Stanford,同样的道理也驱动了她在博士毕业以后选择了 ETH 的教职而没有遵循博士之初时回到多伦多执教的愿望。她的回答听起来很随意,但我不知怎么真的产生了共鸣。我是应该沿着已经熟悉的方向深耕,还是选择一条有点不安但又可能更兴奋的 adventure?在参加 virtual campus visit 时,我也为从 Stanford 学生身上所散发出的一种特别的热情所感染。

当然幸运的是她也非常支持我的选择,我们也都认同博士期间分隔两地但又没有相距太远有些时候甚至是有帮助的,更容易有各自的社交生活,也提供一种多出去走走的驱动力。尽管美东和美西已经相距地很远,我们以后也几乎是一定会因为此产生诸多不便和摩擦,但我想这篇文章写出来也是一种宣言与承诺。

参加 campus visit 被争取的那段时间让人目眩神迷,但最终不得不拒绝许多自己一直以来仰慕的老师实在不是件轻松的事情。在四月初终于下定决心以后,我逐一给老师们发邮件讲自己的决定并表示感谢,至此申请季就正式结束了。

结语

申请季是个充满随机和焦虑的旅程,但我几乎也可以肯定在这之中遇到的这些挑战会在今后的时间里一次又一次地撞上:对自我能力的怀疑,对不确定的未来的焦虑和迷惘,职业发展、个人选择对亲密关系的冲击等等。我不会每次都这样幸运,而今后也还需要更努力。

最后尽管已经说过很多遍,还是想要再次感谢过去几年里老师和朋友们的支持,很多老师前辈的教导没有在文章提到主要还是出于隐私考虑。能有幸遇见大家同时也在鼓舞我去做一个像你们一样真诚的人。

也祝出于任何目的读到此文的读者都能够得偿所愿。