那天晚上林楠熬到两点多。
准确率真让他干到80.3%了。
保存完数据,他盯着屏幕上的数字看了半天,然后截图,发给了陈屿。
发完才想起来,这都凌晨了,人家早睡了。
他赶紧撤回。
结果手机震动了一下。
陈屿回了个问号。
林楠手一抖,手机差点砸脸上。
“你还没睡?”他打字。
“刚弄完作业。”陈屿回,“你截图啥?”
林楠犹豫了几秒,又把截图发过去了。
这次没撤回。
陈屿那边安静了一会儿。
然后发过来一句:“可以啊。”
就三个字。
林楠盯着那三个字,看了足足一分钟。
然后他倒在床上,用枕头捂住脸。
妈的。
就为了这三个字,他熬到两点。
值了。
第二天小组开会,地点定在学校咖啡馆。
林楠到的时候,其他人已经在了。
苏晓冲他挥手:“楠楠,这儿!”
林楠走过去,在苏晓旁边坐下。
对面是陈屿,还有组里另外两个男生。
“人都齐了,咱们开始吧。”陈屿把笔记本摊开,“昨天林楠把模型准确率提到80%以上了,这个数据可以用了。”
另外两个男生看向林楠,眼神有点意外。
“牛逼啊楠哥。”其中一个说。
林楠摆摆手:“就调了调参数,没啥。”
“那也得知道调哪儿。”陈屿接话,“报告部分咱们得分下工,谁写数据分析,谁写结论?”
几个人讨论起来。
林楠听着,偶尔插一两句。
他说话的时候,陈屿会看他。
不是盯着看,就是那种……听得很认真的样子。
林楠尽量不去注意这个。
但他注意到了。
会开了快一个小时。
该说的都说完了。
“那就这样,大家各自负责自己的部分,周末前交初稿。”陈屿合上笔记本,“散会?”
“散会散会。”苏晓伸个懒腰,“我一会儿还有课,先撤了。”
另外两个男生也收拾东西走了。
林楠也站起来。
“林楠。”陈屿叫住他。
林楠回头。
“你等一下。”陈屿说,“还有个事,想单独跟你聊聊。”
林楠心里咯噔一下。
单独?
聊啥?
他看向陈屿。
陈屿表情挺正常的,就是那种公事公办的表情。
“关于模型特征选取的几个细节。”陈屿补充道,“刚才人太多,没细说。正好我也想去校外那家甜品店坐坐,安静,比这儿强。一起?”
林楠没马上答应。
他脑子里飞快转。
特征选取确实有几个地方可以优化,这个他知道。
但有必要单独聊吗?
在甜品店?
“你要有事就算了。”陈屿说,“就是觉得这儿太吵,换个环境。”
他说得很自然。
自然到林楠觉得,自己要是拒绝了,反而显得不对劲。
“行。”林楠说,“那就……聊聊。”
“走吧。”陈屿拎起包。
两个人出了咖啡馆。
外面天有点阴,但没下雨。
陈屿说的那家甜品店离学校不远,走路十来分钟。
路上两个人没怎么说话。
林楠有点紧张。
他也不知道紧张啥。
就是觉得,这场景有点……怪。
两个人,单独,去甜品店。
听着像约会。
但他很快把这个念头摁下去了。
想啥呢,人家就是聊工作。
到了甜品店。
店面不大,装修挺简单,但干净。
这个点人不多,就两三桌。
陈屿找了个靠窗的位置。
“坐这儿吧。”他说。
林楠坐下。
服务员过来递菜单。
陈屿把菜单推给林楠:“你点,我请。”
“不用。”林楠赶紧说,“AA就行。”
“我请你。”陈屿说,“上次你帮忙调代码,还没谢你。”
“那不算帮忙……”
“点吧。”陈屿打断他,语气挺温和,但没给商量的余地。
林楠看了眼菜单。
价格不便宜。
他随便点了个最便宜的慕斯蛋糕。
陈屿要了杯咖啡,又加了份提拉米苏。
“提拉米苏分你一半。”陈屿说,“他们家的招牌,尝尝。”
林楠想说不用。
但服务员已经走了。
等甜品的功夫,陈屿把笔记本打开。
“就这几个特征。”他把屏幕转向林楠,“你觉得要不要加时间权重?”
林楠凑过去看。
两个人头挨得有点近。
林楠闻到陈屿身上有股洗衣液的味道。
很淡。
他往后挪了挪。
“我觉得要加。”林楠说,“特别是用户行为序列这部分,时间间隔影响挺大的。”
“具体权重系数呢?”
“0.3到0.5之间吧,得试。”
“行,回去我试试。”
就这么几句,技术问题聊完了。
比林楠想的快多了。
他有点懵。
就这?
就这点事,值得专门跑一趟?
甜品上来了。
林楠看着自己面前的小蛋糕,还有陈屿推过来的半份提拉米苏。
他拿起叉子,挖了一小口。
确实好吃。
甜,但不腻。
“怎么样?”陈屿问。
“挺好。”林楠说。
陈屿笑了下,没说话。
他喝了口咖啡,然后看向窗外。
林楠低头吃蛋糕。
气氛有点安静。
但不算尴尬。
就是那种……两个人都不着急说话的安静。
“林楠。”陈屿忽然开口。
林楠抬头。
“你当初为啥选计算机专业?”陈屿问。
林楠愣了下。
这问题太突然了。
而且跟项目一点关系没有。
“就……喜欢。”他说了个最安全的答案。
“喜欢啥?”陈屿追问,“写代码?还是做项目?”
林楠想了想。
“都不是。”他说,“我喜欢那种……能把事情弄明白的感觉。写代码也好,做算法也好,最后都能跑出个结果。对就是对,错就是错,很清楚。”
他说完,觉得自己这话有点傻。
但陈屿听得很认真。
“那你以后想往哪个方向走?”陈屿又问,“研究?还是开发?”
“没想好。”林楠说,“可能……会关注算法伦理这块。”
他说完就后悔了。
这话题太深了,跟陈屿聊这个干嘛。
但陈屿眼睛亮了下。
“算法伦理?”他往前倾了倾身子,“具体哪方面?”
“就……偏见问题。”林楠说,“很多算法,训练数据本身就有偏见,然后模型学到的也是偏见。最后用在现实中,会放大不公平。”
他说得有点快。
说完就闭嘴了。
等着陈屿说“这话题太大了”或者“想那么多干嘛”。
但陈屿没这么说。
“比如?”陈屿问。
林楠看了他一眼。
陈屿表情挺认真的,不像在敷衍。
“比如招聘算法。”林楠说,“如果训练数据里男性程序员比女性多,那模型可能就会觉得‘男性更适合当程序员’,然后筛简历的时候,女性的分数会被打低。”
“再比如贷款审批。”林楠继续说,“如果历史数据里某个区域违约率高,那来自这个区域的人,就算个人信用再好,也可能被拒贷。”
他说着说着,就忘了紧张。
这些事他平时没地方说。
宿舍里那帮哥们,聊的都是游戏、妹子、哪个老师给分松。
没人关心算法偏不偏见。
“我最近看了一个案例。”陈屿接话,“有个医疗诊断系统,在黑人患者身上的误诊率比白人高很多。后来发现,是因为训练数据里黑人样本太少了。”
林楠点头:“对,就这种。”
“你觉得怎么解决?”陈屿问。
“多维度评估,引入人工复核,还有……”林楠顿了顿,“最重要的是,做算法的人得意识到这个问题。不能觉得‘技术中立’,技术从来就不中立。”
他说完,有点不好意思。
“我是不是说太多了?”
“没有。”陈屿摇头,“你说得对。”
他又喝了口咖啡。
“其实我也关注这块。”陈屿说,“上学期选了门伦理课,老师讲了个案例,我记到现在。”
“啥案例?”
“有个城市用算法预测犯罪高发区,然后派更多警察去巡逻。”陈屿说,“结果那些区域犯罪率真的下降了。但后来有人分析,发现是因为警察去得多了,抓的人就多了,然后算法又觉得‘这区域犯罪率果然高’,继续派更多警察——恶性循环。”
林楠听进去了。
“那区域本来可能没那么危险。”他说,“但算法把它标记成危险,然后警察行为改变了现实,反过来验证了算法的预测。”
“对。”陈屿说,“自证预言。”
两个人对视了一眼。
林楠忽然觉得,陈屿跟平时不一样。
在教室里的陈屿,在小组会上的陈屿,都戴着某种面具。
礼貌的,得体的,但有点距离感。
现在的陈屿,聊起这些话题时,眼睛里有种光。
那种……真的在乎某件事的光。
“你为啥关注这个?”林楠问。
问完他就想抽自己。
关你啥事。
但陈屿没介意。
“我家做生意。”陈屿说,“我爸公司前年上了个智能客服系统,说是能提高效率。结果用了半年,老客户投诉率涨了30%。”
“为啥?”
“因为那系统太‘智能’了。”陈屿笑了下,笑得有点讽刺,“客户问个复杂点的问题,它识别不了,就转人工。但转接规则有问题,经常转错部门,让人家等半天。最后客户火了,打电话骂人。”
林楠听着。
“后来我跟我爸说,让他找人调调。”陈屿说,“调了也没用,底层逻辑就有问题。那系统是外包公司做的,训练数据全是标准问答,根本处理不了真实场景的复杂性。”
“最后呢?”
“拆了,换回人工了。”陈屿说,“亏了笔钱,但客户留住了。”
他顿了顿。
“所以我就在想,技术这东西,不能光看参数多漂亮,准确率多高。得看它用在哪儿,对人有啥影响。”
林楠没说话。
他低头,又挖了一勺提拉米苏。
甜味在嘴里化开。
他忽然觉得,心里某个地方,松了一下。
像是一直绷着的弦,稍微缓了缓。
“你爸没骂你?”林楠问,“你让他拆系统。”
“骂了。”陈屿说,“说我学点皮毛就指手画脚。”
“然后呢?”
“然后我给他看了数据,客户留存率的变化,投诉内容的分析。”陈屿说,“他看完,不说话了。”
陈屿说这话时,语气很平静。
但林楠听出了一点骄傲。
那种……用自己的专业,说服了长辈的骄傲。
“你很厉害。”林楠说。
他说得小声。
但陈屿听见了。
“厉害啥。”陈屿摇头,“就是碰巧懂点。”
“不是碰巧。”林楠说,“你是真懂。”
他说完,脸有点热。
这话太直白了。
但陈屿没笑他。
“你也是。”陈屿说,“刚才你说的那些,不是随便看看就能讲出来的。你平时没少琢磨吧?”
林楠点头。
“睡不着的时候,就瞎想。”他说。
“想这些好过想别的。”陈屿说。
林楠心里动了下。
他看向陈屿。
陈屿也在看他。
两个人的目光对上,停了几秒。
然后陈屿先移开了。
他看了眼手机。
“快五点了。”他说,“你晚上有事吗?”
“没。”林楠说,“回宿舍。”
“那再坐会儿?”陈屿问,“蛋糕还没吃完。”
林楠看了眼自己的盘子。
慕斯蛋糕吃了一半,提拉米苏也剩了点。
“行。”他说。
两个人继续吃。
这次安静的时间更长。
但林楠不觉得难受了。
他甚至有点享受这种安静。
窗外的天更阴了。
可能要下雨。
店里放着一首英文歌,声音很小,听不清歌词。
“林楠。”陈屿又开口。
“嗯?”
“你……”陈屿顿了顿,“你最近是不是压力挺大的?”
林楠手一僵。
叉子停在蛋糕上。
“为啥这么问?”他问。
“感觉。”陈屿说,“你有时候……特别紧张。像随时准备跑路似的。”
林楠心跳快了几拍。
他低头,盯着蛋糕上的奶油花纹。
“有吗?”他声音有点干。
“有。”陈屿说,“不过现在好点了。现在你挺放松的。”
林楠没接话。
他不知道该说啥。
说自己确实紧张?
说自己有个天大的秘密,怕被人发现?
不能说。
“项目压力大吧。”林楠找了个借口,“我怕拖后腿。”
“你拖不了后腿。”陈屿说,“你比组里大多数人都强。”
这话说得太直接了。
林楠耳朵发热。
“别捧我。”他说。
“没捧。”陈屿说,“实话。”
林楠不说话了。
他继续吃蛋糕。
一口,两口。
甜味在嘴里,但心里有点乱。
陈屿为啥跟他说这些?
关心组员?
还是……
他不敢往下想。
“陈屿。”林楠忽然抬头。
“嗯?”
“你为啥……”林楠话到嘴边,又咽回去了。
他想问,你为啥对我这么好。
但这话太怪了。
问不出口。
“我咋了?”陈屿看着他。
“没啥。”林楠摇头,“就是……谢谢你请我吃蛋糕。”
陈屿笑了。
“就这?”
“就这。”
“那你欠我一顿。”陈屿说,“下次你请。”
“行。”林楠说。
他说完才反应过来。
下次?
还有下次?
但他没反驳。
甚至有点……期待。
吃完了。
两个人收拾东西,准备走。
陈屿去结账。
林楠站在门口等。
外面开始飘雨点了。
很小,细密的。
陈屿出来,看了眼天。
“下雨了。”他说。
“没事,不大。”林楠说。
“跑回去?”
“跑呗。”
两个人对视一眼,然后同时冲进雨里。
雨确实不大,但跑起来还是会被淋到。
林楠跑在前面,陈屿跟在后面。
跑到学校门口时,林楠头发湿了。
刘海贴在额头上。
他喘着气,回头看陈屿。
陈屿也湿了,但没他严重。
“你跑挺快。”陈屿说。
“你也不慢。”林楠说。
两个人站在校门口的屋檐下躲雨。
雨下大了点。
哗哗的。
“等会儿再走?”陈屿问。
“嗯。”
屋檐不宽,两个人站得近。
林楠能感觉到陈屿身上的热气。
还有那股洗衣液的味道。
更清楚了。
他往旁边挪了半步。
“你用的啥洗衣液?”林楠问完就想咬舌头。
这啥问题啊。
但陈屿没觉得奇怪。
“就超市买的,蓝色的那瓶。”他说,“我妈买的,我也不知道牌子。”
“哦。”
“咋了?”
“挺好闻的。”林楠说。
他说完就后悔了。
这都说的啥跟啥。
但陈屿笑了。
“你用的啥?”陈屿问。
“就……最便宜的那种。”林楠说。
“下次试试我的。”陈屿说,“我妈说那个留香久。”
林楠没接话。
他觉得这话有点怪。
试试我的洗衣液?
这对话走向不对。
雨小了点。
“走吧。”陈屿说,“趁现在不大。”
“嗯。”
两个人又冲进雨里。
这次跑得慢了点。
到宿舍楼下了。
林楠的宿舍在这栋,陈屿的在后面那栋。
“我到了。”林楠说。
“嗯。”陈屿停下,“那我回去了。”
“好。”
陈屿转身要走。
“陈屿。”林楠叫住他。
陈屿回头。
“今天……”林楠顿了顿,“今天聊得挺开心的。”
他说得很小声。
但陈屿听见了。
“我也开心。”陈屿说。
他笑了下。
然后转身,往自己宿舍楼跑去。
林楠站在楼下,看着他的背影消失在雨里。
然后才转身上楼。
回到宿舍。
屋里没人。
室友都出去了。
林楠关上门,靠在门板上。
他全身湿透了,头发滴水。
但他没马上去换衣服。
他就那么站着。
脑子里回放着下午的画面。
甜品店。靠窗的位置。提拉米苏。算法偏见。洗衣液的味道。雨。
还有陈屿说“我也开心”时的笑。
林楠抬手,摸了摸自己的脸。
热的。
他走到镜子前。
镜子里的人,头发湿漉漉的,眼睛亮得吓人。
嘴角是翘着的。
他在笑。
笑得有点傻。
但他控制不住。
他就在那儿站了半天,看着镜子里的自己笑。
然后才去洗澡。
热水冲下来的时候,他还在想。
想陈屿说的那些话。
想陈屿听他说算法偏见时的表情。
想陈屿问他压力是不是很大。
林楠关掉水,擦干身体,换上干净衣服。
回到桌前,打开电脑。
他看了眼和陈屿的聊天窗口。
最后一条消息是昨晚的截图和那句“可以啊”。
林楠盯着看了会儿。
然后点开输入框。
他打字:“今天谢谢你。”
删掉。
又打:“洗衣液啥牌子的?”
删掉。
最后他打了句:“到宿舍了吗?”
发出去。
几秒后,陈屿回:“到了。刚洗完澡。”
然后发来一张照片。
是洗衣液的瓶子。
蓝色的,上面一堆英文。
“就这个。”陈屿说。
林楠保存了图片。
“哦。”他回。
“你淋湿没?”陈屿问。
“湿了,洗完了。”
“那就好。”
对话停了。
林楠以为结束了。
结果陈屿又发来一条:“下周项目汇报,咱俩一起讲?”
林楠愣了下。
小组汇报一般都是一个人讲。
“为啥?”他问。
“你讲模型部分,我讲数据分析。”陈屿说,“你比我懂模型。”
林楠看着这句话。
心里那根弦,又松了一点。
“行。”他回。
“那就这么说定了。”陈屿说,“早点睡。”
“你也是。”
放下手机。
林楠靠在椅背上。
窗外还在下雨。
淅淅沥沥的。
他听着雨声,发了会儿呆。
然后打开文档,开始写报告。
键盘敲击声里,他忽然想起陈屿说的那句话。
“你比组里大多数人都强。”
林楠停下打字。
他盯着屏幕,看了很久。
然后继续敲。
这次,敲得更用力了。