过完了学生时代中的最后一次暑假,转眼寒冬已至,时间也已经完全跨过了二十一世纪的四分之一,半年总结的时刻又到了。

自从研一把课上完后,读研生活更是枯燥了起来,每天几乎都过着“宿舍-工位-食堂”三点间往复的循环生活。

听起来很轻松,但实际上这半年仍然是挺忙的,虽放下了一个负担,但仿佛又扛上了好几个。 (@_@;)

无论如何,让咱来快速过一下这半年的生活吧,以及对 2025 进行一些简单的总结。

在此点击/悬停可进行调节

拖拽蓝/紫块以调节进度/音量

ray (超かぐや姫! Version)
かぐや(cv.夏吉ゆうこ) / 早見沙織

# 1. 最后一次暑假

读研令人麻木,要不是我在闲暇时刻想了一下未来几年的事,差点没有意识到 25 年 7-8 月大概是我学生时代的最后一个暑假了。

展开 / 收起内容

现在回忆起来,这最后一次暑假过得是很焦虑的,从其中一篇日记就可见一斑:

diary 2025-08

研一过完了,小论文迟迟没有下落,越往后拖则又越会影响到后续的进程,整的我有些心神不宁。

整个暑假除了依旧和我那一坨的 idea 在斗争外,还帮导师审了一篇 AAAI 会议论文,也算是体验了一把审稿人。因为是第一次参与审稿,我硬是把整篇文章从头看到了尾,实验上的一些问题以及写作、排版上的一些谬误全给找出来了,读完文章后的感觉就是:这篇文章方法论部分逻辑层层递进还不错,但一到实验就开始浑水摸鱼,回过头去发现最关键的地方的实现的描述也含糊其辞,不太值得我这么费心啊,让他赚到了...... ( ̄_, ̄ )

印象还比较深的一件事是我看到了一篇 AAAI 论文,质疑文章中的效果,于是去 GitHub 搜索了一下看看有没有相关代码。结果你猜怎么着?真搜到仓库了,仓库内写着 "Official Implementation",但也就仅限于此,只有一个 README 文件,连个代码文件都没有。点开 Issues 发现好几个月前已经有人发了 issue 询问何时上传代码,作者没有回复,我于是也在下面留言催促了一下。结果好家伙,10 分钟内作者就删库了,搞半天你能看到啊, What can I say?
(╯°□°)╯︵ ┻━┻
没想到在小红书、知乎上看到的计算机科研笑话段子真给我遇到了。

  • 自这之后我养成了一个习惯,看到这种空有仓库没有代码的,我首先就用 Web Archive 把快照存下来,防止作者删库死无对证 (∠・ω< )⌒★ 。

焦虑归焦虑,烦心归烦心,饭还是得好好吃的,这个暑假又尝试下厨做了一些新东西:

Dishes in summer

从左至右、由上至下:家常豆腐、青椒肉丝、番茄炒面、香干回锅肉、小炒黄牛肉、青椒腊八豆炒荷包蛋、西兰花炒鸡肉、咖喱鸡肉饭、肥牛饭、照烧鸡排饭。

这么多个假期中,我最没有遗憾的可能就是在下厨和吃的方面了。希望以后能买个炸锅,做些炸肉饼、炸丸子之类的炸物吃,老想做可乐饼了!(๐˃ᗜ˂๐)

# 2. 鼾声使寝室分崩离析

展开 / 收起内容

这个学期刚开始就不太安宁。虽然我暑假是回家过了,但另外三位室友 A, B, C 暑期很长时间都留在学校给导师干活。

而这三位室友中有一位室友 C 因为肥胖和身体不好,打呼噜特别厉害,暑期我经常看到另外两位室友 A, B 在寝室群里吐槽他鼾声太大了,搞得他们睡不好觉。甚至有一位室友询问过我能不能借我床睡一下(因为我床离打鼾的同学稍微远一点)。

室友 A, B 在暑期忍受了这么久的折磨,大概是真受不了了,在开学前两天就微信联系我说他们要换宿舍(每学期开学时能换一次宿舍),问我要不要也一起换了。我当时想了想,觉得换宿舍麻烦事多,而且我自己倒是暂时没觉得有什么影响,就先含糊其辞回复了一下。

开学后我也得返校了,而返校这第一天晚上就让我见识到了鼾声的威力:带着耳塞都无法阻隔,穿透力极强。如果是持续的噪声还好说,人的适应能力还是很强的,但这种间歇性的噪声就很难受了,当你刚刚进入浅睡眠阶段,若这声音突然响起,就很容易被吵醒,过一会儿鼾声又减弱了,就才能再次进入浅睡,如此往复,迟迟进入不了睡眠(我这种喜欢想七想八的家伙,本来睡眠质量也不好)。

好在我留了个心眼,从家里把以前打架子鼓时戴的降噪耳机给带来了,在戴上耳塞之后再戴上降噪耳机,双重降噪 buff 加持,效果就好多了,鼾声基本上听不见了。

9 月 2 日室友 A, B 找辅导员询问了换寝室的事,不出所料最多只能找到一个空闲床位的寝室(因为 8 月底新生已经在系统把寝室选光了,不太可能有空出两三个床位的寝室了),也就是说要换的话大概率是和新生或者其他陌生同学一起住。

我仔细想了想,如果换寝室,不提搬东西这种麻烦事,一方面我们寝室目前宽带用的是我移动套餐送的宽带,不谈办移机手续,新寝室可能都已经有宽带了;另一方面,也是最难受的,就是我又要去和新的陌生人打好关系,运气不好或许又会遇到打鼾的同学,那就更麻烦了。

所以我暂时决定不换寝室,通过隔音耳机加 buff 的方式忍下去。
还有一个小小的坏心思,那就是另外两个室友搬走后这就变双人寝了 ( ̄︶ ̄)↗

9 月 4 日开始,室友 A, B 晚上就去别的寝室睡了,过了几天后室友 A 直接就把自己的东西搬走了。后面大半个学期中室友 A 偶尔回来用一下洗衣机,基本上看不到人影了,而室友 B 则是把东西还留在我们寝室,晚上都去别的寝室睡。

鼾声就这样把寝室整的分崩离析了。


其实室友 B 也有劝过室友 C 去医院检查一下的,但一问才发现室友 C 压力也不小,也不好多说什么,以下是一些对话片段:

室友 B:“C 你这打鼾真得去医院看看啊。”
室友 C:“我今天去医院了的,但是医院那边都关门了。”(应该是校医院?)
室友 C:“我已经尝试了很多方式,比如晚上拿胶带封住口,其实也不完全是胶带,是网上看到的‘呼吸改善贴’,但是也没什么用。”
室友 B:“你可以提早点去医院看嘛。”
室友 C:“没办法,我导师压榨的厉害,我们这几个月每天都拿着一点工资在导师的公司里打工,暑假也没休成。”  
室友 B:“那你周末去看看嘛,别搞这些呼吸改善贴什么的,对自己好点。我们这最近压力也大,晚上醒来也不一定完全是你的问题,你这打鼾对你自己身体也不好啊...”
室友 C:“唉,我本来就想着少活几年算了。”
室友 B:“诶你别 tm 这么说啊,你怎么能这样说啊,干什么都不要这样想啊,...,身体是自己的啊,没有身体你赚了钱也没法花啊!你这别老从着导师,该休息就休息,你跟导师说你身体不行他还敢不让你放不成,他院长还想不想当了啊。”
室友 C:“其实我老早就想和导师爆了。”
室友 B:“别别别,你就说你身体不舒服,别和导师闹僵了。”
室友 C:“我的意思就是这样,我很想跟他直接请个长假。”
室友 B:“对头,就应该这样,该休息就休息,别让导师把你当牛马使!”
室友 C:“好!我后面这几天就想办法请假去医院看看!”  

