如何成为机器学习工程师-没有计算机科学学位-没有训练营-

如何成为机器学习工程师(没有计算机科学学位,没有训练营)

原文:towardsdatascience.com/how-i-became-a-machine-learning-engineer-no-cs-degree-no-bootcamp/

机器学习和人工智能是目前最受欢迎的话题之一,尤其是在科技领域。我很幸运,作为一名机器学习工程师,每天都能与这些技术一起工作和开发!

在这篇文章中,我将带你了解我成为机器学习工程师的旅程,为你提供一些关于如何成为机器学习工程师的建议和启示!

我的背景

在我之前的一篇文章中,我详细地写了我从学校到获得第一份数据科学工作的经历。我建议你查看这篇文章,但我会在这里总结关键的时间线。

几乎我家的每个人都学习过某种 STEM 科目。我的曾祖父是一位工程师,我的祖父母都学习过物理学,我妈妈是一位数学老师。

所以,我的道路一直为我铺平了道路。

11 岁的我

在 12 岁时,我看了《生活大爆炸》,决定在大学学习物理学;可以说,每个人都为此感到非常自豪!

在学校,我绝对不笨。实际上,我相当聪明,但我没有完全发挥自己的潜力。我得到了不错的成绩,但绝对不是我完全能够达到的。

我非常傲慢,认为我可以不用努力就能做得很好。

我申请了牛津大学和帝国理工学院等顶尖大学,但鉴于我的工作态度,我过于自以为是地认为我有机会。在结果公布那天,我最终进入了补录,因为我错过了我的录取通知。这可能是我一生中最悲伤的一天之一。

英国大学的录取主要是指大学在特定课程中为学生提供空余名额,这主要面向那些尚未收到大学录取通知的学生。

我很幸运,有机会在萨里大学学习物理学,并最终获得了物理学一等硕士学位!

真正的替代品是没有的。这是一个令人尴尬的陈词滥调,但它是真的!

我最初计划是攻读博士学位,成为一名全职研究员或教授,但在我的学位期间,我完成了一年的研究,我只是觉得研究职业不适合我。一切进展得太慢,而且在这个领域似乎没有太多机会。

在这段时间里,DeepMind 在 YouTube 上发布了AlphaGo — The Movie纪录片,它出现在我的家庭动态中。

从视频中,我开始了解人工智能的工作原理,并学习了神经网络、强化学习和深度学习。说实话,时至今日,我在这几个领域仍然不是专家。

自然地,我深入挖掘并发现数据科学家使用人工智能和机器学习算法来解决问题。我立刻想加入其中,并开始申请数据科学研究生职位。

我投入了无数小时进行编码、上课和项目工作。我申请了300 多个职位,最终在 2021 年 9 月获得了我的第一个数据科学研究生职位。

你可以在podcast中了解更多关于我的经历。

数据科学之旅

我在一家保险公司开始了我的职业生涯,在那里我构建了各种监督学习模型,主要使用梯度提升树包,如 CatBoost、XGBoost 和广义线性模型(GLMs)

我构建了以下模型进行预测:

  • 欺诈—某人是否通过欺诈性索赔获利。

  • 风险价格—我们应该给某人多少保险费。

  • 索赔数量—某人将有多少索赔。

  • 平均索赔成本—某人将有多少平均索赔价值。

我构建了大约六个模型,涵盖了回归和分类领域。我在这里学到了很多,尤其是在统计学方面,因为我与精算师合作非常紧密,所以我的数学知识非常出色。

然而,由于公司的结构和设置,我的模型很难超越 PoC 阶段,所以我感觉我在工具包的“技术”方面和公司如何在生产中使用机器学习的理解上有所欠缺。

一年后,我的前雇主联系我,问我是否想申请一个专注于时间序列预测优化问题的初级数据科学家职位。我非常喜欢这家公司,经过几次面试,我得到了这份工作!

我在这家公司工作了大约 2.5 年,期间我成为了预测和组合优化问题的专家。

我开发了多个算法,并通过 AWS 使用软件工程最佳实践(如单元测试、低级环境、影子系统、CI/CD 管道等)将我的模型部署到生产环境中。

可以说我学到了很多。

我与软件工程师合作非常紧密,因此我学到了很多工程知识,并在业余时间继续自学机器学习和统计学。

我甚至在那时从初级职位晋升到了中级职位!查看晋升过程

过渡到机器学习工程师

随着时间的推移,我意识到数据科学的实际价值在于用它来做出实际决策。Pau Labarta Bajo 有一个很好的引用。

Jupyter 笔记本中的 ML 模型具有 0 美元的商业价值

如果一个复杂的模型不会产生结果,那么构建它就没有意义。通过堆叠多个模型来寻求额外的 0.1%的准确性通常是不值得的。

