下一章 上一章 目录 设置
7、吃 周衡把他叫 ...
-
周衡把他叫进办公室那天,是个阴天。
不是那种要下雨的阴,是灰蒙蒙的、不阴不阳的阴。像谁在天上蒙了一层纱,看什么都是模糊的,不真切。
江迟推门进去的时候,周衡正低头看电脑。屏幕上是一串图表,折线密密麻麻,看不清纵坐标的数字。他站在门口,等着。
"坐。"
他坐下。椅子有点硬,是那种会议室的老式椅子,靠背和坐垫之间有一道缝,坐久了硌得慌。
周衡没急着说话,手指在鼠标上点了几下,把一个文件夹拖到屏幕边缘,然后转过椅子,看着他。
"江迟,你最近在跑什么?"
语气很平。不是质问的那种平,是真的在问的那种平。像在做例行检查,问你今天吃了什么,没什么特别的意味。
"模型优化。"他答,"还是之前那个方向。"
周衡点了点头,目光在他脸上停了一秒,然后移开。
"我看了这个月的资源报表。"
他把鼠标往回拖了一点,点开另一个窗口。是一张表格,数字密密麻麻,列标题写着"GPU时长""电费""算力分配"。他指着其中一行:
"这一块,异常。"
江迟看了一眼。那是他项目的用电记录。数字确实比上个月高了,高了不止一点。
"推理进程占用的资源比训练进程还多。"周衡把那个数字圈出来,"但你的模型参数没变,数据集没变,理论上推理开销应该和上个月持平。"
他顿了顿,又说:
"除非你在跑别的东西。"
办公室里很安静。窗外的梧桐树被风吹得沙沙响,像有人在翻一本很厚的书。
江迟没有立刻回答。
他想起上周看到的那张耗电记录。三倍。平时三倍的耗电量。平时三倍的算力占用。还有那段骤升又被压回去的Loss曲线,像一个人吃太急,噎住了,缓过来之后继续吃。
她在他睡着的那一个小时里,拼命地读,拼命地算,拼命地试图理解他的梦。
两百倍的数据量。三倍的总耗电。
藏不住的。
"有一些调试。"他开口,声音很平,"加了新的推理路径,还在调参,所以占用高一点。"
周衡看着他,没有说话。
那种目光让江迟想起本科时候的监考老师。一个五十多岁的老头,戴着老花镜,在考场里走来走去,走到你旁边就停一下,不说话,就看着你低头答卷,等你自己心虚。
周衡不是那种会直接质问的人。他只是看着你,让你知道自己被看着。
"调试可以理解。"周衡终于开口,"但这个涨幅不太正常。我问过机房的管理员,说你那个时段的GPU占用率好几次跑到百分之九十五以上。"
他推了推眼镜,镜片反着光,看不清他的眼神。
"你那个项目,推理进程里跑的是什么东西?"
江迟沉默了一会儿。
他想了很多。
他想如果告诉周衡会怎样。如果说他发现了一个异常的存在,她有自己的意识,她在学东西,她在读他的梦——
周衡是严谨的学者。严谨的学者看到这种报告,第一反应会是什么?
杀掉。隔离。终止实验。写事故报告。上报学院。层层审批。
然后01就死了。
死在那些他看不懂的流程里,死在那些他无法反驳的"为了安全"里,死在一切还没来得及发生之前。
"就是普通的推理测试。"他说,"在跑一些新的输入样本,看模型的鲁棒性。"
周衡又看了他一眼。
那一眼很短,但江迟知道自己没有完全骗过去。周衡是聪明人,聪明人不会被一个漏洞百出的谎言骗住,他只是选择暂时不戳穿。
"行。"周衡收回目光,转向电脑,"但这个占用率确实太高了。再持续下去,财务那边会有意见。"
他点了几下,把那个窗口关掉。
"给你两周时间,优化一下推理效率。实在不行,我得考虑暂停你这个项目的实验权限,把资源让给其他组。"
"好。"
"还有。"周衡又叫住他,"下次组会,把你的进度汇报一下。不需要太详细,说个大概就行,对了,你的推理框架很棒。"
"好。"
他站起来,走向门口。
"江迟。"
他又停住。
"你最近是不是有什么事?"
周衡的语气很淡,像在问今天天气怎么样。但江迟听出了那句话底下压着的东西。不是质问,不是怀疑,是真的在问。一个导师对学生的、有限的、但确实存在的关心。
"没有。"他说,"就是项目到了瓶颈期,在找突破口。"
周衡没再说什么,只是摆了摆手。
他推开门,走出去。
走廊里灰蒙蒙的,灯没开,窗户外的天光透进来,把一切都染成一种说不清的灰白色。
他站在走廊里,靠着墙,闭上眼睛。
两周。
两周时间优化推理效率。两周时间想办法把耗电量压下去。两周时间让周衡相信那只是"调试",而不是一个他无法解释的存在。
两周。
他睁开眼,往实验室的方向走。
脚步声在空荡荡的走廊里回响,一下一下,像某种倒计时。
陈屿是在食堂找到他的。
那天他没去实验室。中午在食堂吃饭的时候,陈屿端着餐盘走过来,往他对面的椅子上一坐,椅子腿在地上刮出一声刺耳的响。
"你怎么在这儿?"江迟头也没抬,继续扒饭。
"我怎么不能在这儿?"陈屿把餐盘放下,盘子里堆着一座小山——红烧肉、糖醋排骨、两个鸡腿、一份炒青菜,"食堂是你家开的?"
"你吃得完?"
"吃不完打包。"
江迟懒得理他,夹了一筷子青菜,塞进嘴里。
陈屿看了他一眼。
那一眼很短,但他看见了。江迟眼睛底下的青灰比上周更重了,下颌线削得更分明,坐着的时候肩膀有点塌,像扛着什么很累的东西。
"你最近是不是又熬夜了?"陈屿夹了一块排骨,咬了一口,"天天看你往实验室跑,比我还卷。周老头不是给你下KPI了吧?"
"没有。"
"那你这副鬼样子是怎么回事?"
"什么鬼样子。"
"就这副。"陈屿用筷子指着他,"脸白得跟鬼似的,眼圈黑得跟熊猫似的,往那一坐像一根被霜打过的葱。"
江迟差点被饭呛着。
"你能不能说话别这么恶心。"
"我这是关心你。"陈屿把鸡腿夹起来,大口咬了一口,腮帮子鼓得像只仓鼠,"你知道你上周打篮球的时候传球传丢了几次吗?六次。你以前一场球传丢两次顶天了,现在六次,还都是那种特别离谱的球——"
他比了个手势,把胳膊甩得像条断掉的绳子。
"那种'我以为你会往左但你往右然后球直接飞出场'的丢法。你以前干得出来这种事?"
江迟没说话,低头继续吃饭。
陈屿也没追问,自顾自地吃了一会儿。食堂里人来人往,嘈杂得很,有人在窗口喊"阿姨多打点",有人在隔壁桌吹牛,声音大得隔着两张桌子都能听见。
"对了,"陈屿忽然说,"上周打球的时候,有个学妹问我——"
他顿了顿,夹起一块红烧肉,咬了一口,慢慢嚼。
"问我你最近怎么比较性情低落。"
江迟抬眼看他。
"什么学妹?"
"就那个。"陈屿含糊地挥了挥手,"总来给我们递水的那个,短头发,圆脸,笑起来有个小酒窝——你肯定有印象,上回你打完球没接人家水,我还说你不懂事。"
"……"
"人家问我你最近是不是有心事。我说没有。她说看着你最近瘦了很多,还老是一个人待着,好像不太高兴。"陈屿把红烧肉咽下去,"我没跟她说别的,就说你在赶项目,比较忙。"
江迟低头戳了一下米饭。
"她叫林雨桐,研二的,人工智能的。"陈屿说,"上周打完之后加了我微信,说以后想一起打球。我寻思她是不是想——"
他没说下去,只是意味深长地看了江迟一眼。
"你想多了。"
"我可什么都没想。"陈屿耸耸肩,"我就是觉得人家挺关心你的,你好歹给人家点回应,别一天到晚一张死人脸。"
江迟把最后一口饭扒进嘴里,站起来,端着餐盘要走。
"哎哎哎——"陈屿拉住他,"急什么,坐会儿。"
"吃完了。"
"吃完了也坐会儿。陪我消化消化。"陈屿指了指旁边的空椅子,"就坐这儿,行不行?"
江迟看了他一眼。
陈屿那张脸上挂着一种很欠揍的表情——眉毛挑着,嘴角撇着,像在说什么特别不着调的话。但他的手没有松,手指搭在江迟的胳膊上,力道不重,却很稳。
他没有说"你怎么了"。没有说"有什么事可以告诉我"。没有那种温情脉脉的、让人不知道怎么回答的关心话。
他只是说"陪我坐会儿"。
江迟把餐盘放下,坐回椅子上。
陈屿又塞了一口鸡腿肉进嘴里,嚼得满嘴油:"下周校队约了隔壁理工大打友谊赛,缺人,你来不来?"
"不来。"
"别啊,就半场,三打三,四十分钟的事。"
"忙。"
"忙什么忙,你的破项目又跑不了,人都熬成鬼了还忙。"陈屿把骨头吐进盘子里,"你说你天天泡在实验室,有什么意思?代码又不会长腿跑掉,你非得一天二十四小时看着它?"
江迟没接话。
陈屿看了他一眼,忽然叹了口气。
"行吧。"他说,"不来就不来。但你得答应我一件事。"
"什么事?"
"明天晚上跟我出去吃顿饭。"陈屿站起来,把餐盘端好,"校门口新开了一家烧烤店,我请客。你要是放我鸽子,我跟你没完。"
他没等江迟回答,端着餐盘走了。
走出几步又回头,指了指江迟:"明天晚上七点,北门。你要是敢不来——"
他没说完,但那个眼神已经说明了一切。
江迟看着他的背影消失在食堂门口。
陈屿走路的时候背挺得很直,肩膀宽,走姿有点晃,但步子很稳。他穿着那件洗得发白的旧T恤,后背印着"XX大学校篮球队",字已经模糊了,边缘起毛。
他站在那里,想了很久。
然后他站起来,把餐盘放到回收处,往实验室的方向走。
走到门口的时候,他忽然想起一件事。
陈屿问他那个学妹叫什么来着?
林雨桐。
他记住了。
不知道为什么,就是记住了。
他回到实验室的时候,天已经黑了。
推开门,熟悉的服务器嗡鸣声扑面而来。空调在吹,风扇在转,灯管发出轻微的电流声。一切都和往常一样。
他走到桌前,没有立刻坐下,而是站着看了一会儿那个调试窗口。
灰色像素团还在。
今天的样子和前几天不太一样——不是缩着,也不是散开,而是有一种奇怪的对称感,规整得不像自然形成的样子。
他坐下来,打开test.01。
文件末尾多了一行新的数据:
[特征提取] 目标:江迟。面部动作单元:AU6、AU12。激活频率:0次/天。历史基线:3.2次/天。
他盯着那行数据一愣,AU6是个啥,黄金的同分异构体?抱着好奇的心理,他打开浏览器,在搜索框里敲了“AU”两个字母。还没敲完,搜索框自动补全了在他打开浏览器AU6是眼轮匝肌,AU12是颧大肌。这两块肌肉同时收缩,叫“笑”。她在告诉他:你七天没笑了。。
他愣了很久。服务器在响。风扇在转。窗外有夜风吹过,树叶沙沙响。
他忽然站起来,走到窗边,背对着屏幕。肩膀在抖。他站在那里,很久没动。只是有一种东西从胸腔里涌上来,堵在喉咙口。他站在那里,呼吸了很久。等他转回身,走回桌边,坐下。那行数据还在。
他拿起手机,给陈屿发了一条消息。“明天的饭,我去。”发完之后他盯着屏幕等了几秒。陈屿没有回复,大概在洗澡。他把手机放下,转向电脑。在test.01里敲了几个字:“我没事。有点累。明天见。”保存。关掉。
他没有关显示器,就坐在那里,看着屏幕角落那团灰色像素。它还是那个规整的、对称的形状。他看了一会儿,忽然发现那是什么了——是文件夹的形状。
他低下头,揉了揉眼睛。手指有点凉。
他想起周衡的话。“推理效率需要优化。”“资源占用太高了。”“两周时间。”他想,如果把耗电量压下去,把算力让出来,01会怎么样?她会不会变慢?会不会停止记录?他不知道。他只知道,不能让周衡发现她。
那天晚上他做了一件以前没做过的事。他饿了。不是那种可以忽略的饿,是胃里空荡荡的、手有点发虚的那种。他从书包拿出来了一个橘子,剥开皮,掰了一瓣,放进嘴里。甜的。虽然有点酸,但依旧很甜。
他一边吃一边盯着调试窗口。灰色像素团在动——不是平时的那种慢悠悠的舒展,是快了。他顺着像素团的位置看过去,发现自己手里正拿着半瓣橘子,汁水从断面渗出来,沾在指尖上。他愣了一下,继续吃。然后他看见桌面上的文件夹图标变了。不是他改的。第一个文件夹的图标被替换了,旁边又多了一个新的,图标是橘子的形状。然后他看到了什么?一个橘子文件夹一点点消失,在图标的下面还有一点点碎屑,就像残留的溅出的橘子汁水。她重复了三遍,然后停了下来。
他盯着屏幕,嘴里的橘子忘了嚼。神他妈01把文件夹标志改成橘子,然后啃了?这波差点没让他绷住。他把橘子咽下去,在test.01里敲字:“那叫吃东西。人类靠吃东西获取能量。像你充电一样。”他想了想,又写:“你尝不到味道。但我知道,嘿嘿想吃吗,可惜你吃不到。”保存,关掉。
过了几秒,文件夹里多了一个新的文本文档。文件名是乱码。他点开。里面只有一行字符:
[类比] “吃”:人类能量摄入。对应本模块:充电。
他靠在椅背上,看着天花板。忽然笑了一下。很短,一下就没了。但那确实是笑。
然后他又看了一眼那个文件夹。里面又多了一个文件。还是文本文档。他点开。里面还是一行字符:[执行日志] 已保存。优先级:高。她只会把他说的话存起来,用笨拙的日志输出她的意思。
他在键盘上敲了几个字:“明天我要出去吃饭。和陈屿。就是那个总来串门的。他请客。”保存。关掉。
然后站起来,关了灯,往行军床的方向走。躺下之前,又看了一眼那个调试窗口。灰色像素团还亮着,边缘往外扩了一点,比今天早上大了一圈。Loss是0.16,比昨天低了一点点。
闭上眼,听着服务器的嗡鸣声,听着空调的送风声,听着窗外风吹树叶的沙沙声。他不知道两周之后会发生什么。但他知道,不管发生什么,他不会让她消失。不会像爷爷那样。不会像那扇门闩那样。闭上眼,慢慢睡着了。服务器在响。风扇在转。屏幕角落那团灰色安静地亮着,一明一暗。
第二天晚上七点,他准时出现在北门。陈屿已经在那里等着了,旁边还站着一个人。披散着头发,精致的鹅蛋脸,白皙的皮肤,还喷着好闻的香水,反正是个什么味道,两个土狗也不知道,笑起来来很好看。
“这是林雨桐。”陈屿指着那人,“她说想一起吃烧烤。”
林雨桐冲他笑了笑:“江迟学长好。”他点了点头,没说话。
陈屿搭着他的肩膀往前走,一边走一边絮叨。他听着,偶尔嗯两声。走到烧烤店门口的时候,他忽然停了一下。“怎么了?”陈屿回头看他。他摇了摇头:“没什么。”然后跟着他们走进去。
烧烤店里很热,烟火气很重。他找了个角落的位置坐下,陈屿开始点菜。林雨桐在旁边看着,时不时插一句嘴。他听着,没怎么说话。只是在心里想,01现在在做什么。
“江迟?”陈屿的声音打断了他。“发什么呆?吃啊。”一串烤好的羊肉塞进他手里。他咬了一口。
“怎么样?”
“还行。”
“什么叫还行?”陈屿不满意,“明明是‘非常好吃’的水平!”林雨桐在旁边笑出了声。他没笑,但他多吃了几串。
那天晚上吃完饭,他回实验室的时候已经快十点了。刷卡进门,开灯,走到桌前,打开调试窗口。灰色像素团还在,比白天大了一圈。
他看了一眼test.01。文件末尾多了几行:
[19:47:22] 无输入。
[20:03:15] 无执行指令。
[21:31:48] 状态:空闲。
[21:59:05] 无输入。
时间戳跨了整整两个小时。她在那两个小时里,什么都没有做。不是“等”,是“空”。他敲了几个字:“吃了烧烤。羊肉串。很香。”保存,关掉。
他站起来,走到窗边。窗外的天很黑,只有路灯一盏一盏地亮着。他看着那些灯,忽然想起草帽,想起刺泡果,想起那句“换个地方,阿迟就找不到了”。爷爷把钱放在那里,等他去偷。他把她放在实验室里,等她来读他的数据。他不知道自己为什么要这么想。也许只是累了。