深度学习算法工程师内心感悟

某网友:

  1. 数据放在第一位,成也数据,败也数据。深刻认识数据的重要性,把数据集维护好,数据量够了,再谈后面的模型优化,数据都不干净,用再好的模型,也不会出好的结果。
  2. 启动开发前,多问问自己有没有了解这个业务,目前定的方案还有没有盲点没有考虑到,毕竟启动开发需要准备各种数据集,耗时长且需要一定的人员和经济投入,如果开发过程中或者测试阶段发现方案不合适,这时候推倒重来的话,就DT了。
  3. 算法工程师并不只是调包侠,炼丹师,而是一个综合要求很高的岗位。要训的了模型;写的了逻辑;优化的了算法性能,时刻把运行速度,准确率,召回率,显存利用率,显存占用,cpu利用率,内存占用,并发路数等等记在心里;还得深刻了解业务,目前的方案合不合适?产品定的指标,给的需求有没有坑?完成这些需求,要选什么样的硬件最划算,可不可以少几个模型,毕竟看数据也很费眼;
  4. 多实验,多记录,多对比,勤讨论,勤汇报,勤迭代。这一行多少还是有点玄学的,很多问题没有很强的理论可以支撑,靠经验的地方很多,这个模型效果好,很多情况也不是推导出来的,而是实验出来的,有时候想破脑袋,也没有动手起几个模型效果来的快。平时多跟同事同行讨论讨论,搞不好费了你好几根头发的问题,就被别人解决过呢?
  5. 多看行业顶会论文,多追追大牛的博客,思路打开了,落地也就简单很多。

以上是我从事算法行业几年来的一点点体会,不是具体到看了某一篇论文,学了某一个框架,熟悉了某一个语言给自己带来的提升。但就我而言,这些对岗位认知的更新,做事套路的更新对自己的提升有时候要强于某一项具体的技术。

某网友2:

一旦标注标准导向错了,坐拥百万标注数据和100层的预训练模型也可能原地踏步。相反地说,如果标准做得好,那将大大提升标注数据的有效性,每周新返回的标注数据带来的增益可能比你花式炼丹一个月都来的有效。

  1. 最菜的算法工程师靠调学习率
  2. 次菜的算法工程师靠试新模型
  3. 合格的算法工程师会懂得做数据
  4. 不错的算法工程师还会用新paper优化实际问题
  5. 优秀的算法工程师能数据、模型、策略joint design&iterate
  6. 顶级的算法工程师能颠覆行业方法论

找到自己的定位,是我作为算法工程师最重要的一步。

对算法工程师来说,通常有2条发展路径。

1、深度,成为某个领域的算法专家,比如计算机视觉专家。

2、广度,成为懂业务的算法工程师,比如广告算法工程师

哪条路适合自己?应该选择怎样的技术方向和业务?

我在职业发展初期的时候,沉迷于各种前沿的复杂模型,想要成为计算机视觉领域的研究者,但可惜,这条赛道太拥挤,人才济济,内卷十分严重;同时,我也看到纯AI的公司,比如AI四小龙,也并没有过得非常滋润,虽然技术很强,但AI的落地机会并不多。

 

搞AI研究需要人,但要的是最牛的人,对于普通人,很难。

或许,在花了大量时间去钻研,普通人最终也能成为优秀的AI学者,找到自己的一席之地吧——但这就是唯一的选择么?其实还有另一条路,那就是回到工程师的本质,解决问题。

通常,在我们工作的时候,我们并不知道什么是最优方案。比如面对“如何提高用户体验”,“如何提高公司收入”等复杂问题,没有人能告诉我们当下应该做什么。我们需要靠自己的判断,去分析问题,收集信息,设计优化目标,制定系统方案,然后一步一步的去摸索和完善。

这,就是软件工程

算法工程师,首先是软件工程师,然后才是懂算法的软件工程师。

计算机视觉也好,自然语言处理也罢,将前沿的算法,作为可用的工具之一,去解决实际的产品和业务,是和算法专家同样重要的,应用型算法工程师职业发展的方向。

明确了这一点之后,我现在看问题会更多的从业务和产品角度出发,不再纠结“这个模型好NB,提高了benchmark x%准确率!”,而打开视野,更多的去思考行业,公司和团队,有哪些有潜力的方向,有哪些值得去做的机会,还有多少可以进一步优化的空间。

此时我才发现,选择哪一个赛道,选择哪一个公司,选择哪一个团队,比用的是多么NB的模型实现更加重要。软件工程,衡量风险,权衡投入产出比,快速迭代,快速成功,快速失败。

我见过做了多年视觉AI的博士,转系统方向然后步步晋升,也见过做了多年广告推荐的算法大牛,跳去了无人车公司风生水起。

AI算法就是个锤子,当今社会锤子太多,钉子太少,CTO太多,CEO太少。

选择做什么,比用什么算法做更重要。在提升自己做选择的能力上,一起努力吧。

 
 
posted @ 2022-10-14 14:15  海_纳百川  阅读(196)  评论(0编辑  收藏  举报
本站总访问量