包阅导读总结
1. 机器学习工程师、转行、跨学科、路线图、实践
2. 本文主要探讨了人到中年转行成为机器学习工程师的可行性,介绍了所需技能和学习路线图,强调实践和掌握多领域知识的重要性,预计全职学习需约18个月。
3.
– 转行可行性
– 国外小哥成功转行,愿提供经验和路线图
– 机器学习工程师定义
– 在组织中用机器学习解决业务案例
– 与机器学习研究人员不同
– 所需技能
– 软件工程:处理大量数据,部署和集成模型
– 数据科学:处理数据,做研究
– 数学与统计学:掌握基础数学知识
– 应用领域:特定领域知识有帮助
– 学习路线
– 学习编码:选择 Python,如哈佛 CS50 课程
– 学习浅层机器学习:从浅层算法开始,如吴恩达课程
– 学习深度学习:多种课程资源可选
– 建立领域专业知识:通过项目深入研究
– 学习软件工程:如 Fullstackopen 课程
– 学习 MLOps:如 fullstackdeeplearning 资源
– 时间预估
– 全职约 18 个月
– 不同起点所需时间不同
思维导图:
文章地址:https://mp.weixin.qq.com/s/T25sL4SQdQQxWatQdxeXsQ
文章来源:mp.weixin.qq.com
作者:新智元
发布时间:2024/7/28 4:35
语言:中文
总字数:4819字
预计阅读时间:20分钟
评分:85分
标签:机器学习,职业转型,软件工程,学习路径,深度学习
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
【新智元导读】人到中年,想半路出家转行成机器学习工程师,可行吗?最近,这位成功转行的国外小哥用一篇干货满满的硬核博客告诉我们:完全可以!
转行成为一名机器学习工程师,可行吗?
国外一位成功转行的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课程中找到一个起点,跟随你感兴趣的兔子洞,通过论文实现构建一些有趣的项目。