• 面试算法工程师遇到的一些困惑
  • 发布于 2个月前
  • 86 热度
    6 评论
  • 我曾经
  • 1 粉丝 26 篇博客
  •   
最近在招算法,发现一个问题,不知道是不是我的认知问题,请教一下兄弟们。据我了解,算法分为算法研究,算法前后处理,算法工程部署等等。

最近面试的一些算法,研究能力并不突出,自己从 0 到 1 研究过模型网络,做过完整模型的就一个,其他的都是开源模型+数据集训练部署,然后就这一个,表达沟通能力还有问题,总是用“这个”, “那个”来表述一些术语,听的我们云里雾里的。很多算法工程师训练+调参做到 onnx 就结束了,然后还有的就只是负责 dll 的转化,前处理后处理什么的,很少有做过四层网络+服务器+应用+算法+部署整个流程的。

我知道算法的工作内容繁多,除了算法本身可能也没有精力了解其他内容。但是,搞计算机的,真的是只负责自己的那一小块么?
用户评论
  • 李明发
  • 多少钱干多少事,你这个问题其实换到 web 开发这边也一样。垃圾公司都是希望几千块、万把块就找到一个后端厉害+前端厉害+运维能力厉害的开发。
  • 2024/5/24 17:10:00 [ 0 ] [ 0 ] 回复
  • 北悸安凉
  • 结合我自身工作经历给你说说吧。
    1. 首先,现在定义的算法工程师=机器学习算法工程师=深度学习算法工程师,不是指工程能力很强的那种算法工程师
    2. 在算法工程师行业,我们又会细分为应用算法工程师和更偏理论偏基座的理论算法工程师。无论哪个方向,数据预处理、训练、优化、部署。都是基本功,但是这种基本功都指的是调包。前面每一个环节深入进去,都是另一个工种,比如,部署推理加速,要会 cuda ,会写算子,这个工种了解不了解算法理论就没那么重要了。
    3. 其中应用算法会更侧重业务拆解,将问题转为算法问题,所以在实际工作中会要求写一点业务代码。一般由工程团队包好框架,我们实现关键的业务逻辑,不需要太牛逼的模式设计,你做的再好能有在工程领域浸淫好几年的工程团队打的框架好吗。理论算法工程师就更务虚一些,干好自己的一亩三分地,发发 paper ,打打榜,给前者提供下 base model ,所以前者在大厂里占了绝大部分。
    4. 对于你说的其他部分比如网络,服务器之类的。全看算法工程师个人爱好了。精力有限又确实用不上。
  • 2024/5/24 17:08:00 [ 0 ] [ 0 ] 回复
  • 相顾言欢
  • 分工化太严重,你想的这种很难,还有就是确实很多搞算法的工程能力堪忧的居多,你让他们写点 py 之外的就开始很困难了或者没有接触过。算法+工程两样都强的,我个人觉得大小公司这种人都很少也非常非常贵。殊不知一堆博士老哥对基本开发语言都不知道内容的或者力扣都写的够呛都看到不少了。
  • 2024/5/24 17:02:00 [ 0 ] [ 0 ] 回复
  • 凉茶言尽
  • 这实际上是个很宽泛的问题,关键是,你怎么定义算法工程师?从字面来说,算法工程师肯定要考虑工程能力,它甚至是该职业能力的主要衡量指标。在高度分工的体系中,算法工程师就是区别于算法研究员的一线实施,负责算法落地,着重实现、应用、调校。要不要相应的理论基础取决于工作模式——是单干还是协同。

    而现实是,大部分相关公司不会有自己的算法研究员,基本上是产学研三合一,算法工程师又要搞理论又要写代码担子自然重了,给了人一种啥都要会的错觉。
  • 2024/5/24 16:57:00 [ 0 ] [ 0 ] 回复
  • 苒青绾
  • 你说的是服务端部署,和大部分只做终端部署的不太一样。服务端部署也有现成的框架,但同样需要对算法比较熟悉才能知道如何合理配置资源和一些影响 qps 的参数。
  • 2024/5/24 16:50:00 [ 0 ] [ 0 ] 回复
  • 猫千千
  • 我以为工程部署:在已有的系统下,对单独模块部署,结果变成四层网络+服务器+应用+算法+部署?四层网络+服务器这个不是运维?应用这个不是开发?你这是一个人干三到四个人的活啊。
  • 2024/5/24 16:46:00 [ 0 ] [ 0 ] 回复