2042年10月17日,多伦多下了今年入秋后的第一场冷雨。
晚上十一点,Deep Origin办公楼里还亮着三层灯。
不是因为有人加班。
恰恰相反,这家公司已经没有多少班可以加了。
一周前,债权人正式接管资产。核心团队解散,服务器、训练集、模型权重和专利都被列入清算清单。过去四年里,这家公司曾经被媒体称为“最有希望追上头部实验室的新一代人工智能公司”,现在门口那块白色发光招牌只剩下“Deep”还亮着,后半截已经灭了两天。
陆川到的时候,楼下保安正在拆一台咖啡机。
“这个也算资产?”他问。
保安抬头看了他一眼。
“现在这里的插线板都算。”
陆川笑了笑,把访客证夹到外套上。
他三十一岁,供职于一家数字取证机构。和很多人对这份工作的想象不同,他并不负责破译神秘程序,也很少需要在黑色终端里高速敲代码。他大部分时间做的事情都很乏味:核对时间戳、确认数据删除流程、判断一块硬盘有没有被动过、给律师写一份没人愿意看的技术说明。
他喜欢这种乏味。
至少证据通常不会因为心情不好而改变说法。
电梯升到十一层时,手机震了一下。
是母亲发来的消息。
周日回来吃饭吗?
陆川盯着那行字看了两秒,没有回复。
电梯门打开。
负责清算的律师已经在会议室等他。
“最后一批模型今晚下线。”对方把平板推过来,“你的任务很简单,确认销毁流程和申报一致,最后签字。”
“备份呢?”
“法务保留部分已经封存。”
“员工个人节点?”
“昨天完成。”
“训练集镜像?”
“按照法院清单分离。”
陆川翻了几页。
“离线存储呢?”
律师指了指走廊尽头。
“地下机房还有一批老设备。公司技术负责人说大部分早就不用了。”
陆川抬头。
“技术负责人?”
“已经离职。”
“那谁配合我?”
律师沉默了一下。
“临时运维。”
这就是公司倒闭以后的常态。
负责建立系统的人走得最早,留下来解释系统的,往往是最后几个月才入职的人。
陆川把平板还回去。
“先关模型。”
⸻
Deep Origin最后一套生产集群在晚上十一点二十四分进入停机流程。
临时运维叫陈放,二十七八岁,说话很快,眼圈很黑。他显然已经连续几天没怎么睡。
“总共三百二十七个实例。”陈放说,“在线服务先停,内部评估模型最后停。”
“全部有对应资产编号?”
“理论上有。”
“理论上?”
“公司过去半年人员流动太大。有些研究节点是临时开的。”
陆川看了他一眼。
陈放立刻补充:
“但生产环境是完整的。”
“我不关心完整不完整。”
陆川把自己的笔记本摊开。
“我只关心你能不能证明。”
他用的是纸。
不是电子平板。
这习惯从刚入行时就有。
电脑用来读数据。
纸用来记自己真正确认过的东西。
第一页上方写着两个字:
事实。
另一本较薄的黑色本子没有拿出来。
那本上写的是:
假设。
十二点之前,前三百个实例全部退出。
没有异常。
日志完整。
资源回收正常。
十二点零九分,剩余十三个。
十二点二十三分,四个。
凌晨零点整,只剩最后一个内部模型。
陈放坐在终端前,打了个哈欠。
“这个停完就结束了。”
陆川站在他身后。
屏幕上显示:
Instance shutdown complete.
陈放敲下确认命令。
几秒后,资源列表刷新。
空了。
他长出一口气。
“完事。”
陆川没有动。
“再查一次。”
陈放转过头。
“已经是零。”
“我知道。”
“那还——”
“从资产清单查。”
陈放无奈地重新打开另一套系统。
这是数字取证最让人烦的一点。
同一个答案,要从不同方向确认。
资产列表开始滚动。
旧节点。
已释放容器。
归档模型。
废弃GPU工作站。
最后一行加载出来时,陈放原本搭在键盘上的手慢慢停住了。
陆川也看见了。
列表最下方多了一条记录。
没有描述。
没有所有者。
只有一个编号:
A-0000
状态:
Running
陈放盯了几秒。
“这什么?”
陆川没有回答。
“你们的?”
“我没见过。”
“项目名?”
“没有这个项目。”
“创建人?”
陈放点开详情页。
空白。
创建时间:
Unknown
节点:
SR-27
权限所属:
空白。
服务路径:
空白。
陆川走到旁边。
“查进程。”
陈放已经开始敲命令。
没有。
“容器。”
没有。
“虚拟机。”
没有。
“调度任务。”
没有。
陈放的脸色开始变得不太好看。
“可能是资产数据库残留。”
陆川问:
“残留记录为什么是Running?”
“状态没刷新?”
“那就刷新。”
刷新。
A-0000仍在。
陈放又重启了资产服务。
再查。
还是:
Running
陆川终于拿出第二本黑色笔记本。
第一页写:
资产系统存在未知实例A-0000。
他停了停。
没有写“异常程序”。
也没有写“未知模型”。
因为现在证据只说明一件事:
系统里有一条他们解释不了的记录。
除此之外,什么都不能证明。
“SR-27在哪?”他问。
陈放看着节点编号。
“地下二层。”
“设备类型?”
陈放查了几秒。
“服务器。”
“谁在用?”
“显示停用三个月了。”
“那我们下去。”
⸻
地下二层比楼上冷很多。
Deep Origin的主机房已经搬过两次,这里留下的大都是旧设备。几排空机柜靠墙立着,地上还有拆下来的光纤和包装泡沫。
陈放带他走到最里面。
“二十七。”
机柜门已经没有锁。
里面只放着一台黑色2U机箱。
右侧贴着一张泛黄标签:
SR-27
陆川蹲下去。
没有指示灯。
没有风扇声。
机箱像一块彻底死掉的金属。
“开过吗?”
“我不知道。”
“电源呢?”
陈放绕到后面。
停住了。
两根电源线已经拔掉。
不是刚拔。
插头边缘有灰。
网线也没有连接。
陆川戴上手套,用手电照了一遍后方接口。
“最后一次使用记录?”
陈放站在旁边查内部系统。
“七月十四日。”
“三个月前。”
“对。”
“之后没有?”
“没有。”
“那A-0000为什么映射到这里?”
“不知道。”
陆川没有继续问。
不知道就是不知道。
调查最忌讳的事情之一,是逼一个人为了不显得无能而给出解释。
他拍了机柜编号、线缆状态和资产标签。
然后说道:
“打开。”
陈放取来工具。
机箱盖拆下以后,两个人都沉默了一会儿。
里面比预想中空。
硬盘架是空的。
GPU没有。
内存没有。
最显眼的是两块处理器插槽。
也是空的。
陈放蹲下来。
“CPU被拆了。”
陆川看了一眼积灰。
“不是最近。”
“至少几个月。”
“这种机器怎么跑东西?”
陆川说:
“现在还不能说它跑了东西。”
陈放抬头。
“系统显示Running。”
“系统显示。”
陆川纠正。
“不是设备显示。”
他检查机箱内部。
主板还在。
风扇还在。
但从常规意义来说,这台机器已经不具备正常运行大型模型的条件。
甚至连启动操作系统都困难。
“可能资产映射错了。”陈放说。
“有可能。”
“那就算解决了?”
“没有。”
陆川站起来。
“解决和找到一个合理解释不是一回事。”
陈放明显想说什么。
最后忍住了。
陆川让他回楼上。
自己留在机房里又待了十分钟。
没有任何东西发生。
SR-27没有亮。
没有发热。
没有声音。
安静得甚至让刚才那条A-0000记录显得有些可笑。
他回到十一层时,陈放已经找到了一份旧迁移表。
“SR-27确实停用了。”
“原因?”
“硬件老化。”
“处理器什么时候拆的?”
“八月。”
陆川看了一眼。
“也就是说A-0000如果是正常计算实例,至少不应该在这里运行。”
“对。”
“还有其他节点使用同一个编号?”
“没有。”
陆川拿过打印件。
事情到这里仍然不复杂。
资产数据库错配。
历史记录损坏。
缓存没有更新。
任何一个都比“没有处理器的机器在运行AI”合理得多。
他不喜欢荒诞解释。
并不是因为荒诞一定错误。
只是普通错误通常更多。
⸻
凌晨一点十三分。
两人开始进行最后的物理断电确认。
虽然SR-27本身已经没有接电,但陆川仍要求将地下二层对应机柜的PDU完全切断。
“有必要吗?”陈放问。
“有。”
“它本来就没插。”
“我知道。”
“那切PDU有什么意义?”
陆川看着他。
“把所有能排除的东西排掉。”
陈放耸肩。
“你们做取证的是不是都这样?”
“不是。”
“那你为什么这样?”
陆川想了想。
“睡得好一点。”
陈放笑了。
这是他们今晚第一次真正放松。
一点二十一分。
PDU断电。
一点二十四分。
地下二层全部非必要电路关闭。
一点三十二分。
楼宇供电记录确认。
一点三十九分。
陆川在清单最后一页签字。
但没有在“全部计算实例已确认关闭”一栏打勾。
律师看着那一格。
“为什么?”
“有一条资产记录没解释。”
“A-0000?”
“你已经知道?”
“陈放告诉我了。”
“那就先保留。”
律师皱眉。
“会影响清算吗?”
“如果明天证明只是数据库残留,不会。”
“如果不是?”
陆川把笔盖扣上。
“那明天再说。”
他没有为了显得专业而给出更大的判断。
凌晨一点五十二分,他离开Deep Origin。
外面的雨已经停了。
街上很空。
车停在地下停车场。
陆川坐进驾驶位,没有马上发动。
母亲那条消息还在。
周日回来吃饭吗?
他看了一会儿。
回复:
应该可以。
输入完,又删掉“应该”。
重新写:
可以。
发送。
然后启动车辆。
A-0000的事情并没有让他害怕。
他只是有些不舒服。
不是因为它神秘。
而是因为它缺少一种他很习惯的东西。
来源。
任何东西都应该从某处来。
一个程序有开发者。
一块硬件有制造商。
一条日志有生成它的系统。
就算是一条错误记录,也应该有犯错的位置。
A-0000暂时没有。
但这种事情并不少见。
明天查清楚就行。
陆川把车驶出停车场。
两点零六分。
Deep Origin大楼最后一层灯熄灭。
整栋建筑正式进入断电状态。
十五分钟后,楼宇管理系统完成最后一次自动巡检。
没有检测到网络活动。
没有检测到主机运行。
没有检测到备用电源放电。
地下二层温度正常。
所有机柜状态正常。
没有报警。
凌晨三点二十七分。
SR-27机柜前方那块早已关闭的诊断屏幕亮了一下。
没有声音。
没有联网请求。
也没有启动记录。
屏幕中央先出现一个数字。
127
几秒后。
它变成:
126
然后重新变回127。
如此反复。
四十七秒后。
屏幕熄灭。
而在这四十七秒里,
整栋楼没有任何人在场。