V4_C23_personal_research
陈峰的电话是周三下午打来的。
他打电话的频率不高。平均一个月两三次。大部分是微信解决。打电话说明事情不适合留文字记录,或者他觉得文字的分量不够。
"秉文。"
"陈总。"
"跟你说个事。"他的语气很平。不是好消息的平,是要说一件不好处理的事情之前的平。"你那个许畅——上周去了个路演日,以个人名义。"
我没有马上接话。手里的笔停在白板前面。我正在写下午晨会的几个要点。
"什么路演日?"
"张江那边一个AI创业交流沙龙。不大。二三十个人。有几家投资人的分析师在。许畅上去讲了十分钟。讲的是Transformer在教育领域的应用。"
我的笔尖还贴在白板上。墨水在那一个点渗出了一个小圆点。
"他名片上写的是什么?"
"写的还是你们公司的职位。明镜智能。算法工程师。"
陈峰停了两秒。他的停顿比他的话有分量。停顿的意思是——我说完了,你自己想。
"我那个朋友认出来的。说这人讲得不错。问我是不是你们公司的。我说是。他说'那他是代表公司来的?'我说不知道。"
他的语气始终没有变。没有指责。没有着急。就是一段信息。信息本身已经够重了。不需要加语气。
"我知道了。"
"你知道什么了?"
这个追问让我停了一下。他在问——你知道了许畅去了路演,还是你知道了许畅在准备自己的东西?这两件事不一样。去路演也许是好奇。准备自己的东西是打算。
"我知道了这件事。我会处理的。"
"好。"
他挂了。没有多余的交代。陈峰从来不多说。该说的一个字不少。不该说的一个字没有。他把信息放到你面前。放完了就走了。像往桌上放了一把刀。刀不伤人。用不用取决于你。
我站在白板前面。手里的笔还举着。蓝色的。马克笔的墨水味淡淡的。刚才写到第三个要点的第一个字就停了。那个字是"许"。许畅的许。笔画写了一半。言字旁写了。午字没写。
我用手掌把那个字擦掉了。白板上留了一块模糊的蓝色痕迹。手掌心染了一块蓝。我看着手掌。蓝色渗进指纹的纹路里。擦不干净。
下午的晨会正常开了。我没有提陈峰说的事。没有人知道。白板上第三个要点换成了一个客户跟进的待办。许畅坐在角落里。正常汇报了他这周的进度。声音平。节奏稳。跟平时没有区别。
同一周。周五。
下午五点多。办公室里只剩三四个人了。刘海洋走了——他今天早走,他妈做了红烧肉让他回去吃。张富贵在外面跑客户还没回来。许畅不在。小杨在收拾东西准备走。
我在看服务器日志。
不是刻意去找什么。是惯例。每周五下班前看一眼服务器的使用情况——GPU利用率、内存占用、存储空间。周小薇要求的。她说"服务器的账单是按使用量算的,你不看就不知道哪个进程在偷偷烧钱"。
日志在面板上往下滚。灰色的行。系统日志。模型训练日志。定时任务。普通的东西。我一行一行往下翻。
翻到第三页的时候停了。
在服务器的Git托管列表里。排在公司的几个正式仓库下面。名字跟公司项目不一样——公司项目的仓库都叫mingjing_xxx,前面带公司名。这个不带。
personal_research
contributor:许畅。
创建时间:五周前。
最新commit:三天前。
我点进去了。
commit记录很密。五周里提交了三十七次。频率不低——几乎每两天一次。有些是凌晨提交的。有些是周末。
最新的那条commit message:
基于BERT的教育领域预训练模型v0.1
v0.1。
不是实验。实验不标版本号。标了v0.1就是迭代。就是有v0.2的打算。就是一个项目。一个有方向、有进度、有版本管理的项目。
我往下翻。数据集目录。三个文件夹。其中一个叫client_data_desensitized。客户脱敏数据。脱敏了。但数据来源是我们的客户。是田总的工厂。是张富贵跑来的零售商。是周小薇一个一个对账对出来的合同。
数据是脱敏的。但数据的来源不是他个人的。
仓库用的是公司的服务器。GPU算力。电费。带宽。都是公司的。每个月十一万里有一部分在养这个仓库。
我盯着屏幕。personal_research。个人研究。名字起得很坦荡。Personal。个人的。Research。研究。放在公司服务器上的个人研究。用公司客户的数据做的个人研究。
他甚至没有藏。
他没有藏。这一点让我不知道该怎么想。
如果他藏了——用一个不起眼的仓库名,加密了目录,在深层文件夹里——那说明他知道这件事不对。知道不对还做了,是品性的问题。品性的问题可以处理。开除。或者谈。
但他没藏。personal_research。明明白白的名字。放在公司Git托管的列表里。谁都能看到。他不是不知道别人能看到。他是觉得——这是他自己的研究,他有权做。
他觉得自己有权在公司的服务器上做自己的项目。用公司的数据。用公司的算力。用公司付的电费。
这比品性的问题更复杂。这是边界的问题。他的边界和公司的边界,在他的脑子里,不是同一条线。
我坐在椅子上。屏幕亮着。Git日志还开着。commit列表一行一行排在那里。三十七次提交。五周。教育领域。BERT。Transformer。
教育。
他在做教育方向。我们做的是企业服务——客服、质检、零售。不是教育。教育是他自己的方向。他在用我们的底座做他自己的楼。
我想起了他修bug的那两天两夜。红牛罐从一个到四个。酸辣粉凉了没吃。衬衫上有汗渍。我脱了外套搭在他肩上。田总说"别亏待他"。
我想起他说"我不会。但我能看"。他看了六万行刘海洋的代码。在里面找到了问题。修了。没有要任何回报。
我想起方琳等了他三个小时的那个周六。他在生产分支插了Transformer实验代码。被回滚了。他没有争辩。但他没有放弃。他把Transformer从生产分支搬到了personal_research。从公开变成了私下。从实验变成了项目。从v0变成了v0.1。
他在自己找出路。
而他找出路的工具——服务器、数据、算力——是我付的钱。每个月十一万里有一部分在养他的出路。我花钱养的人在用我花的钱准备离开我。
这个想法让我的胃缩了一下。不是愤怒。是一种更复杂的东西。愤怒里面掺着理解。理解里面掺着恐惧。恐惧里面掺着一点——佩服。他有方向。他知道自己要什么。他要教育方向。他要Transformer。他要v0.2。他在往前走。
我呢?我在原地。
我关了窗口。
关的时候手指在键盘上停了一下。关了就是看过了。看过了就是知道了。知道了就必须处理。处理就可能失去许畅。失去许畅——
刘海洋撑不住所有的技术。周小薇管不了算法的事。张富贵跑来的客户需要demo。demo需要许畅维护。田总的续约需要模型持续优化。模型优化需要许畅。
失去许畅,公司可能撑不过明年三月。
我关了窗口。
关窗口的那一秒手指是犹豫的。鼠标停在右上角的叉号上。点了。页面消失了。屏幕回到了桌面。桌面的壁纸是默认的蓝天白云。很假。但比刚才那个页面干净。
关掉了。
关掉了就是看过了。看过了就是知道了。知道了以后有两条路。第一条:找许畅谈,谈清楚,划线,让他停。第二条:关了窗口,合上盖子,当作没有打开过。
第一条路的代价是——他可能不停。谈了以后他把仓库搬走了,从公司服务器搬到自己的电脑上,我就再也看不到了。看不到以后他继续做。做完了带着代码和经验去了别的地方。走之前连招呼都不用打——因为那是他"个人的研究"。Personal。
第二条路的代价是——我知道了但装不知道。装的时间越长,爆发的时候越惨。而且我不是唯一知道的人。陈峰知道了。陈峰知道了就可能有别人知道。别人知道了就会问——你作为CEO知不知道?如果知道,为什么没处理?
两条路。一条是主动失血。一条是慢性中毒。
我选了第二条。
不是因为第二条更好。是因为第二条不用现在做决定。第一条需要今天就做。今天我做不了。我没有准备好面对失去许畅以后的局面。
我打开微信。找到陈峰的对话框。
打了一行字:"你说的那件事,我看到了。"
发了。
三十秒后他回了:"然后呢?"
我看着这两个字。然后呢。然后什么呢。然后我应该找许畅谈。谈什么?谈你不能用公司服务器做私人项目。谈你不能用公司数据。谈你不能以公司的名义去外面参加路演。谈完了呢?他说"好"。然后呢?他会停吗?他把仓库从公司服务器搬到自己的电脑上,继续做。搬走了我就看不到了。看不到了等于不存在了吗?
不等于。
我打了三个点。删了。又打了一行字。
"……再给我一周。"
陈峰回了三个字。
"别拖了。"
然后没有更多了。他不会催第二次。催了第二次就是越位。他是投资人,不是管理者。他可以给信息,但不替你做决定。"别拖了"已经是他能说的最重的话了。
我把手机翻过来。屏幕朝下。扣在桌上。手机壳的背面有一道划痕。不知道什么时候划的。在灯光下泛着一线白。
一周。
我给了自己一周。一周是七天。七天里我需要做的事情是——想清楚怎么跟许畅谈。谈什么。底线是什么。如果他不接受怎么办。如果他走了怎么办。如果他走了带走代码怎么办。如果他走了带走人怎么办。
七天。每一天都可以想这些事。每一天也都可以不想。
但陈峰说了"别拖了"。三个字。不是请求。不是建议。是警告。
一周是另一个"下次注意"。是另一个泡沫。是另一个不做决定的决定。
我从许畅越界改代码那件事之后就在做这种决定——不做决定的决定。"下次注意""再给我一周""我知道了"。每一次都是往后推。推到无处可推的那天。那天什么时候来?不知道。但一定会来。
窗外的天黑了。十月底的上海五点半就暗了。办公室的灯还亮着。许畅的工位空了——他今天提前走了。不知道去了哪。也许回家了。也许又去了哪个沙龙。我不知道。我没问。
不问比问安全。跟黄雨萱不问"你要不要一起去"是同一种安全。不问就不用面对答案。答案可能是你不想听的。
夜里。
办公室只有我了。十点。
窗外张江的灯暗了大半。远处有几栋楼还亮着——加班的或者忘了关灯的。走廊的声控灯灭了。整层楼安静得只有服务器的嗡嗡声。
嗡嗡声从角落传过来。服务器柜门没关严。缝里透出一线绿光。GPU的温度面板显示68度。有进程在跑。我不知道是正常的训练任务还是personal_research在后台吃算力。在这间空无一人的办公室里,只有服务器是清醒的。它不分白天黑夜。不分工作日和周末。不分公司项目和私人项目。它只管跑。谁给它任务它就跑。它不判断。不站队。
白板上是早上的晨会记录。没擦。第一行写着"本周要点"。第二行是一个客户的名字。第三行——我下午写了一个字又擦掉的那个位置——有一块模糊的蓝色痕迹。擦不干净。蓝色渗进了白板表面的细微纹路。就算下次用清洗液擦,大概也会留一个淡淡的影子。
茶杯在桌上。早上泡的茶。凉了。茶叶沉在杯底。水面上有一层薄薄的茶油。
我打开电脑。
打开了Git托管页面。找到那个仓库。personal_research。它还在那里。三十七次commit。最新的那条三天前。基于BERT的教育领域预训练模型v0.1。
我看了它一会儿。看了大概两分钟。两分钟里commit列表一动不动。没有新的提交。许畅今天没有更新。也许他回家了。也许他在另一台电脑上写了但没有push。也许他在休息。也许他在想v0.2。
两分钟以后我关了电脑。关了显示器。屏幕黑了。桌面上只剩茶杯、手机和早上用过的那支蓝色马克笔。
关了灯。站起来。拿包。
走到门口的时候回头看了一眼办公室。黑了。十二个工位在黑暗里排着,椅子推到桌子下面,显示器灭了,只有服务器角落的绿灯在闪。均匀的。不急不缓。和那个仓库一样——在那里。一直在那里。不管我看不看它。不管我关不关窗口。它在运行。在吃算力。在迭代。在从v0.1往v0.2走。
我没做任何处理。
没有删仓库。没有锁权限。没有找许畅谈。没有给刘海洋说。没有给周小薇说。没有发邮件。没有写备忘录。什么都没做。
走出办公室的时候我在想——如果这件事将来出了问题,所有人都会问:你什么时候知道的?
答案是今天。
今天我知道了。知道了以后我关了窗口。关了灯。锁了门。走了。
知道了不做。比不知道更坏。不知道的人是无辜的。知道了不做的人是共犯。我不是许畅的共犯。我是自己的共犯——我跟自己的懦弱达成了共谋。懦弱说"再等等"。我说"好"。两个人握了手。在一间空无一人的办公室里。
锁门。钥匙转两圈。走廊的声控灯亮了一盏。我走过去。灯灭了。又走两步。下一盏亮了。照了十米的路。然后又灭了。
楼梯间的风从窗户缝里灌进来。十月末的风。干冷。贴在脸上的那种冷。
personal_research。
这五个字母加一个下划线,会在我脑子里待很久。比它在服务器上待的时间更久。服务器可以删。脑子里删不掉。有些东西一旦看到了就永远在那里。跟白板上擦不干净的蓝色痕迹一样。