“本文报告了一款国产的非CUDA加速器上内存高效注意力机制的端到端实现:在单节点8卡配置下,吞吐达到对应cuDNN参考实现的83%,数值误差在2.3e-6以内。”
江松然把屏幕字体调大一点,接着往下翻。
背景写得简洁,没注水。
实现那一节贴了具体的优化方法和代码片段,不是泛泛而谈。
评估那一节有完整的对照、不同上下文长度下的吞吐曲线、还把每一项优化的贡献单独拆出来量化。这些是做评估的人最容易偷懒的几个地方,他都没偷懒。
最让江松然多看了两遍的,还是局限性那一节。
作者自己写道:“本工作只完成了单算子(SDPA),没涉及LayerNorm、Softmax、各类Optimizer等数十个其他算子;没涉及多卡通信库;也没涉及训练场景下的反向传播与混合精度,不构成一套可用的训练栈。”
非常诚实,不像是来刷脸的。
他又翻上去,看了一下团队,Source Intelligence AI。
是个没听过的公司。
江松然往后靠在折叠椅上,把眼睛揉了揉。
国内居然还真有人在做这种事。
这种吃力不讨好的事。
做出来发不了顶会,打不响知名度,也融不到资金,做的时候也没人知道你在做什么、做的有多难。
最关键是,因为其他的配套都没有,单做一个出来也是真没什么用。
这种活儿他熟,谷歌TPU团队的前两年就是这么熬出来的。
只不过谷歌当年有几百个工程师。
8张卡,一个算子。
江松然在心里量了一下,从这里到“能跑一个能用的训练系统”中间还差什么。
剩下的几十上百个算子,多卡通信库,分布式训练框架,编译器,容错和检查点。
每一项,都是三五十人的工程团队、两到三年的活儿。
他在硅谷那家公司就做这套东西,做了五年。
如果国内真能有几百个团队,都像这一个一样,安静地做这种没人鼓掌的事。
那国产化也未必没有可能。
可惜,没有几百个这样的团队。
正想着,母亲从外面进来了,一进来就开始唠叨。
“松然,累坏了吧,快回去睡会,你在医院陪床的时候也得注意休息,别你爸还没醒过来,自己就先病倒了……”
江松然也确实是累坏了。
他和母亲交代了几句,稍微收拾了一下,拿上电脑,走出了病房。
一路走到住院部一楼,他看到一个瘦高帅气的年轻人站在大门的位置,背着一个双肩包,好像在找人。
江松然正看着,正好那个年轻人也看了过来,好像看到了他,冲他笑着点了下头,向他走来。
那人的眼神亮的惊人。
江松然不确定他是不是冲着自己来的,也回应了一个点头。
第一百九十二章 要不,你请示一下?
江松然不太确定这个年轻人是不是找错了人。
“你好,请问是江松然博士吗?”
年轻人停在他面前两米的位置,没有再往前走,像是在确认,也像是在给他留出拒绝的距离。
“我就是,请问你是……?”
“韩路一,源智科技。”年轻人伸出手,“打扰了。”
江松然和他握了一下手,手劲适中,不紧不松。
源智科技,他莫名的有点儿耳熟,但又想不起来在哪听过。
“韩先生。”江松然犹豫了一下怎么称呼眼前的年轻人。
他回国的消息这两个月越传越广,找他的人也越来越多,所以他最近已经拒接所有的陌生电话,推荐工作的邮件也基本不看了。
到江松然这个级别和履历,已经不是他找工作,而是工作找他了。他不可能每个信息都回复,忙不过来,猎头们和大厂HR们也都理解。
但被人找上门来还是头一遭,他好奇这人是怎么找到自己的。
“你怎么知道我在这?”江松然直接问了。
韩路一指着医院的大门说:“你没有设置朋友圈权限,照片里的床单上印了这家医院的名字。”
江松然回想了一下,他记得自己EMO的时候拍过病床,发了朋友圈,但是上面有什么字……他完全想不起来了。
但是能从这种细节追到医院来,这人还挺用心的。
江松然明白了对方的来意,也不打算纠缠,直接拒绝道:“韩先生,不好意思,最近找我的人比较多,我暂时没有”
话说到一半,他兜里的手机响了。
江松然看了一眼来电显示,犹豫了一下,对韩路一说:“不好意思,我接个电话。”
韩路一点了点头,说:“您请。”
说完他自觉地走到了大楼外面,倒是也不怕江松然突然跑了。
“江博士你好,我是鼎盛云计算事业群的VP,张弛。”电话那边的语气还算客气,但说话的速度很快,“我们公司的人力已经和你交流过了,我这边还需要对你再进行一下简单的面试。”
这大厂味儿扑面而来,江松然懒得纠正他,面试就面试吧。
“你在之前那家公司做的集群,最大规模跑到多少卡?”
“两千。”江松然说的是事实,但他做的是异构芯片的两千,比纯N卡的万卡难度只高不低。
“两千。”张弛重复了一遍,语气里感觉带了点儿轻蔑,“我们这边的规划是万卡,明年Q2之前在乌兰察布落地。你觉得从两千到一万,核心瓶颈在哪?”
这个问题倒是个好问题,江松然在心里评价道。
江松然简短的回答了,大规模显卡集群的管理,无非是三个方面通信拓扑、故障恢复、功耗管理。
张弛没追问细节,直接跳到了下一个话题:“行,技术上没问题。职位是首席架构师,IC线,向CTO汇报。团队方面会从我这边调人配合你。我比较关心的是到岗时间,我们Q2之前要在乌兰察布把新集群立起来,倒推的话二月底之前人得到位。”
所谓IC,独立贡献者(Individual Contributor),是技术路线,级别高,但是不管人。
江松然这边沉默了一会儿。和HR聊的时候他已经提过了,但是对面不知道是不在意还是没传达到,他只能在这再说一次。
“关于工作地点,我现在情况比较特殊,我父亲在住院,我不想去外地。”
“是这样的,江博士。”张弛的声音有点儿不耐烦,“长期来看肯定是在总部工作,但是机房在乌兰察布,前期需要两头跑,搭建阶段在乌兰察布会多一些。”
“张总,我再说一遍,我走不开。”江松然的声音已经有压抑的怒火了。
“我了解我了解,等你父亲出院了之后再动身也可以。”
“不是出院就能走的。”江松然的声音压得更低了,“出院之后还需要长期照护,我说的不想去外地,不是一两个月,可能是未来几年。”
“江博士,我理解你的情况。”张弛的语气收敛了一点,但下一句话又放出来了,“但是这个岗位的性质你也清楚,集群搭建不是远程能盯的事。你不到现场,下面的人怎么推进?”
江松然没说话,他怕再说话就要骂人了。
“我人比较直,我就直说了,”张弛继续道,“这个位置鼎盛内部不是没人能做,我们是觉得你的经验更合适才走的外招,但项目节点可不等人。”
江松然静静地听着,手紧紧地攥着手机。
张弛似乎意识到刚才的话强硬了一些,放缓了语气:“这样吧,待遇你可以参考一下,年包大概在四百到五百个之间,具体的HR会跟你谈。你好好考虑一下,尽快给我个回复。”
江松然没说话,把电话挂了。
挂了电话,他才发现自己刚才憋的已经有点儿喘气了。
等到在原地喘匀了气,他才往外走去。
韩路一站在楼外面,看他出来,走上前来,表情亲切而自然。
“您好,聊完了?”
“聊完了。”刚才的拒绝被打断,又接了个脑残打来的电话,江松然反而想听听韩路一要说什么了。
他看了一下四周,住院部外面有个小花园,里面有几张长椅。
现在是冬天,室外没什么人,江松然指着一张长椅说:“咱们去那说。”
两人在长椅上坐下,韩路一从双肩包里拿出电脑来。
他打开电脑,对江松然说:“我的来意您应该已经知道了,想要邀请您加盟源智科技。在您答复之前,我想先给您看点儿东西。”
说完,韩路一打开了一个代码仓库页面,看起来是自有托管的。
江松然看到这个页面,感觉有点儿眼熟。
等到韩路一打开其中的一个文件夹,名字叫SDPA(scaled dot product attention),江松然意识到,这不是他刚才看的那篇论文吗?
Wenyuan Zhao,Source Intelligence AI。
怪不得觉得在哪听过,原来就是这个源智科技。
江松然不由得心生好感,这是个干实事的团队。
可是他感觉更不相关了,自己的领域明明是大规模的集群管理,是偏工程向的,这源智科技要是做硬件适配的,找自己干什么?
“Wenyuan Zhao是?”江松然问道。
“他是我们的首席科学家。”韩路一出声道,“您可以看看我们的成果。”
江松然把注意力放在眼前的屏幕上,这才注意到仓库里还有别的文件夹。
SDPA、LayerNorm、RMSNorm、Softmax、GELU、SiLU、Rotary Embedding、FlashAttention、AdamW、All-Reduce。
一共十个文件夹,每一个对应一个算子的完整实现。
江松然的手指不自觉地点向触控板,但又停住了这不是他的电脑。
“您可以自己看。”韩路一重复了一遍刚才的话。
江松然这才开始翻看。
江松然先点开了SDPA的文件夹,和论文里的实现对了一下,确认是同一套代码。
然后他开始翻别的算子。
看了两个之后,他皱起了眉。
“这些跑过benchmark吗?”
“每个算子都有对应的性能测试,”韩路一说,“和N卡cuDNN的基准线对比,最低的80%,最高的91%。README里有完整数据。”
江松然点开了一个README,扫了一下数据表格。确实不是个玩具项目,是认真做过对照的。
“多卡通信验证了吗?”
“4卡和8卡都跑过。All-Reduce是自己写的。”