随后室友 C 确实去医院检查了,但是结果如我们预料的那般,医生说他打鼾是因为肥胖引起的,建议他减肥。可能是在导师的不可抗力下,室友 C 也没有太多时间和精力去减肥,打鼾的问题也就一直没有得到解决。


室友 C 的身体确实也挺不好,印象中 10 月、11 月的时候他的鼾声更严重了,有时候我带着双层隔音 buff 都能听到明显的鼾声,而且是那种锯木头的听感,有时候甚至感觉他呼吸中断了...

  • 带着隔音耳机睡刚开始不太习惯,但久而久之也就没啥了,反而可以固定住我的睡姿,始终让我保持仰面朝上(脸趴在枕头上可能会长痘)。

10 月 20 日发现因为经常戴耳塞,耳朵有点感染流脓了,买了点滴耳液滴了几天才好。不禁感叹我这是在渡劫啊(这段时间我还在为论文各种焦虑)。

11 月 7 日时我下午临时回宿舍,没想到遇到了室友 C 在整理东西,我问他怎么了,他说他要去医院住几天。我也没多问,一方面住院肯定不是什么好事,只能心底祝他早日康复;另一方面,我确实能不戴耳机好好睡几天觉了。(∪.∪ )

没想到他这一去就住了三周,11 月 28 日时才回来,感觉有些严重。巧的是这三周正好是我赶论文 deadline 的关键时期,睡眠能保证,效率还是高了不少。

12 月中旬的时候室友 C 的病疑似又复发了,于是又去住了大概两周的院,31 日才回来。这之后我也不好说他的鼾声怎么怎么了,还是得多体谅一下。

# 3. 当上课题组组长

展开 / 收起内容

这学期我们课题组开始原本的学生组长就要去北京实习了,而研二只剩我和另一位同学。我本来也想把组长这个位置给推掉的,印象中好像是补贴加一点钱,但是要做的杂活很多...

然而师兄说财务职位已经给研一的同学了,感觉把组长也交给研一同学不太好,加上另一位研二同学的论文 idea 还没有下落,怕他管不过来,所以最后只能是我来接这个位置了 Σ(`L_` )


9 月 4 日第一个活就来了,机房有台服务器无法连接上。和实验中心的老师沟通后拿到了钥匙,我第一次走进了学院的服务器机房。和想象的不同,机房里散热风扇的声音真的超级超级吵,而且还很冷。因为是第一次来,我边问在北京实习的前组长边找我们组的服务器在哪里,找了差不多 20 分钟才找到... Σ(*゚д゚ノ)ノ (我是猪鼻)
打开机柜后看到网线插着,但是网口没有发光,换另一个网口后也没反应,看上去像是线坏了。与此同时实验室老师要午休了,过来催我快点走,我也只好作罢,下午再来。
下午我带上了自己的笔记本,尝试和服务器主机直接通过网线直连,但因为没带显示屏和键盘,没法在服务器上配置静态 IP,最终还是失败告终。不过这期间我还试了把隔壁空闲的网线拉过来接,发现网口能发光、识别到,虽然还是无法连接上这台服务器,但至少能确定是网线坏了。

周末网购了一条 20 米的六类网线,9 月 8 日一大早在机房爬上爬下,还蹲着配置了好久网络,整了 1.5 个小时左右,终于让服务器重新接入校园局域网了(真得感谢另一位研二同学,帮忙搬了梯子和显示屏,还找到了 DP 接口线,且帮我牵了一下网线,要是我一个人不知道要搞多久)。老实说在插满网线的交换机上拔出我们的网线感觉还是挺刺激的,真怕影响到别人的服务器 Σ(lliд゚ノ)ノ。


回忆起来这段时间还有另一个活——给打竞赛的本科生们备餐。

9 月 6 日的时候导师联系我说周日有比赛,需要我来帮忙准备午餐,说是可以点麦当劳肯德基之类的,有几十个人。我哪点过这么大的单,看了一下麦当劳 APP 发现团餐挺贵的,当即就去请救兵——把师兄给摇来了。
师兄一顿操作猛如虎,从抖音找了一堆折扣券,然后给店里打了电话问能不能按团餐准备,店里同意了,次日也是师兄和他室友骑电动车去把餐取回来的(因为不包配送,我也没电动车),真的是非常感谢师兄了。更重要的是师兄特意多整了十多个汉堡和一些薯条,于是我们组几位同学的午饭也有着落了:

McDonald's McSpicy

一人两个堡,真的吃爽了。

分送的时候因为打比赛的教室在不同楼层,每个教室的人数还不同,整的我们手忙脚乱的,不过最后还是赶在比赛开始前分发完了。

然鹅还没完,接下来两周周末依然有比赛,过了新手保护期,这回该我去买券准备了。好在师兄直接把店员的微信给我了,我可以直接在微信上沟通,省去了打电话的麻烦(老内向仔了 (゜皿。))。