你最好构建一些简单的东西,你可以部署它,这将为公司带来真正的经济利益。

考虑到这一点,我开始思考数据科学的未来。在我的脑海中,有两个途径:

  • 分析 -> 你主要工作是为了深入了解业务应该做什么,以及它应该关注什么来提升其性能。

  • 工程 -> 你提供(模型、决策算法等)能够带来商业价值的服务。

我觉得那些分析和构建 PoC 模型的数据科学家将在未来几年内消失,因为,正如我们上面所说的,他们没有为业务提供有形的价值。

这并不是说它们完全没有用;你必须从它们投资回报的商业角度来考虑。理想情况下,你带来的价值应该超过你的薪水。

你想说“我做了 X,产生了 Y”,上述两个途径允许你做到这一点。

对于我来说,工程方面是最有趣和最令人愉快的。我真正喜欢编码和构建对人们有益的东西,他们可以使用,所以自然而然地,我就朝这个方向发展。

为了过渡到 ML 工程方面,我向我的直线经理询问,我是否可以部署我自己构建的算法和 ML 模型。我会从软件工程师那里得到帮助,但我将独立编写所有生产代码,进行自己的系统设计,并独立设置部署流程。

这正是我所做的。

我基本上成为了一名机器学习工程师。我开发我的算法,然后将它们部署到生产环境中。

我还参加了NeetCode 的数据结构和算法课程,以提高我的计算机科学基础知识,并开始在博客上撰写软件工程概念

意外的是,我的现任雇主在这个时候联系了我,问我是否想申请他们公司一个专注于通用 ML 和优化的机器学习工程师职位!

称之为运气吧,但显然,宇宙在告诉我一些事情。经过几轮面试,我被提供了这个角色,现在我已经是一名全职的机器学习工程师了!

幸运的是,一个角色“掉”到了我的头上,但我通过提升技能和记录我的学习经历创造了我的运气。这就是为什么我总是告诉人们要展示你的工作——你不知道它可能带来什么。

我的建议

我想分享一些主要建议,这些建议帮助我从机器学习工程师过渡到数据科学家。

  • 经验—在我看来,机器学习工程师不是一个入门级职位。你需要对数据科学、机器学习、软件工程等有很好的了解。你不需要在所有这些领域都是专家,但需要在各个领域都有良好的基础。这就是为什么我建议有几年作为软件工程师或数据科学家的经验,并自学其他领域。

  • 生产代码—如果你来自数据科学领域,你必须学会编写良好的、经过良好测试的生产代码。你必须了解诸如类型检查、代码检查、单元测试、格式化、模拟和 CI/CD 等方面。这并不太难,但需要一些实践。我建议向你的当前公司提出与软件工程师合作以获得这些知识,这对我就很有帮助!

  • 云系统—如今,大多数公司都将许多架构和系统部署在云端,机器学习模型也不例外。因此,最好熟悉这些工具并了解它们如何使模型上线。坦白说,我大部分都是通过工作学到的,但也有一些课程你可以参加。

  • 命令行—我相信你们中的大多数人已经知道了这一点,但每个技术专业人士都应该精通命令行。在部署和编写生产代码时,你会广泛地使用它。我有一个基本的指南你可以查看这里

  • 数据结构与算法—理解计算机科学中的基本算法对于机器学习工程师职位非常有用。主要是因为你可能会在面试中被问到这个问题。与机器学习相比,它并不太难学,只是需要时间。任何课程都可以解决问题。

  • Git & GitHub—同样,大多数技术专业人士都应该了解 Git,但作为一个机器学习工程师,它是必不可少的。如何合并提交、进行代码审查和编写出色的拉取请求是必须掌握的。

  • 专业化—我看到的大多数机器学习工程师职位都需要你在某个特定领域有所专长。根据我的先前经验,我专注于时间序列预测、优化和基于通用机器学习的专业领域。这有助于你在市场上脱颖而出,而且如今大多数公司都在寻找专业人士。

这里的主要主题是,我基本上提高了我的软件工程能力。这很合理,因为我已经从数据科学家的身份获得了所有的数学、统计学和机器学习知识。

如果我是一个软件工程师,转变可能正好相反。这就是为什么获得机器学习工程师职位可能相当具有挑战性,因为它需要掌握广泛技能的熟练度。

总结与进一步思考

我有一个免费的通讯订阅,分享数据,在这里我作为一位实践中的数据科学家,每周分享一些小贴士和建议。此外,当你订阅时,你将获得我的免费数据科学简历我的 AI 路线图的简短 PDF 版本

与我联系

posted @ 2026-03-27 10:58  布客飞龙V  阅读(1)  评论(0)    收藏  举报