Files
obsidian/article/published/杂谈|博零总结.md

7.0 KiB
Raw Blame History

杂谈|博零总结

赶在博一开始前的最后一天,写写过去一年的博零生活的收获、体验和感悟。从 24 年 9.12 进入阿里实习算作正式的科研开始节点,也是正好过去了一年。

!250913-144507.png

我的收获

  1. 最直接可量化的收获是被老板手把手带飞,比较幸运地一投即中收获了一篇 ATCKVCache Cache in the Wild: Characterizing and Optimizing KVCache Cache at a Large Cloud Provider.
  2. 参加了不少会(旅了不少游),作为死宅也是趁着各类开会到处玩了玩。
  3. 参加了 EuroSys'26 的 shadow PC体验了一下审稿人的心态和学习了审稿流程对 paper 的 presentation 重要性的认识进一步加强。
  4. 经过一个完整的科研工作流程,也得到了一些关于科研工作流的收获与进步。就输入端来说,读 paper 不再像一年前的小朋友模样,拿到一篇 paper 从头开始一句句往后读,开始有一些自己的 background 在脑中,读 paper 会开始更主动地找自己想要的部分。但是由于当前仍然十分有限的 background读 paper 和找到对自己想要部分的能力仍需要继续加强。就输出端来说,目前认识到了写作、画图、做 slides 进行输出的重要性,但是在输出端的所有方面都还缺乏锻炼,希望能在未来一年摸索出一些自己就这三方面输出的一些 SOP.
  5. 就合作与沟通有了一些更深的体会。即使本科期间有着各种团队开发、小组合作等任务,但是本科所做的事情大抵是十分确定的,容易有明确的任务分解,大家的信息差不大,需要“有效沟通”的部分并不多。但在科研项目中许多东西本身是不确定的,很多东西是自己在摸索过程中被自己学习到了 latent space 中,在与他人沟通时很容易忽视这些 latent space 中的 context 导致的信息差,导致沟通的不顺畅。自然语言本身存在的 ambiguous 也很容易导致即使是两个人沟通,两个人脑中形成的 figure 也不太一样进而引起误解。目前自己还没探索出好的方式来精确认识自己的 latent space 进而精准地进行表达,只能通过反复 ping-pong 的方式确认是不是在沟通中达成了共识,希望未来能找到更清晰的沟通合作方式。
  6. 这个世界的大部分工作(除了纯数一类的工作需要极端天才的个人英雄主义)想要做出一些有价值的事还是离不开团队合作,做技术与团队合作是两个正交的纬度,学会避免纯粹技术主义的叙事。作为 system 特别是 distributed system 的研究者,最直接的比喻是做技术是 compute、团队合作是 communication但是在分布式系统中存在着无数例子告诉我们一个系统很可能是 communication-bound 的,在团队合作中如何降低 communication 的 overhead 是一个十分值得学习的事情。(如果希望做一些有价值的事,而不仅局限于个人折腾技术的精神愉悦的话)

一些遗憾与不足

  1. 美签被卡,没去成最后一届 ATC 现场,错失波士顿旅游机会
  2. 仍然缺乏独立开启一个科研项目的能力,从今年 5 月赶完 ATC final version 之后,似乎就开始了一边感觉挺忙,一边又看起来毫无科研进展的既感觉挺累又感觉很摆的本科毕业假期时光。进入一种探索可能的方向、发现 prior work怀疑价值想不到更进一步的工作的循环之中。
  3. 开始科研生活后的拖延症相比之前似乎更严重了ddl 的到来相比固定每周要交的作业、要写完的 lab 要不规律和慢很多,许多想做的事情最后都变成停留在脑中的想法而没有开启任何行动,目前还没找到好的方式改善这一点。
  4. 很多不足其实在上一部分的收获中已经说到,认识到这些不足用乐观的角度看也是收获

过去一年读过的一些东西

在从本科向独立做科研的转变中大家或多或少都会有一些迷茫,曾经读过一些来帮助自己更清晰地认识科研、认识读博这件事,了解一些形而上的东西,在此汇总一下。

  1. The Ph.D. Grind. 作者介绍了自己读博的各个阶段以及得到的个人成长,让读者能对读博生活有更清晰的预期
  2. 一名系统研究者的攀登之路. 海波老师的一些研究经历与感触
  3. Useful Thoughts about Research. H.T. Kung 教授在 Harvard 给的一些关于 research 的实用建议
  4. https://zhaoxiahust.github.io/blog/index.html. 一个关于 system research 的资源汇总的 article list

关于沟通

进入实验室以来,感觉到自己的沟通明显变多了,有从 I 人变 E 的趋势

随着合作和沟通变多,发现了一些明显存在的问题,作为技术人非常容易陷入知识的诅咒,有一些东西即使是自己花了一下午搞懂的,但是在搞懂之后就会进入一种觉得这个东西十分简单、显然等的心态,在与别人沟通时,常常会不自觉地假设别人也非常了解这一块,但是这是一种错误的心态。感觉仍然需要进一步通过刻意训练来避免。

另一方面,除了纯数一类的人类智慧巅峰,可能需要极少数天才做出一些突破,这个世界上的大部分工作要成事还是离不开合作,作为做分布式系统的,也有着许多系统问题能够让人清晰地认识到,一个系统中的通信开销往往是不可忽略的,甚至是 bottleneck团队合作同样是一个分布式系统在一个优秀的团队中也许大家的处理器性能都很强计算不会成为 bottleneck但是如何做好沟通降低通信的 overhead 就显得尤为重要。

本科到做研究的转变

本科期间做的事情往往是确定性的,即使是从零开始写一个上万行的玩具编译器,其中做的编译优化等等,也是路径明确的,只需要复现前人提出的各类优化即可。而在研究中,你需要自己第一手地去探索可能性,回答一个不确定的问题。

关于舒适圈

当在向上走时,总是有一个需要走出舒适圈的过程。经过本科几年的代码训练,写代码相比于做科研项目一定是一个更在舒适圈内的事。而可以想象到的,经过几年的科研训练之后,可能做科研会是一个相对在舒适圈内的事情,但是那时可能又有新的舒适圈外的事情,例如如何做团队的组织、如何 social 等等。人生没有所谓的上岸,一岸过后必有下一岸。找到自己喜欢的方式,收敛到一个自己满意的人生节奏点即可。

想要做一套自己的画图工具包、即使现在有了大模型的帮助,科研画图能够很轻松的让大模型写一段代码来画出自己想要的图,但是画图的美观性、个人风格方面,仍然是需要自己来准备一套画图工具包的