下一章 上一章 目录 设置
2、最强的人不需要让步
沈知夏 ...
-
沈知夏在早上八点四十醒来。
闹钟响第三遍时,她伸手摸到手机,关掉声音,盯着天花板看了两秒。
窗帘没有完全拉严,一道苍白的光从缝隙里落进来。昨夜的雪还没有停,楼下的树枝被压得很低,偶尔有积雪从枝头掉下来,砸在空调外机上,发出一声闷响。
她只睡了一个小时零二十七分钟。
九点半有课。
知夏坐起来,头有些沉,喉咙也干。她拿起床边的水喝了一口,冷水顺着食道下去,整个人清醒了一点。
手机锁屏上停着一条未读消息。
江屿在七点十二分回复了她。
“那早安。”
下面还有一句。
“九点半的课别迟到。”
知夏盯着屏幕。
她不知道江屿为什么会知道她九点半有课。
但转念一想,他们学院研究生的课程安排并不难查。她这一学期修的高级机器学习,是系里最热门的一门课,江屿大概做过助教,或者只是随口猜的。
她没有回复。
洗漱、换衣服、扎头发,整个过程用了十二分钟。出门前,她从冰箱里拿了一盒牛奶,又抓了两片面包。
面包已经有些硬。
知夏没有加热,边走边吃。
雪后的路很滑。
学校已经派了铲雪车,可背阴处仍结着一层薄冰。学生们裹着厚外套,踩着雪匆匆往教学楼赶。
知夏走得很快。
八点五十八分,她经过学院楼下的咖啡店,透过玻璃窗,看见江屿坐在靠窗的位置。
他面前放着电脑,耳朵里塞着一只耳机,正在和对面的人说话。
知夏没有停。
可刚走过去两步,手机震了一下。
江屿发来消息。
“看见我也不打招呼?”
知夏回头。
隔着玻璃,江屿抬了下手。
她站在雪里,手机还握在手中。
江屿又发来一句。
“进来,请你喝咖啡。”
知夏低头打字。
“不需要。”
“你看起来像需要。”
“你隔着玻璃能看出什么?”
“黑眼圈。”
知夏抬起头。
江屿靠在椅背上,笑得有些明显。
她面无表情地把手机收起来,转身走了。
十秒后,江屿又发来消息。
“脾气还挺大。”
知夏没有回复。
九点二十八分,她准时走进教室。
高级机器学习的教室不大,却坐满了人。除了计算机系学生,还有统计系、机器人学院和语言技术学院的人。最后一排已经没有位置,知夏在第三排边缘坐下,打开电脑。
教授还没到。
周围的人在讨论昨晚发布的课程项目。
这门课的期末项目不是普通作业。
教授会提供三个真实研究方向,学生四人一组,在六周内完成完整的建模、实验与展示。成绩最好的组有机会继续加入实验室,把成果扩展成论文。
昨晚凌晨,分组名单已经发到课程主页。
知夏那时正在跑实验,没看。
她打开网页。
页面加载出来。
Project B:Robust Multimodal Retrieval Under Noisy Inputs。
组员:
沈知夏。
江屿。
Ethan Miller。
Priya Shah。
知夏盯着第二个名字看了两秒。
教室后门正好被推开。
江屿走进来,手里拿着两杯咖啡。
他看见她,径直走到第三排,把其中一杯放到她桌上。
“买都买了。”
知夏低头看标签。
还是燕麦拿铁,不加糖。
“我没说要。”
“所以我没问。”
江屿在她旁边坐下。
知夏侧过脸。
“你是不是觉得自己很会照顾人?”
“没有。”
“那你为什么总给别人买东西?”
“也没有总给别人。”
“我们才认识不到十个小时。”
江屿打开电脑,语气很平静。
“但已经一起熬过夜了。”
知夏说:“那不叫一起。”
“同一个实验室。”
“各做各的。”
“共享过羽绒服和早餐。”
“我没有共享你的早餐。”
“你吃了一个三明治。”
“那是你强行放到我桌上的。”
江屿转头看她。
“所以你准备赔我?”
知夏沉默。
江屿笑了。
“开玩笑的。”
知夏觉得这个人有些烦。
不是那种让人讨厌的烦。
是他总能把边界推近一点,却又停在刚好不至于让她翻脸的位置。
教授进门后,教室很快安静下来。
今天的课程内容是模型鲁棒性。
前半节课,教授讲了分布偏移和对抗噪声,后半节开始介绍项目要求。
“这一次分组不是随机的。”
教授站在讲台上,手里拿着遥控器。
“我根据你们之前的作业、研究方向和技术背景进行了匹配。”
幻灯片翻到项目评分标准。
“我知道你们中有些人习惯独立完成任务。但这门课考察的不只是个人能力,而是你们是否能在限制条件下完成一个真正可用的系统。”
有人小声问:“如果组内能力差距太大怎么办?”
教授笑了。
“那也是现实的一部分。”
教室里响起一阵笑声。
知夏没有笑。
她已经打开了项目说明。
任务是建立一个多模态检索系统,从混合了扫描文档、表格、图片和文本的数据库中找到与用户查询最相关的内容。训练数据存在噪声,部分标签错误,部分图像模糊,文本也有OCR缺失。
评价指标包括准确率、鲁棒性、延迟和可解释性。
这不是单纯的模型题。
更像一个小型系统设计。
知夏快速浏览了一遍数据规模和计算资源限制。
训练集不算大,但模态复杂。教授只提供两张GPU,最终系统还需要在有限延迟内返回结果。
她在文档旁边写下几个关键词:
`contrastive learning`
`hard negative mining`
`OCR confidence weighting`
`late fusion`
旁边忽然伸过来一只手。
江屿用笔尖点了点她屏幕上的“late fusion”。
“我不赞成这个。”
知夏转头。
“为什么?”
“延迟太高。”
“数据规模不大。”
“最终评测是在线查询,不是离线实验。”
“晚融合的可解释性更强。”
“但你会重复做两套编码。”
“可以缓存。”
“图像缓存可以,查询端不行。”
知夏看着他。
“用户查询主要是文本。”
“主要,不是全部。”
“多模态查询比例只有百分之十二。”
“但那百分之十二可能是最难的部分。”
他们的声音不大,却已经引得前排有人回头。
知夏把声音压低。
“所以你的方案是什么?”
“共享嵌入空间,单一检索器。”
“噪声标签会把空间拉坏。”
“加置信度建模。”
“怎么建?”
“根据模态一致性动态调整权重。”
知夏停了一下。
这不是一个随口说出的答案。
她打开空白页。
“写出来。”
江屿挑眉。
“现在?”
“你不是已经有方案?”
江屿看了她几秒,伸手把她电脑转过去一点。
他用触控板画了一个简单框架。
文本和图像先经过各自编码器,在投影层对齐。训练时不直接相信标签,而是结合OCR置信度、图像清晰度和跨模态相似度,估计每个样本的可靠性。
知夏很快看出问题。
“你假设模态一致性可以代表标签可靠性。”
“不是代表,是一个信号。”
“如果图像和文本本身都错呢?”
“那就加入历史更新稳定性。”
“会不会过度复杂?”
“比训练两个独立系统简单。”
知夏拿过触控板,在旁边补了一条支路。
“再加一个轻量级的异常检测器。先过滤明显有问题的样本,再对剩下的做动态加权。”
江屿看着她新画的部分。
“异常检测用什么?”
“孤立森林太粗,可能误伤边缘样本。”
“那你想用自编码器?”
“不稳定。”
“聚类距离?”
“高维空间里不可信。”
两个人同时停下。
过了两秒,知夏说:“小模型。”
江屿几乎同时开口:“训练一个二分类器。”
他们互相看了一眼。
教授还在讲项目管理要求。
教室里大多数人都在听。
只有他们已经把项目最核心的一部分推到了第二层。
江屿低声说:“用一小部分人工校验数据训练。”
知夏接上:“但不能依赖太多标注。”
“主动学习。”
“每轮只选不确定性最高的样本。”
“再加覆盖度,避免全选边界点。”
“可以。”
两个人的对话快得几乎没有停顿。
知夏第一次没有觉得自己需要放慢速度。
她在很多合作里都会有一种疲惫感。
不是别人不够聪明。
而是大多数人需要她把已经想清楚的东西拆开,一步一步解释。从问题定义,到为什么这么做,再到可能的风险和备选方案。
她习惯了。
也不觉得这有什么。
可江屿不需要。
她说一句,他已经在下一步等她。
有时甚至比她更快。
教授宣布下课时,知夏才发现咖啡还没有喝。
江屿合上电脑。
“所以,你承认共享空间方案更好?”
知夏把咖啡拿起来。
“我只承认可以继续验证。”
“你很少直接说别人对。”
“因为大部分时候都需要证据。”
“那我什么时候能拿到证据?”
“跑完实验以后。”
“如果结果证明我对?”
“说明你这一次判断正确。”
“没有奖励?”
知夏看他。
“你想要什么奖励?”
江屿似乎没想到她会反问。
他笑了一下。
“先欠着。”
他们的另外两名组员在教室门口等。
Ethan是统计系二年级硕士,个子很高,说话很快。Priya来自机器人学院,擅长计算机视觉,之前在自动驾驶公司实习过。
四个人简单自我介绍后,决定直接去图书馆讨论项目。
他们订了一间带白板的小会议室。
Ethan先开口:“我们是不是应该先选baseline?教授给的建议是CLIP。”
Priya说:“CLIP对模糊扫描图像效果不一定好。”
江屿没有立刻表达意见,而是看向知夏。
“你先说。”
Ethan和Priya也跟着看她。
知夏没有推辞。
她站到白板前。
“先别讨论模型。”
她拿起笔,在白板中央写下四个词。
数据。
目标。
约束。
评估。
“我们现在最容易犯的错误,是直接从方法开始。”她说,“但这个项目的核心不是做出最高的离线准确率,而是在噪声数据、有限计算资源和实时延迟的限制下,做一个稳定的检索系统。”
她在“数据”下面画出四个分支。
文本、扫描件、表格、自然图像。
“第一周先做数据审计。我们需要知道噪声到底来自哪里。OCR缺字、图像质量、标签错位,还是查询本身模糊。不同噪声不能用同一种方法处理。”
Ethan点头。
知夏继续。
“第二,不能只看Recall@K。还要看不同噪声条件下的性能下降,以及最差子集表现。”
Priya问:“要不要做分组评估?”
“要。”知夏说,“按模态、噪声类型、查询长度和语义难度分组。”
江屿坐在桌边,手里转着笔。
“还要加延迟分位数。”
知夏看向他。
江屿说:“平均延迟没意义。至少看P50、P95和P99。”
她在白板上补了一行。
Ethan忍不住笑:“你们两个昨晚是不是已经讨论过?”
“没有。”知夏说。
江屿却说:“讨论了一点。”
知夏看他。
“什么时候?”
“刚才。”
“那不叫昨晚。”
“凌晨也算昨晚。”
“天亮以后就不算。”
Priya看了看两人,笑起来。
“你们之前认识?”
知夏说:“不熟。”
江屿说:“刚熟。”
两句话几乎同时响起。
会议室里安静了一瞬。
Ethan低头咳了一声,像是在忍笑。
知夏懒得解释,继续往下安排。
她把整个项目拆成四个工作流:
数据审计与评估框架。
基础模型与训练。
系统优化与部署。
结果分析与展示。
“Priya负责图像和扫描文档质量分析,Ethan负责评估集构建和统计检验。”知夏说,“我负责训练和噪声鲁棒性。”
她看向江屿。
“你负责系统和延迟优化。”
江屿问:“为什么不是你负责系统?”
“因为你更适合。”
“你怎么知道?”
“你的报告。”
江屿停住。
知夏语气自然。
“上个月你讲过异构集群训练优化。你对资源调度和性能瓶颈比我熟。”
“你听了?”
“我在现场。”
“我以为你只记得教授。”
“我记得有用的信息。”
Ethan和Priya都低头看电脑。
没人说话。
江屿看着她,眼底的笑意一点点浮上来。
“行。”
他低下头。
“那我负责系统。”
第一次会议持续了一个半小时。
知夏没有独揽所有决定。
Priya提出先做图像增强,她认为可能破坏文档中的细小字符,要求先在不同分辨率下做对照;Ethan建议用单一随机划分验证,她坚持增加时间外推和噪声外推测试。
但她也没有因为想显得好相处,就接受明显不合理的方案。
她说话直接。
“这个结论没有数据支持。”
“我们现在不能假设。”
“你要先证明这个指标和用户体验相关。”
“如果两天内没有改善,就换方法。”
没有含糊的“我觉得可以试试”,也没有为了维持气氛而做出的虚假妥协。
她不是强势。
她只是清楚,项目不会因为每个人心情都很好就自动成功。
中午十二点,第一次会议结束。
Ethan和Priya先离开。
会议室里只剩知夏和江屿。
知夏收拾电脑。
江屿忽然问:“你一直都是这样带项目?”
“哪样?”
“把所有东西都想完。”
“我没有想完。”
“至少想了百分之七十。”
“如果开会前一点准备都没有,为什么要开会?”
“很多人开会是为了在会上想。”
“那叫浪费所有人的时间。”
江屿笑了。
“所以你以前经常当组长?”
“看情况。”
“没人觉得你太强势?”
知夏拉上电脑包。
“有。”
“你不在意?”
“我在意他们说得有没有道理。”
“如果只是因为你是女生,所以觉得你强势呢?”
知夏的动作停了一下。
她抬眼。
江屿没有开玩笑。
他问得很认真。
知夏想了想。
“那是他们需要解决的问题。”
江屿看着她。
“你从来不怀疑自己?”
“怀疑。”
“看不出来。”
“怀疑不代表要停下来。”
她把电脑包背到肩上。
“我会检查逻辑,检查证据,检查自己是不是忽略了什么。但不会因为别人不舒服,就假装我没有答案。”
江屿很久没说话。
窗外的雪已经变小。
阳光从云层后透出来,照在图书馆外的白色台阶上,有些刺眼。
“沈知夏。”他叫她。
“嗯?”
“你以后会很厉害。”
知夏看着他。
这不是她第一次听见这种话。
导师说过,朋友说过,甚至第一次见面的教授也说过。
可别人说这句话时,通常带着鼓励,或者是一种对年轻人的礼貌期待。
江屿不一样。
他说得很平静。
更像陈述一个已经被他确认的事实。
知夏问:“现在不厉害?”
江屿愣了一下,随后笑起来。
“现在也厉害。”
“那就不用等以后。”
她推门走出去。
江屿站在原地,看着她的背影。
过了几秒,他低头笑着摇了摇头。
下午两点,知夏回到实验室。
她把第一周的任务文档发到小组群里,包含时间安排、负责人、交付物和风险清单。
Ethan回复了一个震惊的表情。
Priya说:“你是什么时候写完的?”
知夏回:“刚才。”
江屿没有回复。
十分钟后,他把系统架构草图发了进来。
不是随手画的框架。
是完整的模块图,包括数据流、缓存策略、检索接口、延迟监控和降级方案。
文档最后还有一句:
“按照沈同学的标准,先做百分之七十准备。”
知夏看着那句话。
她没有笑。
但她在文档下面回复:
“缓存层有一个并发风险,标出来了。”
江屿很快回:
“已经改。”
她重新打开。
果然改了。
晚上十一点,四个人在远程仓库提交了第一次代码。
知夏负责的数据加载模块最先完成。
江屿的系统框架紧随其后。
凌晨十二点零六分,江屿私聊她。
“还在实验室?”
“嗯。”
“准备待到几点?”
“不确定。”
“昨晚只睡了一个多小时。”
知夏皱眉。
“你怎么知道?”
“你八点四十上线过一次,九点二十八到教室,倒推。”
“这不能证明我一直在睡。”
“所以可能更少。”
知夏没有回复。
江屿又发来一句。
“今天别熬。”
“项目第一周事情多。”
“明天也能做。”
“你不是说大部分研究晚一天不会改变世界?”
“对。”
“但你下午已经把架构图做完了。”
“因为我效率高。”
“我也是。”
江屿停了几秒。
“你是在和我竞争?”
知夏回:“没有。”
“那你为什么一定要比我晚走?”
她盯着屏幕。
这句话没有道理。
可她居然一时不知道怎么反驳。
江屿发来一张照片。
是图书馆外的雪。
路灯下,有人堆了一个歪歪扭扭的雪人,头上扣着一只纸杯。
“出来。”
知夏问:“干什么?”
“吃饭。”
“不饿。”
“你每次说不饿,我都默认是假的。”
“我吃过了。”
“吃了什么?”
知夏看了眼桌边的包装袋。
“两片面包。”
对话框上方显示江屿正在输入。
过了一会儿,他只发来一句。
“五分钟后楼下。”
知夏没有答应。
五分钟后,她却还是关了电脑。
她告诉自己,只是因为确实需要吃饭。
不是因为江屿。
楼下的雪已经停了。
江屿站在路灯旁,穿着昨晚那件黑色羽绒服,手里拎着两只纸袋。
“不是说出去吃?”知夏问。
“太晚了,店都关了。”
“那你让我下来?”
“实验室不允许吃味道太大的东西。”
他把其中一个纸袋递给她。
里面是一份热汤和一只三明治。
知夏摸到纸袋的温度。
“你去哪儿买的?”
“山下。”
“走下去要二十分钟。”
“回来更久。”
“为什么不点外卖?”
“雪天没人接单。”
知夏抬头看他。
江屿的头发上还沾着一点没化的雪,鼻尖冻得发红,手里却稳稳拿着另一份汤。
“你没有必要这样。”她说。
江屿低头看了眼她手里的袋子。
“已经买了。”
“我是说,以后。”
“以后再说。”
他沿着路往前走。
知夏没有动。
江屿走出两步,回头。
“怎么了?”
“你为什么对我这么好?”
她问得直接。
江屿站在雪地里。
他似乎认真想了一下。
“因为你值得?”
知夏皱眉。
“这个答案很敷衍。”
“那因为我想。”
“更敷衍。”
“沈知夏。”
江屿看着她。
“不是所有事情都需要先证明合理,才能去做。”
知夏没有说话。
远处传来铲雪车的声音。
他们身后的教学楼仍亮着灯,玻璃窗里映出一排空荡的桌椅。整座校园都安静下来,只剩雪在路灯下泛着浅白色的光。
江屿又问:“你是不是别人对你好,你也会先分析目的?”
“人做事都有目的。”
“那我的目的可能是收买组长。”
“我不是组长。”
“大家已经默认你是。”
“我没有同意。”
“但你已经把工作分完了。”
知夏走到他旁边。
“如果你不满意,可以调整。”
“我很满意。”
江屿和她并肩往前走。
“尤其满意系统归我。”
“因为你擅长。”
“你也擅长。”
“但你更合适。”
“所以最强的人也会让步?”
知夏停了一下。
“这不是让步。”
她看着前方被雪覆盖的路。
“团队不是把每件重要的事都抓在自己手里。”
“那是什么?”
“知道什么应该由谁做。”
江屿侧过脸看她。
“所以你信任我?”
“目前,我认可你的能力。”
“只是能力?”
“我们认识才一天。”
江屿笑了一声。
“行。”
他们走到图书馆门前的长椅旁。
积雪已经被清理干净。
江屿坐下来,把汤打开。
热气升起,在冷空气里很快散开。
知夏坐到他旁边。
她喝了一口汤。
是番茄牛肉。
味道普通,却很热。
江屿问:“好喝吗?”
“还可以。”
“你夸人是不是也只会说还可以?”
“我刚才夸过你。”
“什么时候?”
“说你更适合负责系统。”
“那是任务分配。”
“也是认可。”
江屿看着她。
“那我收下了。”
他们安静地吃了一会儿。
江屿忽然问:“你为什么来美国?”
知夏没有立刻回答。
“读书。”
“我知道。”
“那还问?”
“为什么一定要来这里读?”
知夏握着汤杯,指尖被暖得有些发热。
“因为这里有我想做的研究。”
“只是研究?”
“还有机会。”
“什么机会?”
她抬头看向远处。
匹兹堡的冬夜很安静。
山坡上的房屋层层叠叠,灯光沿着道路一直延伸到河岸。远处的桥被雪雾遮住,只剩下模糊的轮廓。
“站到更高的地方。”她说。
江屿没有笑。
“然后呢?”
“看自己能走多远。”
“如果很远呢?”
“就继续走。”
“一个人?”
知夏低下头,喝了最后一口汤。
“一个人也可以。”
江屿沉默了几秒。
“我不是问可不可以。”
“那你问什么?”
“我问你想不想。”
知夏看向他。
江屿的眼神很平静。
没有试探,也没有刻意营造某种暧昧。
只是认真地等她回答。
知夏想了很久。
她发现自己竟然不知道。
她一直在考虑自己能做什么,应该做什么,必须做到什么。
却很少有人问她想不想。
“没想过。”她最终说。
江屿点点头。
“那以后再想。”
他没有继续追问。
吃完以后,两个人一起往宿舍方向走。
知夏的公寓离学校不远,十几分钟路程。江屿住在另一个方向,却一直送她到楼下。
“你走反了。”知夏说。
“我知道。”
“那你为什么跟过来?”
“雪地滑。”
“我不会摔。”
“你昨晚也说不冷。”
知夏不说话了。
走到公寓门口,她停下来。
“今天谢谢你。”
江屿抬了下眉。
“咖啡还是晚饭?”
“都算。”
“看来我今天进步很大。”
“什么?”
“从没必要,到谢谢。”
知夏觉得他实在很会得寸进尺。
她刷开门禁。
江屿站在台阶下。
“明天十点开会。”
“我知道。”
“别迟到。”
“我从不迟到。”
“今晚早点睡。”
知夏推开玻璃门。
江屿忽然叫她。
“沈知夏。”
她回过头。
他站在雪后的夜色里,身后是亮着昏黄灯光的街道。
“晚安。”
知夏看了他两秒。
这一次,时间是凌晨十二点五十八分。
是一个真正适合说晚安的时间。
她没有像清晨那样纠正他。
“晚安。”
玻璃门在两人之间缓缓合上。
沈知夏走进大厅。
直到电梯门关上,她才后知后觉地意识到,这是她第一次对江屿说晚安。
楼外,江屿仍站在原地。
他抬头看了一眼公寓的窗户,然后低下头,在小组任务文档里新建了一行备注。
`Do not schedule meetings before 10 a.m.`
想了想,他又在后面补了一句。
`She needs sleep.`
可第二天早上九点四十五分,江屿到达图书馆时,沈知夏已经坐在那里。
白板上的实验计划写满了整整一面。
她听见开门声,回过头。
“你迟到了?”
江屿看了眼时间。
“提前十五分钟也叫迟到?”
“我以为你效率高。”
江屿站在门口,看着她眼下依然没有消退的淡青色。
“你几点睡的?”
“两点。”
“我一点送你回来。”
“回去以后整理了一下数据。”
“沈知夏。”
“嗯?”
江屿把咖啡放到她桌上。
“最强的人也需要睡觉。”
知夏看了一眼那杯不加糖的燕麦拿铁。
“那你为什么又买咖啡?”
江屿被问住了。
两秒后,他认命地在她对面坐下来。
“因为我发现,道理对你没用。”
知夏低下头。
这一次,她真的笑了一下。
很浅。
却足够让江屿看见。
那时的他们都还以为,势均力敌就是最好的爱情。
她不需要他让。
他也不需要她停。
他们只要一直并肩往前走,就能够到达同一个地方。
可后来他们才明白——
真正让两个人走散的,从来不是谁走得更快。
而是当其中一个人终于累了,另一个人却仍以为,她只是想再往前一点。