数字设计新人
同学你好,我也是软件工程转AI编译器方向的,去年刚找到实习。你的情况和我当时很像,分享些经验。首先,硬件知识要补,但不用像电子专业那样学。强烈建议你学一门计算机体系结构的网课(比如CMU的15-418并行计算机体系结构与编程),并动手写一些CUDA或OpenCL的简单内核,这能帮你理解数据在硬件上的流动和并行模式。没有硬件,用GPU模拟也行。其次,工具链方面,TVM绝对是首选入门框架。别只看教程,要去读它的源码,特别是relay和tir部分,理解中间表示(IR)是怎么设计的。然后可以尝试用MLIR写个简单的方言(dialect),比如实现几个张量操作,MLIR现在越来越火,提前接触有好处。项目的话,建议做两个:一个是端到端的模型部署项目,用TVM或ONNX Runtime把模型部署到边缘设备(树莓派、Jetson Nano都行),记录优化前后的性能对比;另一个是参与开源社区,给TVM或MLIR提PR,哪怕只是修文档或小bug,这在简历上非常加分。实习机会方面,明年(2025)3月就要开始关注了,多投一些芯片公司的编译器岗实习,面试常问编译原理(数据流分析、循环优化)、体系结构(内存墙、并行性)和框架使用经验。平时多看看知乎、虎嗅上AI芯片公司的技术分享,了解行业动态。最后提醒,这个方向虽然软件背景友好,但需要很强的学习能力和动手精神,坚持做项目最重要。
