了解/从事机器学习/深度学习系统相关的研究需要什么样的知识结构?
链接:https://www.zhihu.com/question/315611053/answer/676815240
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
以开发深度学习框架为例:
1,熟悉常见深度学习模型,CNN, GAN, RNN/LSTM, BERT, Transformer;
2,熟悉后向误差传播算法(BP),完成从标量求导到矩阵求导思维方式的转换,熟悉常见算子的梯度推导(矩阵乘,卷积, 池化,Relu,如果会batch normalization 就一步到位了);
3,熟悉autograd的基本原理,能自己手撸一个最好;
4,熟悉cuda编程(举一反三),熟悉cuda高阶用法,event, stream, 异步/同步,会优化常见cuda kernel, element-wise, reduce, broadcast, MatMul, conv, pooling 等;
5,熟悉c++和python, 对c++高级用法感到舒服,各种模式,惯用法,模板;熟悉vim, gdb 程序调试;
6,熟悉socket, RDMA编程,熟悉常见collective operation代价分析,譬如ring allreduce, tree allreduce 代价分析;
7,熟悉多线程编程,熟悉锁,条件变量,内核线程,用户级线程,对actor, CSP(coroutine)各种技术熟悉;
8,熟悉编译器基本原理,parser什么的不重要,主要是dataflow分析,灵活运用;熟悉多重循环程序优化技巧,譬如polyhedral 模型;
9,熟悉常见分布式系统原理,mapreduce, spark, flink, tensorflow 等;
10,熟悉计算机体系机构,量化分析方法,Amdahl' Law, Roofline Model, 流水线分析(譬如David Patterson 那本书);
11,熟悉操作系统原理及常用系统诊断工具,譬如各种资源利用率分析;
12,programming language 原理,命令式编程,函数式编程,逻辑编程,入门书《程序的构造与解释》?
以上只是知识和技能,我认为最重要的是直觉,洞见,创造能力。
暂时先想到这些,如果都符合,绝对挺多企业想要你。我们也需要:)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix