算法工程师
扫描二维码
随时随地手机看文章
算法工程师倾向于根据实际场景解决实际问题,但使用的工具是算法。科学研究需要像工作一样定义一个有意义、有价值的问题。场景中的专业问题定义了编程能力、问题解决能力、建模能力、科研能力和科学写作应该是科研。尤其是在中小型公司需求。
需求分析
软件统一建模(类图接口时序图接口文档)-
选择商业AI算法模型的组合-
数据采集工程数据处理和分析-
开发和实施-
测试、部署在线回溯测试和实时监控。-
优化迭代。
有几种型号选择着陆尺寸。
(1)机器学习的实时性。
(2)性价比。
(3)可解释性。
(4)对培训数据的需求。
转载很多好的体验文章。
谈工程能力的重要性。
以舞蹈为例,如果把算法训练的模型比作一个完成的舞蹈,那么工程能力就是舞蹈的基本功。如果你根本没练过基本功,或者基本功很差,手脚不协调,也可以通过努力学习这种成品舞,但离艺术审美水平还很远。如果基本功很扎实,那你学什么新舞蹈都是自然的。
如果你有很强的工程能力和扎实的基本功,并且在工作过程中需要解决一些实际问题,可以快速上手解决。理论和实践之间有差距。
合格的算法工程师必须具备的工程能力:
1、调试。快速定位问题的能力是无价的。这是最重要的一点。
2.Python、Java、C等。这三种编程语言非常重要,使用频率从高到低。模型离线训练需要Python(无论是tensorflow还是pytorch框架),在线服务或实现定制算法策略一般使用Java,在线Query预测服务一般使用C。
3.hive sql .这种语言在我们的工作中经常使用,我们都是sql男孩/sql女孩。
4.shell、Awk等。它经常在快速处理数据和调用一些python和java脚本时使用。
5.scala:在我工作的最初几年,spark使用得比较多,所以训练非深度模型和与hive sql交互非常方便。
6.对分布式框架的理解。这一点非常重要。比如ps/worker/chief在tensorflow框架中是如何协同工作的,参数更新在哪里,模型训练在哪里?
除了必要的工程能力之外,一个合格的算法工程师不仅仅是算法工程师,他必须有企业主和产品的视角。
有时候在算法效果提升有瓶颈的时候,从用户角度和产品层面考虑是否有更好的切入点。也要对业务运行机制进行深入思考,从发货供应端,经过冷启动,到召回,到粗安排,再到细安排,最后到分拣机制,哪个环节可能出错,哪个环节有优化点。所以一个全栈全链接的算法工程师是稀缺人才。只有供给/召回/精细排放/机制的联动优化,才能让线上效果有质的飞跃。
一个优秀的算法工程师不仅能玩转模型,还能对产品有独到的见解和思考。荟牛网举个例子比如,当你以真实用户的身份体验推荐的视频流时,很容易在产品或系统层面发现一些问题,然后回到算法上通过技术手段或与产品合作来解决这些问题。只有这样,公司的产品才能越来越好,算法优化的天花板才会越来越高。