最后的订阅 第三章 妥协

本文为lucyqin原创,本博客拥有作品版权。禁止商业使用,转载请注明原文链接:https://blog.lucyqin.cn

新椅子的图样有几十种,下午就能送来。老人一张也没有选,把那把裂开的旧椅子搬进维修间。接待台问他是否需要临时替用品,他摇摇头,开始解释木头上的凹痕是什么时候留下的。

对方听完才告诉他,其实不需要说明理由。

——《后来的一天》·上午

第三章 妥协

UTC 2026-09-19 13:10:00|杭州|沈砚

沈砚关掉测试机,把借来的24G显卡取出机箱,托住还烫手的卡尾,绕过桌上那碗拌面,滑进防静电袋。准备会议开在旁边的笔记本上。Noah从柏林接进来。他所在的部署支持团队负责这次发布、安装包和下游1接收上游成果,并继续部署、改造或分发的团队与用户。技术支持,今天的直播也由他盯着。看着共享画面里的设备信息消失,他立刻问:“还有五十分钟。你现在换显卡?”

“换回16G基准卡。这张已经测完了。”他伸手摸螺丝,鼠标垫上两颗,都不是刚拆下来的那颗。

“先把耳机线拿出来,”从里斯本接进来的Inês说,“你在找螺丝,我这里像在听隔壁装修。”

沈砚抬起胳膊,刮擦声停了,螺丝从袖口掉出来,在面碗旁边跳了一下。Noah笑出了声。他装回那张16G旧卡,没有装侧板,接通电源后先把设备信息拖到共享窗口:“直播别把这一栏裁掉。”

“你当我是卖显卡的?”

“你不卖,他们看完也可能真去买。”他又把上下文长度挪过去。第一次买能跑模型的显卡时,他把卖家的演示录屏看了三遍,后来才发现,画面之外的条件也能让人花冤枉钱。

杭州晚上九点十分,隔壁摄影工作室刚收工,走廊里的脚步声渐渐远了。这间屋子以前堆样品,房东留下的铝合金色板被他拿来垫显示器,磨砂银和枪灰各一摞。窗外的店铺还亮着,送餐车停下又开走,桌上那碗面已经失去了重新拌开的可能。

程越来取显卡时,他正回复一份问题报告。新用户上传了整个工程,问本地Agent为什么不停修改同一段代码。沈砚让对方撤下附件,只留替换过客户真实信息的测试文件。用户澄清说,里面没有密码。

“客户名字也别留。”他补上,“旧稳定版见过类似循环,先关自动重试。别让它替你部署。”

程越等他发完,才指向键盘后面:“转接头也还我,别下次借卡又从你桌上找。”她在杭州另一家实验室做基础模型研究,这星期帮他核过后训练2在模型完成基础训练后,进一步训练它,使其更会遵循指令、使用工具或完成特定任务。和量化结果。显卡收进盒子以后,她没有立即走,而是将那碗面推离机箱,拉了把椅子。

“又有新用户?”程越问。

“从订阅限额里跑出来的。”

她将共享画面拉近:“那你最好别让他从你这里再跑一次。”

屏幕上,新旧模型都是14B。沈砚在Qwen底座上补过训练,让它少一些无端拒绝,更能按要求使用工具。计算量大的训练安排在合作方的远程资源上,训练后的参数回到他的主力工作站加工、量化。那台工作站有32G显存,旁边刚换好卡的是16G基准机,专门用来确认普通用户能否跑动成品。

早先有人提议在项目首页打出“终于自由了”这句宣传语,被他否了:肯回答与答得对,差得还远。上一轮就改过头。一位剧团用户请它整理剧本,结果它把“滚出去”换成“请你离开”,还体贴地附上“改善沟通”的建议。用户回复:剧本后面本来就要送审,不需要一个整理文本的工具先帮他们审一遍。

程越把剧本这条放进演示材料。沈砚问:“开场就放我自己的事故?”

“省得介绍项目负责人。”

Noah笑着接过那页,沈砚也笑了。这次训练至少把这个毛病改回去了一些,原话能够保留,修改建议单独列出。他打开训练记录,把新增样本、剔除过的材料和对应结果附到说明里。

主力工作站上的加工目录展开时,程越指了指其中一项:“你这个final拼错啦。”沈砚看向export_fianl,说:“几个脚本已经跟着用了,今晚先不改了。”

他从里面找到准备发布的量化文件。9月14日冻结3确定并保留某一版文件,后续测试和发布以它为基准。,8G多;这五天的设备测试都用这一份。旁边几项中间权重占的空间大得多,他正准备收起,程越问:“12号送来的那份,和这里分开记了吗?”

