人到中年,成功转行机器学习工程师?国外小哥狂刷吴恩达LeCun,教你18个月转行
共 7820字,需浏览 16分钟
·
2024-07-29 12:00
新智元报道
新智元报道
【导读】人到中年,想半路出家转行成机器学习工程师,可行吗?最近,这位成功转行的国外小哥用一篇干货满满的硬核博客告诉我们:完全可以!
国外一位成功转行的Max Mynter告诉我们——完全可以!
收到了多条X私信后,他决定把自己的成功经验写下来。
他强调说:我不是Karpathy,但我可以算一名扎实的中级机器学习工程师。
他是通过刻意的努力,才成为一名工程师的。而且,就是在最近,他刚刚从业余爱好者转成了一名专业人士。
以前,Mynter从事的是社会学和物理学
因此,他写下来这篇博文,希望为有类似愿望的人们提供可行的路线图和资源,从而为职业生涯奠定基础。
什么是机器学习工程师?
因为机器学习以及相关职位名称及其混乱,Mynter特意和人合写了一份34页的白皮书。
在指南中,机器学习工程师指的是在组织中工作,并使用机器学习来解决业务案例的人,这就意味着创建、改进产品,或让组织更高效地工作。
注意,机器学习研究人员与之不同。他们强调的是在科研中开发新颖的方法,但并不需要解决眼前的业务需求。
机器学习工程师的必备技能
软件工程
当然,一个合格的机器学习工程师必须会写代码,但最重要的是,你需要是一位有能力的软件工程师。原因如下——
首先,由于机器学习是在数据中发现模式,因此机器学习工程师必须能够处理足够数量的数据。通常这意味着数据量超出了手动处理的量。
其次,由于机器学习工程师的绩效是通过业务反映的,因此这个岗位就需要能部署模型,并且将其集成到更大的产品环境中。
可以说,如果没有为用户提供任服务,那一个工程师的工作就是失败的。
最后,如果了解计算机的内部工作原理,以及构建定制工具的能力,你的开发速度就会大大提高。
直觉和专业知识确实可以极大地帮助你设计模型,但在实验过程中构建机器学习模型,始终是必要的。
在这个过程中,机器学习工程师需要尝试大量有根据的猜测,并且探究怎样会让效果更好。
这个过程迭代得越快,最终的输出就越好。而软件工程技能有助于更快地自动化和迭代,并且使得各个实验更加高效。
作者还援引了OpenAI联创Greg Brockman的观点。
Brockman曾表示:学习机器学习其实比学习软件快得多,优秀的软件工程师潜力巨大
可以说,机器学习最终是一门计算机科学的学科,而软件工程,就是让计算机科学成为有效应用的方式。
数据科学
由于ML是从数据中学习模式,因此ML工程师需要具备处理数据的能力。
他们需要能够处理混乱的现实世界数据记录,知道如何收集、理解这些数据,还要能设计出有用的特征,并且解释模型输出的敏感性。
最棘手的错误并不是内存不足,而是当训练循环运行后,模型输出了看似正确但其实是错误的结果时。
数据科学家一次又一次地尝到惨痛的教训:想要构建一个优秀的模型,最优秀的方法就是花大量时间处理数据。
ML工程师还需要的一个技能就是做研究。
你需要识别与你手头问题相关的论文,并且能够复刻这些方法,应用到自己的领域。
数学与统计学
机器学习工程师需要掌握什么样的数学技能?这个问题很难量化。
在大多数情况下,你在日常中不会明确地需要用到它们。
然而它总是隐性地被需要。
因为了解正确的数学知识,对于理解当前问题的数据、选择合适的算法来说至关重要。
为此,机器学习工程师需要具备实数微积分、线性代数和概率论的基础。这些是用于构建和训练许多机器学习模型的核心数学理论。
而在训练LLM或处理大型数据集时,你会从数值方法和优化理论的知识中受益。
最后,为了理解特定问题的数据,你还需要掌握统计知识。
应用领域
虽然ML更像是一个通用工具箱,但ML工程师却可以从特定领域知识中受益匪浅。
一方面,它们会帮你更了解你的用例、用户和可用数据。
另一方面,他们发展了处理特定类型数据和合适模型的专业知识。
例如,用于文本的语言模型、用于视觉的CNN或用于时间序列的RNN。
成为机器学习工程师,有哪些途径
-
数据科学路线。首先,你需要精通数学和数据工作,开始使用机器学习,然后学习必要的软件工程技能。
-
软件工程路线。当你成为一名有能力的软件工程师,可以在职业生涯的某个时候转向学习数学、数据和机器学习技能。
实用资源
以下是一系列帮助你进入ML工程的结构化课程。
学习编码
学习浅层机器学习
学习深度学习
建立领域专业知识
学习软件工程
学习MLOps
结束语
作者表示,如果你遵循本指南,一定可以成为入门级ML工程职位有竞争力的候选人。
从零开始学习
作为开发转行
作为数据科学家进入机器学习领域
概括
-
学习计算机科学基础知识以及编程,通过CS50课程和专用Python资源 -
-
学习经典(浅层)的机器学习,为数据工作奠定基础,培养直觉
-
按照特定课程学习深度学习,例如Yann LeCun的NYU讲座、fast.ai或deeplearning.ai的深度学习专业课程
-
从fullstackdeeplearning中学习MLOps
-
寻找您想要从事的领域,通过建立你的作品集来发展专业知识。你可以从Hugginface课程中找到一个起点,跟随你感兴趣的兔子洞,通过论文实现构建一些有趣的项目。
往期精彩回顾
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)