GPT的强大让我们有目共睹,近来,年薪50万,80万,100万的GPT行业者已经在人工智能赛道尝到了甜头,分到了蛋糕。作为一名资深算法工程师,我有必要把自己的经验与大家分享。新时代的新产物推动着生产力的进步,要么拥抱新的生产力,要么被新的生产力淘汰,AI算法工程师90天入门到精通,跟着我一起向前奔跑!
接下来我首先给大家讲述,算法工程师简介、工作内容、职位方向、薪资待遇、招聘要求和成长学习之路。
1、算法工程师是做什么的?
广义上是指搞软件算法的,也就是开发和应用软件算法实现工业控制和程序处理。除了机器学习之外 还包括控制算法、图形算法等,狭义上现在谈算法工程师一般指的是搞大数据的,也就是数据挖掘算法工程师。
算法工程师在工作中主要会涉及三个方面的工作: 1、研究新算法或者在现有算法的基础上做优化:这时需要读一些研究论文,并针对自己所面对的应用场景,做专门的新型算法研究及对现有算法进行改进。 2、工程开发:将构建的算法通过代码实现,在数据集上进行测试,检验效果。 3、算法调整、参数调优:对于大部分的算法,构建好模型、代码实现只是最初的一步,更多的工作量是在对算法模型进行调整、参数进行调优,从而可以使得自己构建的算法可以更加匹配你所分析的数据,达到最优的效果。
具体研究领域为:
- 推荐算法和协通滤波算法:就是各种推送系统的设计机制;
- NLP:自然语言分析,在广告、推送系统、搜索工具这些产品中应用;
- 语音信号处理:比如回路噪声抑制什么的,一般用在语音聊天,语音识别的前端检测;
- 图像处理:基于OpenCV的图像处理算法,近一两年有被做深度学习的取代的趋势;
- SLAM:集中在机器人定位导航上,比如无人车,扫地机器人;
- VR,AR:涉及到的包括视频跟踪,SLAM,raytracing,几何投影等。
2、算法工程师的职位方向有哪些?
从专业领域可以分为:
- NLP算法工程师
- 视频算法工程师
- 图像处理算法工程师
- 音频算法工程师
- 通信基带算法工程师
- 信号算法工程师
- 数据挖掘算法工程师
从工作性质也可以简单分为两类。其中一类是偏研究型的算法工程师,例如复现paper,改善模型,发paper,出专利,这一类人才大都是科研大佬。第二类则是更加贴近业务的算法工程师,不如称为「算法应用工程师」。这一类主要是与业务同事进行搭档,通过现有的一些成熟模型来帮助业务同学解决问题。一般我们接触到的都是算法应用工程师。
3、算法(应用)工程师的主要工作内容是什么?
首先针对特定的问题,选算法,算法一般都是现成的,研究新的算法是研究型算法工程师甚至是数学家的事情,大部分情况下,你只是应用算法。
之后就是对数据进行算法的验证,包括问题定义、数据预处理和模型评估几个阶段:
- 定义问题:包括很多方面,例如业务需求、模型产出、变量的选择、目标的定义等等。
- 数据的预处理:大多数情况下,数据并不是现成的放在面前,数据可能是原始的、底层的,甚至是非结构化的
- 特征工程 : 简单的说就是筛选合适的变量并进行处理;
- 模型评估:模型评估包含模型本身的性能、模型稳定性、变量的稳定性、可维护性等等方面,还要结合具体的业务指标进行验证。
然后就是调参数,选特征,调参数,选特征,调参数,选特征。然后做出特定模型的最优解。
最终,选择应用于产品的模型。
4、算法(应用)工程师薪资高吗?
算法工程师目前是一个高端也是相对紧缺的职位,通常是月薪20k以上,年薪30万以上,近期更是有许多像50K-80K,16薪的薪资待遇,具体薪资可以到招聘网站如拉钩,猎聘网上看看,你一定会被惊讶到的。所谓女怕嫁错郎,男怕入错行,花90天,逼一逼自己,你一定可以华丽转身!
5、入门GPT赛道晚吗?
入门最好的时间是一年前和现在!
6、算法工程师的招聘要求高吗?
现在国内公司对算法工程师的要求相对较高,需要有较强的技术,但你也不用灰心,一个新行业没有谁一开始就很懂很会,大家都是摸石头过河,所谓门槛高,只是大家的心理作用,像一些公司,比如阿里,美团,对学历要求只要是本科毕业就行,毕竟谁会拒绝有真材实料的人呢?另外就是编程能力和算法应用能力。
以数据挖掘算法工程师为例,基本的要求如下:
学历:本科
专业:计算机、通信、应用数学、金融数学、模式识别、人工智能;
技术领域:机器学习,数据挖掘
技术要求:
(1) 熟悉常用机器学习和数据挖掘算法,包括但不限于决策树、Kmeans、SVM、线性回归、逻辑回归以及神经网络等算法;
(2) 熟练使用SQL、Matlab、Python等工具优先;
(3) 对Hadoop、Spark、Storm等大规模数据存储与运算平台有实践经验
(4) 数学基础要好,如高数,统计学,数据结构
加分项:数据挖掘建模大赛;
7、如何成为一名优秀的算法工程师?
学历:算法工程师对学历要求较高,如果你还在学校建议读个硕士或者去国外学CS;
数学:数学知识是必不可少的,需要了解概率论基本思想,了解向量、矩阵、导数运算;
编程:需要精通Python/C/C++其中一种编程语言,熟悉数据库的接口技术;
算法:需要熟练掌握数学建模、应用算法的设计和优化理论,熟悉关联推荐、SVM、逻辑回归、朴素贝叶斯等常见机器学习算法;
推荐书籍:《算法导论》、《集体智慧编程》、《机器学习》-周志华。