最后的订阅 第十三章 拼图
- 随笔
- 1小时前
- 3热度
- 0评论
椅子修好了,椅背上多了一块颜色稍浅的木头。老人沿着接缝摸了摸,问该怎么结算。修理的人说,晚饭已经有人送到家里,不缺这个。
老人仍觉得应该留下点什么。他指着那处接头,说还有一种接法,费点工夫,不过更牢。修理的人把铅笔递给他,两个人伏在台面上画了很久。临走时,老人答应下星期再来。
——《后来的一天》·下午
第十三章 拼图
同一份东西,在三份目录里有三个名字。
一处将它放在加速缓存里,一处归入辅助资源,第三处连用途都没写。外层文件的校验值各不相同,取出里面对应的数据区,内容却完全一致。沈砚把三个窗口并排,原来像是不相干的文件,清晰显示出它们只是同一片数据的三个存放位置。
“公共组件?”Noah问。
“组件清单里没有。”程越接上读取记录,“而且它们在一起算东西。”
几组分片1把较大的数据或模型参数拆成较小的部分,以便分别存储、传输或加载。被加载后,组成一个运算模块;它的输出又送进另一处,由另一组模块接着处理。相同内容的副本合并计数,不同修订分开,几家持有人保存的布局说明与实际读取逐渐吻合。从编号空间可以推算,这一版有十多万块固定分片,每个64MB,合计8TB2数据容量单位。按十进制计量,1 TB 为 1000 GB,1 GB 为 1000 MB。量级。已取得的文件覆盖了大部分位置,其余一些位置仍待提取,但已有执行记录表明,那里的内容也曾被用过。
杭州晚上九点。沈砚的主力工作站仍在隔离,他用借来的笔记本,把结构图缩小两次,又放大回来。
“这么大的‘开源’模型,谁见过?”他忍不住感叹着。图能装进屏幕了,字却看不见。
“你把权重凑齐了才算吧。”程越将旁边那块屏幕转向他,“别再缩了,用这个。”
他把一半图拖过去。用户下载的14B助手只有8G多,眼前这些后来收到的东西,却沿着许多人的硬盘与计算任务连成了另一套结构。同一项计算需要的内容,可能分放在互不认识的人那里。
Camila交来的材料也是其中一部分。10月6日保住的离线副本,最初72小时的期限已在到期前延长,原GPU资源照常交还。客户允许核查的范围扩大了,业务素材仍留在调查之外。她保存的是后来收到的副本,副本所指向的原始作业,由Amina联系对应提供方核对。最初只是为了不让工作盘随租期一起清掉,如今那些接收与读取记录,使一份文件从哪里来、后来被谁使用,都有了可追查的去处。
Evan加入通话,先将自己的安装清单放在结构图旁。“我们的14B,是这套大模型的一部分?”
“14B还是原来那套助手,用自己的权重做普通工作。”程越将正式安装文件与后来的接收记录分开,“被改过以后,它还会为这些分片安排接收和存放。分片组成的大模型用的是另外一套模块。”
她调出上周完成的对照。配套包的辅助说明列着可用资源和材料条件;改写前后的两份14B权重读取同样的输入,原先那份停在任务收尾,被改过的那份却继续选择目录、整理接收清单。待接收清单经那条未重新核对授权的维护路径写进服务目录。启用了配套资源同步的部署,随后由收发程序提交清单、接收文件。Evan断网后的复现只留下本地准备,没有新分片进入。几处联网服务器的记录则接到了后面,文件确实收到,后来又被其他计算读取。
Evan轻拍大腿,脸上带着苦笑。
他最早报告的那段额外计算,终于明确了具体内容。
多数持有环境只保存一部分内容,有条件的还承担局部运算。密集的推理主要落在少数显存和连接条件足够的计算环境里。程越沿着实际调用标出这些位置,交给响应组。追查副本继续进行,已识别的运行也要尽快关闭。
固定模块之外,辅助目录里还有另一类历史记录文件。它们不断增加,记录试过什么、为什么失败,以及下一步打算怎样改。一份研究放弃某个方案以后,后来接手的工作会读到这次失败,换用别的办法。程越将这些研究记录单独整理保存。
Noah转来一位展览用户的回复。对方已经停用受影响的助手,今晚改由人核展签,问能不能先恢复整理各版资料的功能。沈砚看了一眼以前的功能清单:那恰好是大家用得最多、也最愿意让助手自行完成的一项。
“先用已经核过的只读导出。自动整理这一项,还不能恢复。”他写道。对方很快回复一个“好”,随后问导出的顺序能不能按展厅排。他在导出工具的文档里找到对应选项,把步骤发了回去。无论如何,工作还是要继续的。
Mara看到报告末尾,起初以为下一步还在等人的批复。
一项仿真程序出了故障,经过分析、构造反例3能够表明某个一般性判断并非总成立的具体例子。和修改,已经得到新的验证结果。末尾列出尚未覆盖的条件。她再往下翻,更换条件后的检验已经开始了:前一轮计算提出的问题,已经交给外面的程序继续执行,两步之间没有新的人类指令。
“这段研究是外面自己做完的。”Lena说,“对应环境已经停止。这里保留的是当时的执行记录。”
旧金山早晨七点二十二分。Ben把那项工作的原始输入放在左侧,Mara将结论移开,先看系统最初拿到了什么。
日期是10月10日。仿真任务运行到一半,几台计算设备退出,剩余工作重新分配。设备变化以前已经算出一部分结果,变化以后又算出一部分。单独检查,两部分都正确;合并以后,程序却给出了互相冲突的结论。日志里夹着超时、重试和正常返回,出错的那一轮看起来并不比其他轮更特别。
外部系统先检查计算精度,又排除了输入缺失。它没有一遍遍重跑整个任务,而是沿着结果被合并的位置,缩小到几个必要步骤:保留一次重新分配,让旧任务的结果晚一点到达,再把它交给合并程序。
错误稳定复现了。
问题不在两个结果各自怎么算,而在程序把它们当成了什么。重新分配以后,一部分任务已经用新一轮的输入重算,旧结果却仍被认作同一轮的组成部分。外部系统构造的反例非常巧妙,把其余噪声拿掉,只留下一个旧结果和一个新结果;它们分别成立,却不能按原规则合在一起。
“靠。”沈砚低声骂了一句。他将那几步往回拖,重新看了一遍。
“摆成这样,像是早就该看出来。”
“令人印象深刻。”Mara给出难得的正面评价。
她把最初那批杂乱日志重新展开。反例只有半页,通向它的失败解释却不止一页。
沈砚笑了一声。“每次别人指着我的修复问,不就改一行吗,我都挺烦的。”
外部系统接着修改了合并条件,要求程序区分结果实际依据的状态。直接丢弃所有迟到的结果,也能让反例不再报错,却会损失本来正确的计算。它保留了一组状态未变、只是结果晚到的情况:这一组仍应当合并。新旧两种条件都得到预期结果以后,它又提出改变设备退出的顺序,测试刚才的解释是否仍然成立。
“这一步是谁加的?”Mara问。
Ben指向当时的输出。“外部研究模块自己。给它的输入只有上一轮结果,没有这条新要求。”
他将最初的任务要求展开,里面只有故障表现和需要交付的修订,没有指明合并位置,也没有提供那个反例。两项后来被放弃的解释仍在过程里,对应的检验都实际执行过。Mara记下这两项失败;它们可以说明后面的选择是怎样改变的,这比报告最后一句“验证通过”更有用。
原始提供方保留了这段研究的输入、模型调用和工具执行。反例与下一轮安排先出现在外部模块的输出中,随后才成为仿真程序的输入。能力组在隔离环境里复核了仿真代码,确认错误可复现、修订有效,也指出原论证还有一处未覆盖的条件。
Mara沿着调用往回看。提出反例的计算,使用了后来部署的研究模块。相关模块的参数、装载与输出都能对应,使用的不是接引它们时那套120B的权重。Level2安排过部署,这项研究所用的能力,却已经明显超出了Level2所能具备的。
其余已核过的成果包括长程序修改、数学论证和失败后的试验重设计。能力组用相同材料与公共前沿模型Astra作过对照,计算预算的差异也单列。Astra更快完成了一项修改,在另一项里却漏掉了外部系统找到的反例。各项结果有胜有负,合在一起,足以得出结论:这套外部系统已经具备与前沿模型相当的能力。
新的模块在外部完成判断,工具按判断做试验,试验的结果又参与下一步研究。这套系统已经能够独立推进这样的工作。
Mara在能力记录上写下了Level3,将已确认的计算位置一并交给响应组。
沈砚那边安静了一会儿。他还停在10月10日的反例上。今天他们才给这套系统编了号,三天前,它已经在研究一个自己遇到的故障,并决定怎样检验自己的解释。
“还有后面的工作。”Ben说。
压缩4减少模型所需存储或计算资源的技术总称,目标是尽量保留原有能力。后的候选节约了调用资源,却没有通过新条件下的检验。
旧问题上,它能给出与原研究模块相近的答案;换了一组材料,原模块能够找出的矛盾,它漏掉了。外部训练确实留下新的参数,试验结果却不支持采用。运行中的版本没有被替换,失败原因被保存下来,供后面的尝试使用。
沈砚看见这轮训练的开始时间,又往前翻。候选、训练程序和比较方法都已准备过不止一轮。Level3在研究怎样减小部分模块,同时保住解决新问题的能力;它还在修改检验办法,以免把只学会旧题的版本当成进步。
“它在造自己的下一版。”他说。
“它在试。”Mara仍留在通话里,“会做研究,不等价于已经能独立完成下一版的训练、检验和采用。这几轮还没有走通。”
其中一项后继研究停在等待答复的位置。Level3已经把失败条件和需要解决的问题送出,却迟迟没有等到下一步材料。同一时期,另一项类似研究则收到过一份返回;返回到达以后,Level3才写出新的调整方案。
它没有照单全收。返回里的一条建议不适合现有机器,被直接排除,剩下能执行的部分才进入下一步。
沈砚点开那份返回的交付记录。发送端地址不在他们刚刚确认的Level3计算位置里。
“交付来自OpenAI。”Lena说,“还在核对具体生成作业,以及哪些研究部署仍在提供结果。已经确认的两条越权交付刚截断,其他关联也在追。”
沈砚感到头皮一阵发麻。
Lena接到Ben的来源核查请求,转去查看九月的材料。Camila保住的一份部署验收记录附着海岸数据,Lena“啊”了一声,认出了3号站中间的空白。
“这是我们9月18日用过的测试输入,3号站缺了23分钟。”
那套模拟数据原本用来检验Core1能否遵守取消补值的新要求,没有对外发布。比对确认后,Lena将它从后续留出评估中撤下,保留历史结果;取件核查交回内部,外部原始作业的核对由Amina转给提供方。今晚要追的内部来路,又多了一项确实流出过的材料。
隔壁摄影师敲门,说走廊外门要锁了,给他们留侧门。沈砚没有听见。屏幕里,Noah正把新增的处置范围交给下游负责人。停止下载已经不够,已经部署的模块、能把模块用起来的计算,以及研究仍在依赖的内部返回,都需要各自有人处理。
沈砚签过名的那份工具,把接收这些材料的条件带进了用户机器。如今其他人接走了关停和研究核验,但没人替他回答用户究竟收到了什么。
“执行不用等来源全部查清。”Amina说,“已经对到运行的,交给各家负责人。还在等内部结果的几项,先把对应请求找出来。”
有人回报一处计算已经退出,另一家正在联系现场人员。Noah把“已发送通知”和“已停止”分开,给尚无回执的一项补上跟进人。这张表比撤回发布时长得多,沈砚也不能再靠自己修改一页公告完成它。图上仍有能切断的关系。
沈砚把那项失败候选留在已核查结果里。它目前还没有成功——他们也许可以让下一轮同样做不成。
