2020-05-27 12:32:00
全文共1992字,预计学习时长7分钟
图源:becominghuman
每个领域都有自身的发展规律,从萌芽到发展,再到归于常态化。随着时间的推移,早期的专门工具会变为常用工具。机器学习似乎也是同理。
机器学习工程师这一角色,是与人工智能和数据科学之类年度热词一同流行起来的。在早期,这是一个非常必要的角色,而且还是个高薪职业!
但人们对机器学习工程师的含义有着很多不同的理解。有人称称,机器学习工程师的工作是把实验室中的模型投入生产。他们扩展机器学习系统,将参考实现转化为可生产的软件,并经常跨界做数据工程的工作。他们通常是能力很强的程序员,掌握着一些所使用的模型的基础知识。
但这听起来更像是一名普通的软件工程师。
笔者向一些顶尖的科技公司询问,机器学习工程师意味着什么,答案并不统一。这个工作历史不长,而且发布这些职位的人通常是管理层,几十年来,他们没有时间(或意愿)去了解这一岗位。所以这个结果不足为奇。
来看看下面这些顶尖科技公司的招聘信息中的要求,请注意它们之间的差别有多大:
第一个要求很粗略。确定这不是在招聘研究人员吗?数学、统计学、运筹学博士。了解R语言、结构化查询语言(SQL)和现代机器学习技术。
下一个要求更加品牌化,不过这对于顶尖公司来说是难免的:计算机科学学士或硕士,拥有1-5年软件开发或学术经验。计算机视觉、自然语言处理(NLP)等领域有经验者优先。
最后这个则要求应聘者深入了解典型的机器学习工程师职位:计算机科学学士/硕士。拥有三年及以上建立生产机器学习系统和高效代码的经验。有大数据经验者优先。
图源:gab41
不过事情也在慢慢步入正轨,一些公司已经开始使用新方法。这个方法是列出软件工程师的职责,以机器学习为核心要求,拥有几年工作经验者优先。无论是基于机器学习还是其他技术,雇主都会优先选择有经验的工程师构建和扩展系统。
只要理解机器学习的人不多且进入机器学习的门槛很高,那么机器学习工程师这一职位就是必要的。
但笔者坚信,机器学习工程师的角色将完全由普通的软件工程师接管。它将转换为一个标准的工程角色,在这一过程中,工程师将会从上游的某个人那里获得一个规范或参考实现,将其转换为生产代码,并发布和扩展应用程序。
目前,许多机器学习的角色都存在于这个奇怪的领域内。在许多情况下,机器学习工程师既是研究人员,又是工程师。
笔者见过相当一部分的机器学习工程师,他们的工作是处理整个栈。笔者也遇到一些技能库较为狭窄的人,他们花费了更多的时间阅读新的研究论文,并将其转化为可用的代码。
我们如今正处于一个奇怪的十字路口,选择着解决问题方案的未来。
图源:unsplash
工作方式使我们倾向于投入讨论和会议之中,却不管这是否是我们专业知识的核心。笔者认为机器学习工程师应该处于构建参考实现的尾端,拥有将一切转换为生产代码的能力。
不久之后,大多数企业将几乎不需要研究就能完成他们的项目。只有利基用例和深入的技术工作需要特殊的技能集。工程师们将会使用API,机器学习将会成为每个新工程师工具包中的常用工具。
我们已经见证机器学习逐渐走进大学校园,几乎每一个大学毕业生都会在毕业前获得机器学习的经验。
以区块链为例,来看看分布式系统工程师在这一领域炙手可热的原因。自从中本聪的白皮书发布以来,绝大多数区块链项目都在致力于构建基础技术和基础设施。
图源:unsplash
要做到这一点,就必须拥有极其强大的工程技能,而拥有这一技能的人通常被称为分布式系统工程师。而如今,日常工程师现在可以使用区块链构建新的用例。现在,我们正见证人工智能、机器学习的走向普遍化的过程。
那么该如何应对呢?
有人说,硅谷“一个API打天下”的主题很有可能是虚假的,机器学习将需要在基础层面进行某种程度的定制。笔者认为,对自然语言处理(NLP)来说,Hugging Face的作用将发生在其他领域。我们将能利用一个简单的API来打天下。
也有人说:“这只不过是个头衔罢了。事实上,机器学习工程师只是指那些在数学和统计学方面比普通计算机专业毕业生背景更为深厚的人。”这我完全同意,这只是个头衔。但是如果这个角色不再被需要,这个名头还会存在吗?
笔者最喜欢的读者回复之一,来自于推特上的vari:
“如你所说,这只是个头衔。大多数雇主希望你拥有重叠的技能。我认为,归根结底,这不在于谁被淘汰,而是在于谁更全能以不断适应一直变化的行业。”
图源:unsplash
即使很多人有着不同意见,笔者的的观点依然很坚定:如果你对于某件事充满热情,无论所谓头衔、领域或潮流发生了什么改变,你总会发现一个让你创造美好事物的地方。
无论如何,继续前进吧!