订餐简单取餐难,9 月 14 日那天因为下着大雨,只能额外花钱请美团外卖员跑腿配送了。然而买水还是得我自己去买,当时我们组根本没有同学来,我硬是淋着雨,肩膀夹着伞,跑了两趟,徒手提了几十瓶可乐回来了(随后手臂和肩膀痛了好几天 (´◓Д◔`))。

McDonald's McSpicy

说回来 9 月 7 日第一次买时我买了一堆无糖可乐还被师兄说了,他说比赛这种动脑的活动还得是有糖的,转身他又去买了一堆含糖可乐回来。之后的几次比赛我就老实了,直接买含糖可乐了。

9 月 20 日天气不错,我就联系研一有电动车的同学帮忙取了一下餐,中午大家依旧是喜笑颜开吃麦辣鸡腿堡(这三周真的是吃麦当劳的鸡腿堡吃爽了)。

我本以为后面还能蹭到麦辣鸡腿堡,但是自 20 日后这学期就没再有比赛了... (´・_・`)

  • 因为连续订了三周大单,第四周时麦当劳店员特意联系过来问了要不要订餐 😂...

这学期咱作为组长其实做的最麻烦的杂活大多就这些了,都在九月,后面主要就是时不时帮导师预定一下组会的会议室之类的,比想象中还是要轻松的!ԅ(¯﹃¯ԅ)

# 4. 又蹭到饭了兄弟们

因为我经常在实验室坐着,所以每次组里聚餐的时候都可以赶上。这学期也是蹭到了好几顿饭。

首先是教师节 9 月 10 日,原本是我们想请导师吃饭、给导师送点小礼物的,但是导师硬是不收(连多年前毕业的师兄回来送的教师节礼物,导师都直接分给我们吃了),不过最终还是决定周五 (12 日)全组聚一餐。

McDonald's McSpicy

因为导师喜欢吃鱼,这回聚餐选在了东湖的一家鱼头泡饭,还挺远的 ( ˘・з・)。

9 月 12 日当天研一乃至博士师兄师姐都来了,导师还把夫人 (师母) 和孩子带来了,真的老热闹了。师兄还给导师点了一瓶白酒,因为师母可以帮忙开车,导师可以喝一些。

吃到一半导师因为喝了酒,话匣子打开了,逐个把我们点起来说了些祝福和建议,也让新生做了下自我介绍 ( ˘•ω•˘ )。印象中他跟我说的是:“你真的大大超出了我招你时的预期,希望你继续保持下去”,听到这话我是真的挺开心的。师母在旁边调侃道:“你们导师平时很社恐的,这回跟你们直接把一个月的话都说完了😂...”

  • 印象还比较深的是一位研二上学期就出去实习了的师兄,他向导师敬酒(其实是果汁)时说:“感谢老师放我自由!” 给大家都整笑了 ( ´∀`)つ🍺

快吃完了,准备去结账了,师母说到:“我们也商量了一下,虽然你们都是成年人了,但毕竟你们都还没有步入社会,都还是学生,这顿饭还是不能让你们来请,心意我们领了就行。” 于是最终还是给我们把这顿饭钱给报销了(明明是教师节来着),这下整个课题组的同学都不由得忠诚了起来 (T∀T)ゞ。

下面几次聚餐则是 11 月 19 日、12 月 8 日、12 月 9 日、12 月 30 日和 26 年 1 月初了,除了12 月 30 日年底聚餐外几乎都和组里接到了新项目有关。

  • 至少有两次都是在西院旁的“洪达酒楼”吃的,每次去都至少是 12 个人,坐最大的包房,老板都笑开花了。
  • 师兄称其为“本田酒楼”,因为洪达 -> Honda -> 本田 😂...

说来有同学一月过生日,12 月 30 日那天聚餐我们还订了蛋糕,大家一起唱起了生日歌,还是挺有氛围的:

想想自己生日每次都在暑假,没法这样享受被庆祝的喜悦,多少还是有些伤感滴。

Awww

# 5. 九牛二虎之力憋出小论文

展开 / 收起内容

接下来该讲讲本学期的主线任务了——小论文。

说是本学期,其实从上一篇总结文章可以看到咱研一下学期就一直在试错了。

从入学以来我对自己的定位一直是学术菜鸟,但最近我想给自己加个“学术牛板筋”的标签。

对于一个 idea,如果实验验证达不到能说服我自己的程度,我是绝对不会善罢甘休的。比如一个攻击方法在加了两个约束下仍然有效果,我会想着再加一个约束,不停试着调出效果(然而往往相当难)。明明最开始的方案可能就已经能水论文了,但我就是不甘心,总想着再试试能不能整得更好。

结果就是在追逐更符合自己预期的效果的过程中浪费了非常多时间,论文很久都一笔未动...这期间真的超级焦虑,反复怀疑自己的能力。

Awww

可以看到去年 5 月 28 日其实咱已经可以开始写论文了,但就是迟迟没有动笔。导师本来是想催着我投 AAAI 的,但终究是错过了。

9 月 1 日,返校第一天,下午研三的一位师兄来实验室了。闲聊了一会儿,他问我论文怎么样了,我自然是耸肩说我一筹莫展。聊着聊着师兄提起暑假前我手上的一个半成品工作(也就是 5 月 28 日的这个):

某师兄:“你这其实真能发文章。”
我:“这不行吧,导师还想让我发好一点的会呢。”
某师兄:“现在 A 会都能抽奖了,未必中不了。”
我:“唉,但是我这方法看上去就比较简单,就这样写很可能被审稿人 battle...blablabla...”
某师兄:“你别废话,就说你这个 idea 是不是能有些效果但是也没有能改进的地方了?没有人会因为简单而拒掉你的工作的。”
我:“好像...是?”
某师兄:“那不就行了,你就先把这篇写出来,总能发的,第一次没发出去还能骗骗审稿意见,甚至可以直接混过中稿了。不是让你作假,但你手上有能有效果的东西就应该赶紧发出来,这个方向很火的,说不定你的工作明天就有人做出来了。”  

这天晚上回到寝室后,师兄又发消息跟我说:“我问导师了,他说这篇他也觉得可以发,你要是先想写出来一篇投着试试,他没意见。不然一直做实验结果一篇成稿都没有,确实很内耗的。”
师兄这一顿说给我点醒了,在现在 AI 盛产论文的时代,有东西及时发出来才是王道,完美主义真的没有必要...
于是我开始琢磨着怎么给这个 idea 的实现流程重新组织一下,赶紧把论文给写出来。

即便下定了决心,九月中旬前我其实还是挺犹豫的。因为我的这个 idea 是围绕模型水印展开的,我只能通过输入中一个简单的触发,结合模型的输出模式来判断模型是否有水印,而且是在蒸馏场景下,难度很高——我的方法无法注入多个不同的、能在蒸馏中保留的水印,也没法判断水印来源,更无法保证水印不会被发现 / 伪造。同场景下已经有人发了文章,而且还声称其在及其受限的假设下可以注入多个可以在蒸馏后仍然保持的隐蔽水印,结果我一看文章实验,好家伙,他实验中教师模型和学生模型的架构完全一致,都是 ResNet,数据集还都用的是 CIFAR-10 这种小数据集,八成是稍微换个数据集或者学生模型架构就没用了...然而这文章已经被 AAAI 会议接收了,如果我也做这个场景,我不比也得比,况且我还比不过...

九月中旬在复现一篇后门攻击的文章 A 时,意外发现了一个神奇的思路,和我之前这个水印的思路结合后似乎就可以做成一篇蒸馏场景的后门攻击的文章了,于是随即开始了验证实验。

怎么发现的呢,A 这篇文章本身没有开源,但是 GitHub 上找到了第三方的实现。有人在 Issues 区提了一些效果上的疑问,代码作者也坦言难以复现原文中的结果,需要加个巩固的 trick 才勉强可以,但我自己在复现时,在调整了参数的情况下其实能达到不错的效果。我仔细检查了一下仓库代码,发现有个关键的地方作者写错了,但是他这个“巩固”的阶段给了我一些思路。我用我这个调参数的思路结合之前水印的构造思路,再拼上这个“巩固”的思路,竟然就真能做出效果来了。 (゚∀゚)

更重要的是,经过验证,我发现 A 这篇文章的方法其实做的是“伪后门”,他实际构造出来的是一个对抗样本,加在一个干净模型上都能有攻击效果,而不是一个真正的后门(需要在训练阶段注入的)。但我的方法确实能构造出在模型蒸馏中保留的后门(而不是对抗样本),于是我文章的动机就逐渐转向去反驳这篇工作的方法了。

9 月 22 日时验证实验初步完成,确实能跑出效果,我开始准备写论文了。

9 月 30 日,一个新的抉择摆在我面前:投哪个会议?导师想投 A 会,但是去 ccf-deadlines 看了一下发现最近比较贴我这个方向的的 A 会只有 CVPR 和 IEEE S&P (Oakland) 了,两个会议当时距离截稿时间都只有不到两个月。导师说要投 CVPR 来着,但我想着 CVPR 也不好中,我不如硬着头皮投安全大会 S&P 吧,虽然很难,但审稿质量肯定好,而且确实贴合主题...要投就投最难的吧! (›´ω`‹ )
于是我把 S&P 的 LaTeX 模板下了下来准备开写。

10 月 1 日,恐怖的事情发生了,ArXiv 上突然出现了一篇新的 NeurIPS 文章 B,其也是在蒸馏场景下的后门攻击,而且做的是我之前想过但是没有实现出来的一个 idea,给我震住了一会儿。一眼望过去一坨数学公式,还能干过一堆防御方法,看上去无懈可击,差点给我从椅子上吓下来。∑(ι´Дン)ノ
但是仔细阅读后,我发现文中有个重要的超参数没有给出任何示例值,也没有任何的参数敏感性分析实验,而这个超参数一旦过大会使得构造出来的触发器更像是对抗样本,而且很明显。最绷不住的是,根本不需要我去复现,他们自己的消融实验就写了如果没有用这个触发器就几乎没有效果。这下我心里有底了:“他们八成也是在用对抗样本蒙混过关。”打开他们的 GitHub 仓库,好家伙,只有一个写着 “Coming soon...” 的 README 文件,上一次 Commit 是一个多月前,怎么又给我遇着这种情况了... (╯°□°)╯︵ ┻━┻

我其实随即就给作者发邮件了,然后从发邮件直至我文章投稿,没有任何回复。大哥你文章都在 NeurIPS 中稿了还不给代码呢,遮遮掩掩啥啊,邮件至少回一个吧?(╯°□°)╯︵ ┻━┻

没办法,只能去自行复现他们的部分模块了。不爽归不爽,但他们这篇文章对我来说也算是雪中送炭了,为什么呢?因为他们精挑细选出了几个蒸馏方法来验证他们方法的有效性,也把表格都画得很漂亮,我不用自己去测试和寻找蒸馏方法了,直接用他们文章里的这几个就行(甚至表格排版都不用自己设计了,照着来即可)。

  • 更雪中送炭的是,我本来只有 A 这一篇文章可以对比,B 这一来我也可以反驳 B 了,有两篇文章可以对比了,B 还这么新鲜,更有说服力了。B 这篇文章虽然内容没什么营养,但是至少给我省了不少时间

10 月国庆期间我几乎没有休息。首先是依旧犯了“牛板筋病”,把实验代码按自己开源仓库的标准整理了一番,遵循面向对象思想重构了一遍代码,该抽象的给抽象了,各模块也尽量解耦了。后面新实验其实也就是往上面加模块。

接着 10 月 3 日的时候我总算开始写论文了,左思右想一番后决定从 Background + Related Work 开始写起,因为我觉得先写这种概念性的章节相对来说更简单一些,如果先写 Introduction 则很可能在方法论、实验写完后又要回过头来改。这一天写了 Background 的两小节。

10 月 4 日的时候继续编写了几个实验模块;10 月 5 日摸了一天鱼(回家吃了顿饭 d(`・∀・)b);10 月 6 日才终于把 Background 部分写完,而 7 日总算把 Related Work 给写完了。

Background 和 Related Work 看上去好写,实则不然,需要我精炼语言来进行精准概括的同时,还要总结和分析相关工作的优缺点,来为我后面提出的方法做铺垫,写得还是挺心累的。

直到 10 月 9 日,我总算把我自己方法对应的实验模块都给写完了,接下来就是要复现 A 和 B 两篇文章的代码。

10 月 10 日左右我灵机一动,把整个实验框架改成了一个带自动复用机制的线性 (Pipeline) 实验框架——对于 Pipeline 中的一个阶段对应的模块,如果配置没有发生变动就直接复用之前这个模块已经产生的结果,而不重复进行运算,同时结构化、分模块收集实验结果,每个实验、模块运算结果都分配一个 ID,可以快速进行结果查询。这真的大大缩短了后期参数敏感性分析实验以及消融实验的编排和配置成本,省了不少时间(比如我实验中相同教师模型可能要蒸馏到不同架构的学生模型,如果每一个实验都要重新训练教师或者我手动去复用教师,真的超级耗时间。有了这个框架,我直接把配置文件写好,批量开跑,重复的教师模型会自动复用,最后来收集结果即可)。

  • 要判断配置有没有变动,我的解决方案是对解析后的配置字典进行哈希,Pipeline 中每个阶段的配置环环相扣形成哈希链(前面阶段配置变了后面的哈希全部会变),用了 python 的 stablehash 这个库,顺便修了其哈希的逻辑一致性问题:Pull #20

重构实验代码时我用了 kornia 库来实现一些数据增强,而之前做验证实验时用的是 PyTorch 自带的数据增强,因为 kornia 和 PyTorch 对输入数据值的范围要求不太一样,导致我没能复现出验证实验的结果(给我吓得不轻,论文都开始写了总不能实验做不出来了吧 (´゚д゚`) )。11 日改了半天,让实验模块用回了 PyTorch Transforms V2,总算看上去一切正常了。
然而我在 TensorBoard 意外观察到后门注入过程中,每批随机数据增强得到的图像看上去是完全一样的,我心想:“明明有随机性,不应该啊!”

10 月 12 日调试了半天,总算发现了问题,因为我把设置种子的代码写在了叠加触发器的函数里,导致每次调用这个函数时随机数生成器的状态都被重置了,要是没有在 TensorBoard 里观察到这个问题,后面所有的实验可能都会受到影响,还好发现了...给我整出一身冷汗。这天在 Gemini 大哥的协助下还排查出了其他几个小 bug,不禁感叹 AI 工具是真的大幅提升了错误排查的效率 (=。=)。

随后 13-15 日我主要在复现 B 这篇文章的代码,因为原文省略了很多细节,复现出来只能说是尽量贴近原文描述的算法了,完全不知道能不能跑通,一坨数学公式看得我脑袋嗡嗡的。

10 月 16 日,我把 B 文章的复现代码融入到了实验框架中,然后按耐不住小手,重新整理了一下配置文件的存放目录结构。此时距离截稿时间已经不到一个月了。

  • 然后测试这个复现代码时果然跑不出原文的效果,不是 OOM 就是梯度炸了,到最后我也没有采用 B 文章的完整方法,这几天多少有些浪费了 凸(艹皿艹 )。

10 月 17 日,我发现 B 文章的触发器生成阶段和中间的后门注入阶段是解耦的,要说明文中构造的是对抗样本,我只需要复现触发器生成阶段即可。于是我给 B 文章的复现代码单独做了个简化版本,这下能跑了。

10 月 18 日,咱把 A 文章的代码给复现了出来,融入了实验框架中。因为有第三方实现,且之前暑假的时候就在 Jupyter Notebook 中复现过,这个整起来就比较顺利了。

10 月 19-20 日我开始预处理数据集,尤其是 ImageNet 还要随机抽取制成子集,得亏 AutoDL 平台的公用数据集中已经有了 ImageNet,直接在 AutoDL 上处理成子集下载下来即可,免得我自己全量下载数据集了。

  • 另外还花了一下午,处理了一个 GTSRB 数据集,但是最终没用上。就当为以后的研究工作做准备了吧。 (°ー°〃)

10 月 20-22 日这期间我在逐步复现 B 论文中引用的几种蒸馏方法,实验中需要用到。虽然这几种方法都有开源,但为了融入我的框架,我还是得自己写一遍代码 (´Д`)。麻烦归麻烦,还是学到了挺多的。

  • 复现过程中又发现了一些匪夷所思的点,比如完全异构的模型,像是 CNN 和 Transformer,文章 B 中提到能用特征层对齐来做蒸馏,但是我看他用的蒸馏方法竟然是基于 CNN 的特征图来的而没法套到 ViT 的 token embedding,脑袋想破了都没搞懂是怎么对齐的。直到我看到了他们用的模型,原来是 CNN 和 ViT 的杂交模型,中间有特征图表示...(╯°□°)╯︵ ┻━┻

10 月 23-24 日我还是不死心,又回去改 B 论文的完整复现代码,总算是让代码能跑起来了,结果跑一半又梯度爆了。看了一眼原文的附录,说是 RTX 4090 上用 CIFAR-10 小数据集跑,训练 ResNet-50 一趟都要 21 小时,这我调集贸啊(╯°□°)╯︵ ┻━┻。

10 月 24 日开始用 Excel 对实验进行编号,成批编写实验配置文件。最初我还准备做 GTSRB 数据集的实验来着,预计的是有至少 144 个实验配置文件要写...
25 日,迫于时间压力,削减了 GTSRB 数据集的实验,暂时只写了至少 96 个实验配置文件,先开始跑我自己的方法对应的实验了(复现的代码还没开跑)。另外就是国庆后忙了这么久,我总算又开始写论文了,这天把威胁模型部分给写了。

10 月 26 日,我开始写论文的方法论部分。脑袋里虽然知道怎么做,但是要组织成文字真的是很痛苦的一个过程 (;′⌒`)。

10 月 27-29 日,我尝试跑了一下复现的 A, B 两篇文章的代码,效果都不理想(主要是没有强到我能反驳的地步),得重新调参,找他们用的 trick 了。最恐怖的是我自己的方法在三种蒸馏方式下只有一种能跑出效果来,又给我吓得不轻...(╯°□°)╯︵ ┻━┻

10 月 30 日,我意外发现我的方法如果在冻结模型最后层的情况下进行训练,就能成功在第二种蒸馏方式下跑出效果了,我也能在文章中新加一些讨论来填充篇幅了。

10 月 31 日,DEBUG 了半天发现第三种蒸馏方法的实现中有个地方我忘记加权了,怪不得没有效果,加上后就没问题了。这天下午盘了半天总算回过神来,发现文章 B 那个全文没有评估的超参数就是关键的 trick,调参后果然有效果了。只剩文章 A 的效果还没调出来了。导师评价网上看到 A 这篇的课题组疑似有造假的前科来着

11 月 1-2 日我把论文方法论部分给写完了,3 日则是详细检查和修改了方法论部分的笔误以及定义描述的严谨性问题,频繁用眼过度中...( ̄ ‘i  ̄;)

11 月 4 日,总算找到了 A 文章复现代码中我哪里写得有问题了,有个地方初始化我写的是零初始化,导致反向传播后梯度很弱,难以优化,改成随机初始化后就能跑出效果了。从这天开始直至完稿,我每天几乎都是晚上 9 点才离开实验室了...

  • 最难受的是偏偏最后这段时间我还感冒鼻塞+低烧了,但是没法休息。得亏室友推荐了个濞舒爽给我,得救了 (;´༎ຶД༎ຶ`)。可惜吃饭还是尝不到味道。
  • 11 月初其实我自己方法的实验已经跑完一遍了,后面主要是麻烦的消融和参数敏感性分析。

11 月 5 日,和导师商量了作者问题,导师爽快同意我一作他通讯了。之前看师兄很多文章都是导师一作,还以为导师会抢一作...这天我还把论文的摘要和简介部分写完了,比较仓促。导师先初步看了一下我的摘要和简介,觉得有些写作逻辑问题(写作方面导师真的很严格),因为系统里即将要注册 & 摘要截止了,我只能先专注于修改摘要了。

  • 另外还找大导商量了一下能不能挂他名,结果大导提出条件要通讯,还要和他的项目相关,我导师果断回绝了,他认为我们组的工作不能受限于大导。

11 月 6 日我突然发现随机选择样本进行投毒的效果竟然更好,当机立断重跑了一批实验。这天剩下的时间写了一点论文的实验部分,然后改了好久的摘要,总算能过导师的眼了。去 S&P 的 HotCRP 系统里注册了稿件,取了号,已经到 1200 多号了。

11 月 7 日在 HotCRP 系统里登记了作者名,完成了稿件的注册流程。然后就是继续边跑实验边写论文的实验设置部分了,规划了一下实验这一大节的大纲。

11 月 9 日发现一个模型架构上的效果很难调,训练也很慢,临时换成了别的模型。另外又受到了惊吓,发现 8 日写的 55 个实验配置文件中有一个关键参数没有改,大半天的实验白跑了。(╯°□°)╯︵ ┻━┻

11 月 10 日复现了一个经典的后门检测方法,但是能把我的后门检测出来(因为我的方法其实非常简单),检测不出 A、B 文章方法所构造的后门,因为他们就根本没有真正注入后门,仅仅是对抗样本,我老老实实做的还比不过他们玩 trick 的了,这道理没法讲了 (╯°□°)╯︵ ┻━┻ 。这天真的有点怀疑人生了,但还是得硬着头皮写了,先暂时回避掉检测这一块。

11 月 11 日,这回遇到的事真把我吓得差点没法呼吸了,我发现 6 天跑的一组实验的一个超参全部设置错了,没有合理控制变量,结果有偏差。这会儿离截稿时间只有不到 4 天了,真的是火烧屁股的感觉。但我实在是没时间去管这个了,只能先放着,去写实验的分析部分,还摸索了半天 LaTeX 表格。最后总算在 GitHub 上找到了 Excel 导出为 LaTeX 的工具,真的帮大忙了,只需要把实验结果收集起来然后填表即可。这会儿真的开始怀疑自己能不能写完了。

11 月 13 日,继续火烧屁股,凌晨 1 点还在写消融实验的分析部分。早上意外发现 11 日这批问题实验不需要全部重跑,我只需要重新训练教师模型一次即可,我的实验框架会自动复用这个教师模型进行重新评估。
没想到下午的时候天塌了,发现有一组参数分析实验的模型训练参数全设置错了,重训要 9 个小时,此时距离截稿只有不到 48 小时(╯°□°)╯︵ ┻━┻ ,我脑袋差点就空白了。好在傍晚的时候我回过神来,发现修正后的参数对应的模型我其实之前训练过(之前测试消融和参数实验时跑过),复制过来,人工临时改一下模型检查点的文件名为对应的哈希值即可让实验框架自动复用(感觉像拆弹专家一样,需要高度集中精神来改每个模型文件的文件名),实际上只花了 1 个多小时。

11 月 14 日只睡了 2 小时,进行最后的冲刺。狂写直到下午 4 点,我总算就差改简介部分的叙述逻辑以及写总结了,没想到已经写到页数上线 18 面了。距离截稿还有 15 分钟时成功提交到了系统中,这下我才喘了口气,真的身心俱疲,眼睛全部充血。这一刻我的感觉是:不知不觉中造出了一大坨 💩 啊!然后火速“下班”去吃饭,总算能暂时结束熬夜和“加班”的生活了。

11 月 15 日睡了个大懒觉,然后火速把代码整理了一下,准备开源,并且把文章投到了 ArXiv 上。次周看到了自己的文章 announce 了,总算安心了。

直到第一轮结果出来之前的 gap 期,我主要是复现了一些防御 / 检测方法,以及参加组里的项目去了...写小论文这段时间真的力竭了。欲知后事如何,请看研二下的总结吧 〒▽〒

# 6. 组里再接项目

因为我们组比较小,名气也不算大,我们自己总开玩笑说接项目总接到别人不要的边角料项目...(*╯3╰)

这学期在我论文拉出来后,我们组随即就接到了一个项目,和上一个项目一样这回依旧是学校相关的项目,可能又是哪位领导看公众号灵光一闪了。不过这个项目主要交给研一的两三位同学去做了,我还得以有时间在论文投稿后的 gap 期做点自己的事。

然而好景不长。12 月 3 日导师又接了一个项目,依旧是学校的,而且这回这个项目是其他学院先做了一年,领导觉得效果非常不及预期,于是就找到我们这边学院了,其他几个组开的价挺高,没谈成,最后就落到我们手里了。定睛一看,这不就是给别人收拾烂摊子吗...

更不妙的是组里实在缺人手,师兄把我给拉上了。本来我自己还有个人项目要写的 (MCSounds V3.0,真的咕了很久了,我自己都受不了了,想赶紧写出来),但想着同样是上线的项目,在找工作时学校的可能比我个人的更有说服力,于是还是参加了。

结果好家伙,上来就加强度,demo 就只给 10 天工期,又要可视化又要推荐系统,你怎么不起飞啊(╯°□°)╯︵ ┻━┻。更难的是我们组在这些技术上几乎没有什么积累。
分配给我的是一个推荐系统,我在这方面可以说真的是从零开始了,只能边和大模型交流、上知乎和官方文档查,边摸索着写,好在在 10 天内给搓出来了,但是代码真的是一坨。

更让我难受的是低效率的开会,最甚的时候一周内每天都要开会,一开会就要开一两个小时,有这时间做项目都不知道能写多少了。开会甚至还要骑车去最远的校区找领导汇报,一周至少一次,师兄们也是被折磨的不轻。

最难受的是,领导现在想让我们寒假能完善掉项目的基本功能,于是我手上又多出个 Agent 的任务,这玩意我也没做过,又要从零开始了...(╯°□°)╯︵ ┻━┻。不过学东西嘛,总归是好事,但是...这样一搞我寒假直接就没了,没有时间做自己的项目,也没时间准备找实习八股了啊!(╯°□°)╯︵ ┻━┻

最惨的是论文如果过了第一轮,Rebuttal 期还在过年期间...(╯°□°)╯︵ ┻━┻ 整个寒假就要没休息了。

我的感受如下:

Destroy

# 7. 其他小插曲

研二虽然枯燥,但也时不时有些小插曲~

展开 / 收起内容

# 7.1. 宿舍园区完全断电

9 月 11 日晚上,宿舍楼所在的园区突然完全断电了,瞬间伸手不见五指,只剩楼道中幽暗的消防灯。停电持续了差不多半小时才结束,园区管理这一块依旧草台。

# 7.2. 喜欢的早餐店没了

25 年暑期,宿舍园区管理限制了北门的开放时间(北门离理工大最近),说是要园区维修。开放时间是匪夷所思的大晚上到凌晨,早上 8 点门又关了。这样一搞北门我最喜欢的早餐店直接就关门了,本来客户就不多,这样一搞更是雪上加霜了。

印象中我 9 月初还看到早餐店写着九月中旬开店来着,结果 9 月 15 日看到门口贴了个“早餐店用具出售”的公告,才知道这家店彻底没了...(╯°□°)╯︵ ┻━┻ 我滴萝卜牛腩面啊!我真的老喜欢这家店的汤底了

Crying Panda

最气的是宿舍园区根本就没什么变化,说是为了旁边职校的封闭管理吧,别人学生也可以从正门出啊,你封闭管理了个寂寞啊!依旧草台班子,唉。

# 7.3. 奖学金相关

9 月 25 日综测排名和奖学金名单出来了,我因为没怎么参加活动,以及数学不太好,在班上综测倒数了,只能拿三等奖学金,唉,我依旧是这么菜。

I so vegetable

接下来是国奖评比,虽然和我没什么关系,但和我们组有很大关系。10 月 11 日国奖名单公示的时候给我惊到了,22 个人里我们组的同学就占了 4 个,大家还是太能卷了 ∑(っ °Д °;)っ

我觉得最厉害的还是和我同届的一位专硕同学,他是纯靠学业成绩和志愿活动拿到的国奖,而不是论文、专利这些,真的是数值怪了_( ゚Д゚)ノ。

# 7.4. 师姐结婚

组里刚刚 6 月毕业的师姐在国庆节办了婚礼,虽然邀请了组里的同学去捧场,但我没有去(一方面是论文的事,另一方面是我也不咋认识这位师姐,只见过几面)。

10 月 18 日师姐突然回来了一趟,给我们发了些“喜糖”,打开包装给我惊到了,师姐是知道我们喜欢吃什么的:

Wedding Candies

除了素毛肚外还有小饼干、软糖、棉花糖、巧克力这些小零食。不过我个人不是很喜欢吃麻酱毛肚,吃多了感觉有点腻。

# 7.5. 网上的科研段子竟发生在我身边

咱在网上曾经看到过“发文章没有带导师名”的搞笑段子,但没想到真的发生在我身边了(´ー∀ー`)

11 月 12 日,某师兄那边传来喜讯,他前段时间投稿的文章被 AAAI 会议接收了,我们组难得又有了一篇 CCF-A 的工作,导师自然是十分高兴,当即就发朋友圈了。

结果下午的时候,情况不对劲起来,这位师兄跑过来跟我说他忘记在系统的作者列表加上导师名字了,文章变成他独作了。我心想导师这不得天塌了 ( *⊙~⊙),旁边另一位师兄打趣道:“这你也能忘也是神人了,他刚发朋友圈,你这转头给他戴上了红鼻子啊!”

  • 本来还要去新加坡开会的,要一同去的研一同学都兴奋的不得了。这会儿连连哀嚎:“新加坡游要没有了哇!(╯°□°)╯︵ ┻━┻”

为了弥补过错,师兄只得跟导师说再帮他做两篇 A 出来,并尽量跟会议委员会沟通能不能改一下作者列表了...

  • 我论文投稿的时候导师因为这事,特地跟我强调不要忘记加他名字了... 😂

好在 12 月 5 日的时候喜讯传来,会议委员会发来邮件说同意加上作者名字,导师也是成功挽回了一篇 A 会论文,师兄也算是松了一口气。

# 7.6. 体验了几天导师办公室

11 月 25-27 日,因为导师比较忙,而办公室有些事需要人值班(这办公室平常就只有导师一个人),所以我被安排到了导师办公室坐镇了两三天。

体验下来的感觉就是——好冷 ≡(▔﹏▔)≡,还是实验室里人多比较暖和一点...
不过导师的人体工学椅比实验室里我的硬板凳要舒服多了。

27 日的时候导师临时回来了一下,和我闲聊了一些时间。他还问到我要不要去大导那里硕博连读,我直接给拒绝了。( ̄~ ̄)
一方面是听说大导不怎么管学生,全靠学生自己找点子写文章,目前在读博士的一位师姐真的是费老大劲了;另一方面是感觉硕博连读风险更大,压力个人不太承受得住,我还是更想上班了,起码有钱这种正反馈。

# 7.7. OpenReview 草台班子

OpenReview 作为众多 AI 会议采用的审稿系统,之前给我的印象是安全而稳定的,结果年底却整出了一场大戏。

11 月 27 日晚上的时候,OpenReview 的 API 出现了越权漏洞,任何人都可以通过调用 API 获取到稿件审稿人的信息,受此次风波影响最严重的是在 OpenReview 上开放了评审意见的会议(尤其是 ICLR 和 NeurIPS)。

最戏剧化的是,ICLR 这边甚至有个连续剧,某个稿件被一个审稿人提了 40 个问题(很难不怀疑是故意刁难,甚至可能是 AI 生成的审稿意见),当时这个匿名审稿人就被挂到小红书了,结果这审稿人还故作高深地回复了让大家要「be professional」。

结果 11 月 27 日这好巧不巧,审稿人信息泄露了,大家才知道竟然是武理计算机学院,也就是我们学院的一位老师。瞬间他就被做成表情包了:

boge

肖像已经打码处理。

11 月 28 日听说这位老师连夜对文章进行了提分,早知如此何必当初呢!只能说得饶人处且饶人,大家都不容易,别把事情做的太绝。

ICLR 会议因为这次事件也被调侃成了:I Can Locate Reviewers...(╯°□°)╯︵ ┻━┻

# 7.8. 意料之外难受的看电影体验

11 月 30 日,淘票票上竟然能领到 10 元优惠券,正好这段时间我刚写完小论文,是较为清闲的时期,就想着去学校旁电影院把疯狂动物城 2 给看了。印象中 VIP 厅好像有沙发,于是我就买了 VIP 的票。

到了影院发现我的座位左右两边都是小朋友,心想:“丸辣!” 但是没想到全片看下来,两位小朋友都挺乖的,安安静静地在看,反倒是大人要不打呼噜要不刷短视频。最难受的还是放映机的噪声,估计维护人员忘记关上放映机的机柜门了,噪声真的超级大,影片音效偏偏又比较小,全程看下来真的感觉耳朵难受...放映机投影的质量也是一坨,这是个球的 VIP 厅啊喂!(╯°□°)╯︵ ┻━┻

我本来意料到的是可能有很多小朋友吵闹,但没想到真正吵的是大人和放映机...(╯°□°)╯︵ ┻━┻

电影本身感觉还行吧,现在好莱坞动画的平均质量,不如第一部惊艳。

# 7.9. 坚持帮实验室扫地

九月中旬的某一天,我心血来潮给实验室里我们组的区域扫了一次地,发现不怎么费力,还能锻炼身体,自此一发不可收拾,每天早上来实验室都会先扫一下地,通一下风,顺便把垃圾给倒了。

因为我们实验室几个组都没有打卡要求,同学们可能接近 10 点的时候才陆陆续续来,我 9 点开始扫地刚好实验室没有人,扫起来很方便。

因为发现隔壁两个组经常没人打扫,灰尘和垃圾都积了不少了,大概是 10 月之后我每天早上都会给整个实验室扫一遍。

  • 这个过程还是挺刺激的,因为可能扫到一半隔壁组的同学就来了。有人看着我干活的时候我总会感到不太自在,还是更享受“事了拂身去”的感觉 (′▽`〃)。
  • 最开始扫地没带口罩,疑似有很多灰尘粘脸上导致我脸上爆痘了,难受了一段时间。孩子们,做清洁的时候一定不要忘记戴口罩( ̄ー ̄)ノ!
  • 隔壁组有些同学看到我扫地的时候也会主动提出帮忙,真的很暖心 (´▽`ʃ♡ƪ)。虽然没有必要每天扫,但还是希望以后有人能把定期清扫实验室的习惯给传承下去。

这期间咱也遇到了几位令咱印象深刻的人。

首先是 10 月 22 日,我准备倒垃圾的时候在走廊遇到了打扫的阿姨,她问我:“我看你每天都这么勤快,是不是贫困生或者家里有什么困难啊?” 我当时愣了一下,连忙解释说不是 (;∀;)。

然后是 12 月 20 日,早上例行扫地的时候被隔壁组一位早来的同学看到了,来送了我一些水果,感谢这位同学又给我带来了一天的好心情,水果真的很甜!( ̄▽ ̄) (之所以说“又”,因为和上学期送我饮品的是同一位,这回咱总算好好把“谢谢”说出口了!)

另外我早上还时不时能遇到过来送桶装水的师傅,师傅总是很关心我脸上痘痘的情况,每次过来送水都会问我脸上有没有好一些了。跟这位师傅交谈后得知他姓赵,百家姓之首。这位师傅还挺喜欢聊天的,送水到哪就能聊到哪里,他跟我说他还认识隔壁一个实验室的同学,那个同学挺能说的,不像我这么腼腆 ( σ'ω')σ。看师傅每天跑来跑去,风雨无阻,真的挺辛苦的,聊聊天也能让他解解闷。

# 7.10. 用 Go 写了个小工具

在实验室打印文件时,咱经常用 LocalSend 来传输文件到打印机连接的电脑上,但是用着用着发现 LocalSend 在校园网中因为网络三层的隔离,打印机这台电脑上的客户端没有办法发现我电脑上的客户端。因此 12 月底我花了十几天写了一个简单的工具来做局域网内的客户端信息交换,顺便熟悉了一下 Go 的语法和标准库。

# 8. 吃的

虽然日子过得匆忙,但饭还是得好好吃的。

这学期印象比较深的几家如下:

展开 / 收起内容

# 8.1. 张正发茶餐厅

Zhang Zhengfa

吃起来真香,掏钱时真贵。个人很喜欢的是上图的马来咖喱鸡排饭,18.8¥,下图是香菇肉臊滑蛋饭,比较清淡,印象中也是 18¥ 左右。

看了一下外卖有券的话马来咖喱鸡排饭只需要 10 块左右 (=。=),到店吃唯一的好处就是送一杯随机饮品了吧(可乐 / 雪碧 / 柠檬茶)。

# 8.2. 如意馄饨

Ruyi huntun

比起馄饨(左下),这家店给我印象最深的是牛肉饼和炸肉肠(上图),牛肉饼的肉馅很香,炸肉肠则是的外皮炸得很酥脆,吃起来口感很好。

  • 结果我吃了没一个月,肉肠和牛肉饼全部涨价 1 块,what can I say?!

最坑的是右下的牛肉面,19.9¥ 一碗,甚至还是折扣价!你看到牛肉了吗!兰州拉面都比这大方!

# 8.3. 辰广记鸡汤饭

Cheng Guangji

价位也偏高,我经常吃的是家常鸡汤饭,16 ¥ 左右。图中上方是姬松茸鸡汤饭,20 ¥ 左右,汤里的菌香味比较浓,还不错;下方则是秘制卤肉饭,是真的好吃也是真的较贵,印象中是 23 ¥ 左右。

下单时可以 +1 元换购一个鸡腿。

# 8.4. 鲍汁焖鸡

Baozhi Menji

宿舍楼下的小店,经常只有老板一人在店里忙,看着就感觉挺累的。

他们家最好吃的,同时卖的最好的,就是图中的鲍汁焖鸡了,16 ¥。必须得加点辣椒,能把鲜味完全激发出来。

  • 我有时候想吃焖鸡了,还得晚上 6 点左右提前离开实验室回到宿舍,不然可能就卖完了。
  • 这家的鸡公煲也还不错。

# 8.5. 霸碗盖码饭

Bawan Gaimafan

又是一家堂食不如外卖的,价位太高(图中这个香干炒肉就要 18 ¥),到店吃划不来。味道也中规中矩,明明是现炒的,吃到口里已经有些凉了。

# 8.6. 安格斯肥牛焗饭

Feiniu Jufan

实验室旁边小作坊的,15.8 ¥,但是真的挺香的,加了芝士真难吃不到哪里去。因为热量较高,吃的次数不多。

# 8.7. 焱麻记鸡公煲

Ji Gongbao

这家我吃的挺多的,小份鸡公煲 16.9 ¥ + 午餐肉 4 ¥ + 管饱的饭 1 ¥ 是我最喜欢的套餐,味道还不错,有时候嘴馋了就来这吃一锅。

# 8.8. 兰州拉面

Niurouganjiao

兰州拉面是我最常去的店了,学校地段的兰州拉面价格比其他地方的大概要便宜 3-4 块钱左右。这学期除了牛肉拉面加煎蛋(14 ¥)外,我时不时会吃他们家的:

  • 土豆牛肉盖饭(17 ¥) - 虽然肉不会给很多,但是饭真的管饱,可以让我吃撑。
  • 牛肉干饺(图中的,14 ¥) - 馅应该混了一点豆制品,感觉这个价格不太可能是全牛肉馅。饺子应该是速冻的,不过味道也还行吧。
  • 鸡蛋牛肉炒饭(14 ¥) - 很推荐。他们家的做法是先用白菜、萝卜、葱和牛肉炒饭,然后单独炸蛋花淋在饭上,超级香。

除了有汤水的餐品,全部都附赠一碗汤。

# 8.9. 沙县小吃的酸辣鱼粉

Suanlayufen

之前经常在沙县吃鸡腿饭和盖饭,还没吃过他们的鱼粉。

这学期尝了一次,感觉还真挺不错的,只要 14 ¥,扎扎实实一大碗,有四块鱼在里面(吃起来应该是草鱼或者黑鱼)。

# 回望 2025

2025 眨眼就过去了。

对我来说,2025 是充实的一年。我过完了研一,上完了研究生阶段的课程,同时在实验失败中摸爬滚打了大半年,总算把我那不堪入目的 idea 写成了小论文并投稿出去了。

同时,2025 也是令我感到疲惫和应接不暇的一年,大模型技术和周边生态飞速迭代,感觉自己有点难跟上。DeepSeek R1 年初出圈,随后 ChatGPT 5 和 Gemini 3 相继登场;视频生成模型方面也有 Sora 2, Veo 3 的卓越表现,OpenAI 系的蛋糕已经在被 Google 和 Anthropic 系分食。
开源模型方面 DeepSeek 的基座模型沉寂了大半年,没有大版本更新,但是仍有 OCR 和数学推理模型方面的创新。国内其他几家公司的模型如智谱清言 GLM、通义千问 Qwen 系列也有不凡的表现,其中 Qwen 系列开源了多个强力基座模型的权重,包括有大语言模型,视频生成模型,图像编辑模型等,其团队还在 NeurIPS 国际会议拿到了最佳论文,感觉 DeepSeek 老总当时提出的“普惠 AI”概念已经能看到施行上的雏形了。
自 2025 年下半年开始,能明显感觉到 AI 大模型的性能有些触壁了,开始转向了 RAG、Agent 这种应用层面的概念的炒作,Anthropic 自 MCP 后也是抢占先机提出了 Agent Skills 的规范,本质上还是在玩模型提示词;其他令我印象深刻的就是各种 Coding Agent,如 Codex、Gemini CLI、Claude Code、Kiro、OpenCode 这些,Vibe Coding 和 Spec Coding 已然是程序员圈子中广为流传的概念。
此时此地的我还没有实际用这些 Coding Agent 去写过项目,多少还是有些焦虑的。但我觉得至少在目前的学习阶段,个人项目我还是得尽量去自己动手写,项目模块的划分和结构的规划真得自己去亲自走几遍才能熟悉。咱认为未来 AI 编程一定是大趋势,程序员比起各种繁琐工具的用法的记忆,更多的精力应该会投入在架构和业务设计能力上。
遥想三年前,每次写代码出问题咱还得在网上到处搜,穿越于各种内容农场中,翻找有效信息。如今大模型已经大大提高了解决问题的效率,无法想象没有 AI 的生活了(;∀;)。

感慨完了,接下来看看咱 2025 年坚持了一些什么吧!

Leetcode

成功坚持每天一道力扣题,因为每天的空闲时间不确定,做的不一定是每日一题(如果每日一题是很难的题目可能就从题库中选其他题做了)。
刷力扣一方面是想保持自己对基本算法的熟练度,另一方面是希望到时候找实习时有点用吧。

English Learning

成功坚持每天在扇贝复习 100-110 个单词,以及在多邻国完成学习任务。
荣幸登上了扇贝单词的“全勤特种兵”榜,官方赠送了 90 天的扇贝大会员,不赖。

Exercise

尽量坚持了运动,在学校时几乎是隔一天一跑,每次 3-4 公里。平常吃多了我还会刻意不坐电梯,走楼梯去实验室。生命在于运动哇!(๑•̀ㅂ•́)و✧

说到平常的娱乐,枯燥的研究生生活中我的主要娱乐方式就是看动画和听音乐了,够低成本了。

Music

音乐方面依旧是 Anisong(动画歌曲)以及 V 家曲听得比较多。下半年偶然听到了 supercell 的几首歌,一发不可收拾,越听越上头。

Bangumi

2025 年我一共看了 75 部 TV 动画和 23 部剧场版动画。
不出所料我保持了平均一天 2 集 TV 动画的追番节奏,同时还补了一些优秀的作品,如命运石之门、奇巧计程车、颠倒的帕特码等。还有幸在电影院看了攻壳机动队(虽然是和谐版)。
今年我感觉作品平均质量最高的季度是夏季(7 月),从看动画的角度来说是我上大学以来,过得最开心的一个暑假了,没有哪年的 7 月这么丰盛的。 比较惊喜的是今年有两部非常合我胃口的原创动画,而且口碑都很不错:《末日后酒店》和《时光流逝,饭菜依旧美味》,推荐看到这里的各位去看看~Ψ( ̄∀ ̄)Ψ

# 展望 2026

对我来说 2026 是十分关键的一年,也注定是非常忙碌、迷茫的一年:

  1. 我的论文大概率被拒掉,需要花时间转投。
  2. 我已经研二下学期了,得找暑期实习了,准备去参加金山的训练营作为保底,开始背八股(408:没想到吧孩子们,我又复活了),顺带把自己简历往大厂投一下。大厂方面目前咱其实只想去腾讯...就是不知道腾子想不想要我了... ( ̄ ‘i  ̄;) 肯定很难啊!
  3. 如果暑期实习没有顺利转正,可能我还要忙于秋招。
  4. 组里的项目的开发和各种杂事大概率要持续到 6 月左右...

2026 年也是我的本命年,然而前路依稀雾几重,只能祈愿一切能顺顺利利了。看到这里的各位,2025 年真的辛苦了!祝你新的一年能学业 / 事业顺利,不惧困难,继续前进!加油!

咱们下一篇文章再会~ (∠・ω< )⌒★