① 12.9 加入 Stanford GSB SI lab 的 S2M 工程,受到了 709 的热烈欢迎!推荐系统小组目前是我、709、710 三人,709 现在博三,直接指导我;710 在这做博后。那之前我读了一些入职文件,包括传说中的 Sherlock 超算中心的介绍和教程。最近学的数据中心、容器技术、分布式存储等等概念,全部都活过来了!
② 寒假前 3 周主要还是学开发岗知识(《趣谈网络协议》、OSTEP、GSDI、6.824),由于都是学概念而没有写码 debug,而且 3 本联系紧密的书混在一起看,加上网络协议的课程有音频,所以效率出奇地高。Rec 的资料我也看了一些,不过这个领域本身很小,要学的东西不多(Recsys 每年大概就 40 篇论文),有了初步的概念以后就没再学了。
③ 看了导师 Susan Athey 的维基百科(有 13 个语言…),她竟然 24 岁就拿到了 PhD,现在是美国科学院院士,天哪。刚入 lab,我能明显感受到组员对我寄予厚望:709 觉得我是推荐系统“专家”,这让我有些警觉,当时我面试题做得太用力了,现在得管理一下他们对我的期望值。
④ 毕竟(1)我现在相当于是接手一位博后的工作(Rina,在 Stanford 读的统计硕士,19 年哥大经济 PhD 毕业,之后在本 lab 做了 1 年,已离职),就像实习生接手 10 年工作经验员工的活一样;(2)我一开始连在 mac 上安装库都不会(虽然 macOS 已经很方便了。感谢神器 homebrew 救我一命)…
⑤ Lab 的结构和风格和 MASI(D5P287-200127)差别不小。首先,即使没有 COVID,lab 也没有线下实验室,这样我就无法旁听博士生的对话了,可惜啊。其次,MASI 每周都有大组会(Work Lab 也是),所有组都会做汇报;而 Loretta 说整个 lab 在 3 月才会把所有组聚在一起做一些报告。这可能和 lab 人数太多有关(slack 上有 113 人),但这样我也就少了一个直观了解其他项目组的途径。
⑥ 12.10 晚上和 709、710 开会从 23:50 到次日 1:20,让我心力憔悴,周五周六都无法学习,周六又看了一天 GodLie…
⑦ 作为 lab 新人,我觉得非常有必要把我现在的想法记录下来,这样以后的我就能换位思考了。lab 的工作周报需要我明确写出每项工作计划需要或实际花掉的小时数。这带来了不少问题。
⑧ (1)在最起步的阶段,我并不明确我具体要做啥,即使知道也根本无法哪怕估算需要花多长时间。我还是不太喜欢 lab 这种“时间管理导向”的文化,提前算时间真的浪费精力。(2)同样的工作时间,效率有高有低。我一般算学习时间是会把效率考虑进去的,遇到特别难的部分,那学起来不可避免会走神,那时间怎么算呢?(3)究竟哪些算是工作呢?探索可能的课题,涉猎论文?学习基础知识,短期对 lab 没有帮助但长远来看能够获益,算不算呢?思考、写日记又算不算呢?
⑨ S2M 是一个 2016 年创立于印度的教育科技公司,fREADom 是他们的产品名称。我们每周二晚上都要和他们开会 sync。我很好奇这家公司是怎么找到地球另一边的 Stanford、CMU 提供合作的,我猜测他们砸了很多钱(提供了不少研究经费),这也是我能拿 $ 的原因。
⑩ 看到数据集只有上万的活跃用户、上千的推荐项目,我的反应是,这么点数据怎么出成果、发 paper 啊?MovieLens 这样的公开 dataset 都有几百万数据了。我有的用户、物品、互动数据,加起来只有差不多 1 GB,我自己 mac 的内存都装得下,显然也不需要分布式处理。
⑪ 如果站在公司盈利的立场,那现在的当务之急肯定不是开发这个推荐系统,而是争取更多的用户或者提升内容本身。毕竟推荐系统只能留住用户,而不能直接带来新用户。这时我想起 2019 暑研的经验,一塌糊涂的数据最后硬是发了一篇 workshop…
⑫ 现在组里考虑的一个课题是怎么做“线下评估”(Off-policy evaluation),这和广告、搜索非常相关,探索空间比较大。不过为了让我上手,709 先让我修改初始化 Adam 优化器的部分,给不同的参数设置不同的正则化 penalty。这不就是瞎调参嘛!我很快就做好了。
⑬ 话说这算是我第 4 次实习经历(名义上是 RA,实际上越来越像 SWE 了),有趣的是,这也是第 1 次我的组员没有中国人的一次实习,前 3 次实习无论在中国美国,我和组员沟通都使用中文。但同时,现在的组员们也都不是美国人(709 来自印度,710 来自波兰)。
⑭ (下篇:D5P363)