我好像不再学习了
最近到 Qwen 实习之后,我竟然发现,自己压根没有时间学习了。
我有超多 token 可以用。公司的项目,前期探索我几乎全部放手给 agent。项目的技术栈和我过去关注的东西耦合度不高,本身又没有深到 agent 做不了,结果就是,纯技术上的工作我几乎没怎么碰,自己反而比较抓瞎。
好在效果做出来了。后面就是优化代码,以及,虽然很难相信,读懂我做的项目的代码。
实验室的项目也在同步推进,做流式视频加速。系统实现用到的技术栈都是我早就懂的东西,所以也全部放手给 agent,只看最后的精度和速度是否达标。训练这部分,我甚至直接全权交给 co-author,自己主要负责开会同步,以及想一些优化训练的 idea。也提了一些不错的建设性意见,但不多。
这两个月,我 PhD 入学,正式成为曾经梦校的博士生;收获了自己的第一篇 oral;去了 Qwen 实习;完成了一个流式视频生成模型的算法和系统协同优化,把加速推到了极限;Qwen 这边的项目也做到了可观的加速;还接了实验室一个做 Robot Use Agent 的项目。
嗯,我已经打满了三级流水线,而且确实有流水线级的产出。
但是,除了把三级流水打满,把自己的带宽占满,搞得脑子频繁 cache miss,我到底学到了什么?
我已经很久没有真正系统地学到东西了。上一次,可能还是一年前搭建 Diffulex 核心状态机的时候。
我是不是有点偏离自己原来想做的事情了?
至少有那么一段时间,我突然开始讨厌静下心读 paper。我沉醉于碎片知识,喜欢看 blog。现在更进一步,我连 blog 都不怎么看了,我就喜欢和 GPT 聊天。
我曾经想做一个 AI native 的 system。这是我还完全不懂这些东西时就有的想法。我曾以为 vLLM 就是,后来一路被各种细节占用了学习带宽。直到最近开始做给 agent 用的中间件,我才发现,自己对 OS 的理解简直低微。
从应用往下看,那些系统 API,每一个背后都有复杂的状态机和生命周期。我连这些都没有理清楚,何德何能说自己是做 MLSys 的。我对复杂系统的理解,远远不到位。
DeepSeek 的机考也让我看到,自己算法题不会做,对状态机和调度的理解明显不足,复杂问题建模能力没有达到自己曾经的目标。即便现在做了一点 LLM 调度,也大多是在别人已有设计上的复刻和略微魔改。
模型架构也一样。GDN、KDA 的核心数据流,我没有完全搞清楚。让我写 kernel,我对 GPU arch 的理解又不够充分。我能在面试的时候写 FA,也很难说不是过拟合了 FA2 的流程。
貌似这一年下来,除了发了一篇 oral,我没有获得多少自己真正想要的提升。
去年我对自己的预期是,到今年,应该可以独立做真正高效的全栈 serving 优化。我会理解复杂状态机、调度方法、CUDA arch 的细节、model arch 的设计,以及 kernel design。
现在呢,每一层,最多理解了 60%。
生成式这边,可能只有 50%。我大概知道训练流程怎么推进,知道矩阵怎么流,但问到为什么这样设计,一些核心设计究竟有什么价值,我就说不清楚了。
博士刚入学,我开始感受到,自己和交大 John 班、SAI 那些优秀本科生之间,基础知识上的鸿沟。我只是现阶段实操更多、经验更多,所以在一些事情上有能力优势。但基础知识,我差得很远。
我没有写过自己的 shell,没有做过 CSAPP 的各大 lab。ML 和 Gen AI 的基础、概率论、矩阵论、GPU 架构,再到 model arch、多模态生成、表征学习,我都欠着账。
想成为一个真正全面的研究者,我总觉得,必要的领域至少得有 80% 的理解,专攻的领域得有 95%。当然,这些百分比也只是感觉,我甚至未必知道剩下的 40% 在哪里。但我现在还早,或许应该先把必要的基础补到一个比较扎实的程度。
我曾经很长一段时间都坚信,做项目,边做边学。
但目前的状态,好像已经不支持这套方法了。
Agent 全都能做出来,而项目的进度要求,又不允许我每一部分都手操。不然进度就会大幅落后。过去我不太看得上系统学经典课程这件事,因为我坚信实用主义:需要什么就学什么,在项目里碰到问题,自然就会了。
现在,问题根本不需要经过我,就已经被解决了。
我一个人可以做远大于过去 scale 的工作。我能完成它们,哪怕我不懂。
但是,我真正控制这些项目了吗?我觉得没有。
好多地方,我根本不知道它在干什么。状态机没有理清楚,没有用 pdb、gdb 进去看过,没有亲手修过 corner case bug。最后指标是好的,项目是能跑的,但这些系统,我其实不了解。
我忙得要死,却找不到以前那个 zone。
不写代码,不 debug,同时盯着好几个项目,脑子一直在切。我以为自己 wired in 了,但好像只是一直在线。注意力越来越碎,还是不愿意腾时间运动,还是容易被群聊、短视频这些垃圾吸走。
因为就算不进入状态,我也能完成任务,甚至能完成大量任务。
我的“预训练”已经足够支持我处理很多范畴的事情。我基本什么都懂一点,什么都懂到 50%。这很好,但也很不好。
这不是我想要的 PhD 状态。
我不愿意 dive in。外界不准我,项目不准我,世界好像也不准我。可说到底,我自己也中了毒。社交网络和 vibe coding 的双重毒,天天吸,戒不掉。
我反而觉得,过去那个认知更低的自己,学习状态更好。虽然那时候,我能做成的事情远没有现在多。
或许我应该压一压自己,回到当时的状态。
腾出时间学经典课程,手操完成 classic lab,做一点算法题,练自己的逻辑和建模能力。不然,我凭什么觉得自己以后能进 DeepSeek 这样真正改变世界的团队?
我还是想改变世界。我也不觉得自己已经到了上限。
保研的过程至少让我知道,我并不笨,学习能力也不差。我可以和高考分数比我高几十分的人正常 align 脑电波。我也确实发现过,脑力是可以锻炼的。只要真正 wired in,我就会变聪明,复杂系统也不是理解不了。
但我注意力容易不集中的老毛病一直都在。尤其是最近,大量工作交给 agent 之后,我连进入状态的入口都找不到了。
以前,写代码、debug,一个问题卡住了,就必须顺着它往下挖。挖进去,几个小时就过去了。现在,一个问题卡住,发给 agent,然后我去看另一个项目,或者看一眼群聊。等它回来,问题解决了,我的注意力也散完了。
我需要那个 zone。我知道自己进去之后是什么样。
或许应该先摘掉耳机。自律,对,我还是需要一点自律。运动,手操,留一段不被切碎的时间,把一个问题真的想明白。
我能看到自己和那些人的差距,就得去补。我本来就不差,也证明过。世俗意义上,刚入学就有一篇 oral;能力上,我的知识面不窄,脑子转得也不慢。但这些不能代替扎实的理解,更不能让我一直吃老本。
如果连系统在干什么都不清楚,我又怎么更好地控制 agent?
我不提升自己,也许就会一直停在现在这个水平,继续做项目,继续产出,继续有一点不错的结果。但我想做的事情还远没有做到。
我想做的 AI native system,不只有云端 serving。还有 AI 的 OS,还有不同层面的 co-design,还有 RUA。这些想法我可以聊很多,但真要做出来,需要的能力,我还没有。
lsy 说得对,我们都在埋葬自己的才华。
他是天才,一直是。我是不是,我不知道,至少现在没有表现出来。我甚至很难说自己创造过什么真正有用的东西,但他有 DistServe。
我不是要和他比。我只是也有一个目标:到底什么时候,我才能有能力做出一点真正改变世界的东西?
我想做到顶尖,因为有些事情,确实需要顶尖的能力才做得出来。但按现在这个状态,哪怕产出再多项目,我可能一辈子也走不到那里。
而且,机会好像也不会一直等着我。也许过不了多久,我就得重新寻找未来还能做什么。
但无论如何,我的大框架还是 CS 和 AI。我已经做到了不少事情,应该还可以做到更多。
我需要找回那个 zone。在 zone 里,我是有神速力的,这件事我发现过。
我曾经用一张 3060,在无人指导的情况下独立发了 ACL。所有代码都是手搓,哪怕是那个该死的稀疏注意力算子。当时的 AI 根本做不了这些。从写代码到投稿、rebuttal,没人教我,我也做完了。
我也可以自己一个人平地起大厦,搭出 DLM 的 runtime。那些状态机,我是真的懂。从底层的 store kernel、unified DLM attn kernel,到上面的状态机,page size 和 block size 的耦合设计、软件抽象、插件设计、多策略执行,我全都亲手做过。
出了问题,我可以直接进 pdb,一层层找到它。
现在我认识的人里,能完整做下这些事情的,也没有那么多。
所以,我也不能一边焦虑,一边把过去做过的东西全抹掉。那些能力不是假的。只是我知道,自己最近没有继续往下长。
我还是会因为 oral 高兴,还是会在某些时候觉得自己很牛。但高兴完也得承认,结果里有运气的成分,而且,这还不是我真正想做到的事情。
我需要找回那种状态。
项目当然可以继续用 agent 推。能做更大 scale 的事情,本身没有什么不好,我也不想退回什么都只能自己写的时代。
但我的学习不能全靠项目顺便发生了。现在这个“顺便”,已经被 agent 接走了。
底层的知识,我自己的大厦,还是得亲手重新夯实。得有一些问题,是我自己想明白的;一些代码,是我自己写过、跑过、卡住过,最后 debug 出来的。
不然,我可以一直很忙,一直有产出,却始终做不到自己真正想做的事情。
Enjoy Reading This Article?
Here are some more articles you might like to read next: