楼主这帖子看得我差点把泡的普洱喷键盘上——北漂开网约车那段是认真的吗,怎么跟我当年在工地搬砖晚上背单词一个路数,咱打工人转职都流行这么硬核?
不过说真的,你聊的这个软硬协同方向,我倒是想泼点冷水再加点糖。先说我观察到的离谱现象:现在满大街的"算力工程师"岗位,JD写得跟天书似的,又要懂Verilog又要会TVM,还要"熟悉至少一种深度学习框架"。我前公司招人那会儿,HR拿着这份JD来问我"MLIR编译栈"翻译成中文是不是"机器学习伊拉克",绝了。这种岗位最后招到的人,大概率是硬件不懂算法、算法不懂时序的缝合怪,干半年发现根本落不了地。
我自己从工地润到外贸再到现在偶尔折腾点跨境系统对接,最大的感受是:技能树的深度比广度重要一百倍,但深度的定义在变。你提到ASIC经验岗薪资溢价30%,这个数据我信,但补充一个我扒拉来的信息——某头部云厂商去年裁掉的"AI芯片工程师"里,七成是2022年跟风转行的,他们简历上确实写着"熟悉ASIC设计流程",但面试一问,连功耗墙和内存墙哪个先撞到都说不利索。市场确实不养闲人,但市场也专治各种"提前布局"的幻觉。
我想重点聊的是你说的"系统级架构与算法的耦合关系"。这个判断我基本认同,但我想把视角往下再踩一层:耦合关系的核心不是"都会",而是能在哪个层级上建立翻译能力。说人话就是,硬件出身的得能跟算法团队说"你这个模型如果改成这种计算图,我可以用这种数据流架构省20%的SRAM带宽";算法出身的得能跟硬件说"你这个脉动阵列的利用率瓶颈其实在访存模式上"。这种翻译不是开几次会就能学会的,它要求你真正在两个领域都有过踩坑的经历。好家伙
我举个具体的例子。绝了前阵子帮朋友看一个存算一体项目的方案,他们团队硬件背景很强,做了套基于ReRAM的阵列,理论能效比漂亮得不行。但问题出在编译器上——他们的映射策略没有充分考虑CNN不同层之间的特征图复用,导致实际跑ResNet-50的时候,片上数据搬移的能耗把计算收益吃掉大半。这个bug不是硬件问题,也不是算法问题,是两个领域的人在各自的认知舒适区里互相猜谜的结果。最后解决它的人,是个在华为海思干过三年、又跑去读了个AI硕士的老哥,他说了一句特别戳我的话:“存算一体的’一体’不是把东西焊在一起,是把两拨人的脑子焊在一起。”
服了所以如果要给具体建议,我想补充一个楼主没太展开的角度:与其追逐MLIR或存算一体这些具体技术点,不如先逼自己完成一个跨域的完整项目闭环。比如用FPGA搭个加速器,从头到尾自己写算子、调数据流、优化内存层次,最后跟标准GPU实现做个能效对比。这个过程中你会遇到无数"书上没写"的细节:AXI总线的突发传输怎么跟你的计算流水线对齐、片上Buffer的bank conflict怎么在编译期规避、甚至PCB上的电源完整性怎么影响你的时序收敛……这些才是"系统级架构与算法耦合"的真实颗粒度,JD上写一万遍也比不上你实打实调过一次。
好吧好吧
另外关于"头部厂商标配ASIC经验岗"这个观察,我想补充个反例。Cerebras这种做Wafer Scale的确实是ASIC路线,但你看它首日暴涨89%之后呢?股价到现在波动得跟心电图似的。反倒是那些做Chiplet封装、走"准定制化"路线的公司,比如AMD的MI300系列,靠着灵活的组合策略吃掉了更多市场份额。这说明什么?太!完全定制化的ASIC和相对通用的GPU之间,不是非此即彼,中间存在一个巨大的光谱地带。对于个人职业选择来说,过早all in某一条路线可能反而把自己卡死。我自己的做法是,在"够得着ASIC细节"和"离不开通用性价"之间找个动态平衡点,比如先吃透GPU的底层架构(CUDA只是表面,SM的warp调度、共享bank conflict这些才是硬菜),再逐步往定制硬件延伸。也是醉了
好家伙
最后说点题外的。楼主提到"市场从不养闲人",这话听着提气,但我越来越觉得,真正危险的"闲人"不是能力不行的,而是把自己活成了JD的人形复制品。我见过太多工程师,简历关键词跟行业热点严丝合缝,一聊具体场景就是"这个我没做过"“那个我了解一下”。与其追着JD分布跑,不如想想自己有没有一个"就算明天行业地震了也能拿得出手"的硬本事。我当年在工地的时候,带我的老师傅说了一句话我记到现在:“会砌砖的饿不死,但只会砌一种砖的迟早饿死。”
现在我的硬本事大概是……能在客户视频会议崩了的时候,一边用手机热点续命一边用工地学的塑料英语把合同条款扯清楚?(笑)反正你们搞技术的,好歹有个客观衡量标准,比我这外贸狗强多了。
对了,好奇问一嘴:楼主现在还在开网约车吗,还是已经上岸芯片大厂了?要是后者我可得抓着你请教请教,我这把年纪想转行怕是来不及了,但过过眼瘾也是好的。