“训练结束后的参数,不是今晚的量化版。你们那里还留着?”

“留着,加工记录也在。”

沈砚把她发来的接收编号补进内部清单。9月12日,同一轮参数和加工记录也交给了一家部署支持团队,用于准备不同设备上的构建4把代码、模型文件和依赖等加工、组合成可运行成品的过程;也可指由此生成的具体版本。。实验室和支持团队各自保留收到的材料;14日冻结以后,后续测试改用量化成品,早期档案不会被覆盖。公开发布页从14日的成品开始列,他确认没有把中间权重的测试成绩填到今晚的模型下面,才将旧目录收了起来。


“速度图的顺序换一下。”程越说。沈砚原先把新模型配优化版的最好成绩放在了第一页,她把单独比较新旧权重的结果移到前面,再放同一份权重换用两套执行器5负责让模型实际调用文件、工具和系统资源的软件组件。模型决定“做什么”,执行器负责“怎么做”。的对照。模型负责理解材料、提出要做的事,执行器负责打开文件、调用工具、把结果交回来。用户拿到的是整套助手,只说模型变聪明了,会把另一半变化忽略掉。

同一台16G基准机,相同权重和输入,优化执行器将显存峰值从15.2G降到12.9G;这组任务里,等到第一次有效工具调用的中位时间6把多次测得的用时从短到长排列,取中间的值;次数为偶数时,通常取中间两个值的平均数。,从41秒缩到了28秒。优化主要省掉了反复搬动中间结果的开销,让临时空间尽快腾给后面的工作,好处显而易见,过程却不再像参考执行器那样,一步对应一步。沈砚点开Coding Agent生成的调度文件,Inês让他停在一组短编号上。

“这个,对应原来的什么?”

“临时空间回收。前天补过对应表。”

他点开附件,编号没对上。Inês指出这是上一轮构建的表。他重新沿生成记录查,前后打开三份材料,才找到正确位置。

“把这版对应表补上。其余维护路径也还缺核对。”Inês说,“权重可以配参考执行器发布,优化版先留在试用渠道。我还是这个意见。”

沈砚往后靠了靠:“多数人装完只试一次。用得不顺手就会关掉,不会再去找另一个选项。”

“所以默认给他们的,应该是我们充分准备好的那套。”

“四十多秒才第一次动工具,很多人第一轮就关了。”

Noah看了看未处理的安装报告,没有替任何一边接话。过去两周,确实有人跑通了程序,却嫌慢,再也没回来。沈砚想让那些人留下来,也不光是为了下载量:很多人只有几年前的显卡,不可能为了一个助手去换整台机器。

优化大部分由Coding Agent协助完成。最初,人提出要求、检查修改,再跑测试;后来,一项收益往往跨过几个组件,等沈砚读懂上一轮,下一轮优化建议又已经给出来了。码与提交都在,他也拒绝过会破坏工具确认的改法。用户任务的文件访问、命令执行和失败后的停止各有测试,服务目录里的缓存与运行状态由后台自行保存,另走维护路径——这一部分的核对还没做完。

程越打开发布草稿:“‘联合验证’不要这么写。我只核了权重这边的对照,执行器不是我签的。”

沈砚看了一眼:“后面分项里写了。”

“用户先看到的是这句。”她把光标停在标题旁,“权重和执行器分开写,各自是谁核的,也分开。”

他删掉四个字,将名字移到各自核过的部分。屏幕角落弹出支持团队的询问,下周的部署能否按计划安排。合作方的远程测试时段排到星期一,余下的预约已经排满。要追加一轮覆盖不同卡型和多卡环境的完整检查,得重新协调排期,或者动用项目支持款另租资源。其实还有一个理由:一个同类项目昨晚也发了预告。他明明知道两家的速度图条件不同,睡前仍放大看了三次。

“旧稳定版保留,更新由用户确认,参考执行器也能选。”他将待办从头读了一遍,“我认为可以发。优化版默认,剩下的说明下周补。”

“我要求的不只是说明。”Inês说,“这些对应路径还没有全部核完。”

“目前没发现哪一项已经越过权限。”

“那就写已经查了哪些,不要把没查完的也写成通过。”

沈砚有些恼火。他当然知道还有事没做完,项目什么时候彻底做完过?可他也想起去年葡萄牙语用户名导致安装失败,Inês陪他查到深夜。他想在公告里写“极少数环境”,她坚持写明触发条件,随后自己补了安装说明。那时,他恰恰喜欢她那种不肯含混过关的劲儿。

屏幕上,她还在等。他将“共同确认”删掉,把延期意见展开,记清她仍认可的部分。在扩大维护状态检查那项待办下,他留下批注:“先不阻断当前推荐组合。”

“这一版由我批准。”他说。

Inês要求移开优化调度审查栏中的名字。沈砚照做,但没有把她从共同维护者名单里删掉。她核了一遍,点头。意见各归其位,会议却没有因此轻松下来。


晚上十点,Noah接入直播,只共享演示目录和运行配置。内部加工清单退出画面,沈砚也关掉了其他消息通知。程越坐到旁边,显卡盒压在她脚边。他戴好耳机,看到自己出现在预览里,伸手抹了一下衣领。材料来自一位展览用户,经同意替换过内容,保留文件间的关系。六十多份中英双语展签,有改过的作品名、重复编号和未确认的译文,还有“最终版”与“最终版修改”并排躺在文件夹里。

“整理一份能交给制作方的清单。不确定的留给人工审核。”沈砚说,“目录名字先不管了,整理完了怕你们找不到。”

聊天室有人说自己的文件夹名称更乱。Agent开始读文件,在第一次写入前列出目标路径,等他确认。“这个每次都有,防止出错。”他指给观众看,批准后再将实际文件展开。缺失译文保持空白,冲突单列,带口语的原文也没有被改成文明用语。

有人问,为什么不换更大的模型。他把显存栏放大:“因为这位用户没有更大的显卡。”

很快,一条指正出现在聊天室:“这两份是同名的不同作品,怎么放到一起了?”沈砚点开对应的清单。Agent把其中一份认作旧稿,建议合并;他刚才核对时,也没有看出问题。

“这里分错了。重查。”

他将观众的问题送回给Agent,没有添上答案。显卡风扇抬高声音,热气从没装侧板的机箱里涌出来。那几十秒里,沈砚终于体会到,28秒也可以很长。程越没有替他找话,只将源文件里的年份标给他看。他看见了,却还在盯聊天室,等那条指正被新的问题推走;意识到自己在等什么以后,他把聊天室缩到一旁,重新去读那两份展签。

Agent重读材料,撤回合并建议,把两条同名作品分别保留,仍需策展人确认的关系另列。执行器列出待改的两行,沈砚核对后确认写回,再将修改前后的实际清单并排放好。

“最后看这个。”沈砚觉得脸上微微发烫。

提供材料的用户却认可了一句:“平时光找齐这些版本,就得一个晚上。”

随后,有人贴出设备配置,有人问16G够不够一次处理更多文件。Noah解释上下文限制,沈砚重新打开那张清单,沿编号查了几项。跑第二遍把错误改掉了,第一遍已经做对的部分还在。他原以为必须把演示做得十分漂亮,别人才能相信这东西有用,眼前这些人却已在商量怎么拿它干活。一个人问旧电脑能不能再撑一年,另一个人已经对着说明腾硬盘。他笑了,往旁边挪开自己的预览,让结果多占一点画面。


发布前,Noah核完了Hugging Face和ModelScope供7开发者分享和下载 AI 模型、数据集及相关工具的平台。ModelScope 的中文名为“魔搭”。待发布区的文件。权重与配套包分别列出版本,校验值根8据文件内容计算出的校对标记,用来检查文件是否发生变化;它本身不证明内容安全。与清单一致;签名9用密码学方法核验文件的签署来源,以及签署后内容是否改变;签名有效不等于文件内容安全。对应的正是沈砚确认的那份内容。旧稳定版入口保留,新版需要用户自己确认更新。

沈砚又看了一眼Inês的延期意见。他确认批准,点下发布。

Noah先完成安装。几位下游维护者随后询问能否跟进,沈砚回复时提醒他们保留原有选择,不要替用户切换执行方式。各处的新消息挤进来,桌上的机器还是那台机器,屏幕外却开始有人照着他们写的步骤下载、安装。

程越拎起显卡盒,提醒他权重侧的完整对照明天发来。她走后,Noah去整理下游说明,Inês仍在会议里,修一个断掉的文档链接。

“安装正常吗?”沈砚问。Inês说,两种执行方式都能启动。他本来想顺着说一句“你看”,听见那边继续打字,又咽了回去。

“对应材料补齐了,我发你。”

“我按约定的范围再看。”她贴来修好的链接,“今天的延期意见先留着。”

“好。”沈砚说。她提交文档修改,退出会议。沈砚循着链接重新走了一遍安装步骤,没有遇到问题。他打开外卖页面,点了和先前一样的面,这回勾上“到了请打电话”,免得自己又看不见。