原文:
towardsdatascience.com/how-to-succeed-as-a-machine-learning-engineer-in-the-industry-d36ffc2f2631?source=collection_archive---------0-----------------------#2024-07-17
5 个帮助我在大型科技公司中始终超越预期的技巧
https://medium.com/@kgk.singhal?source=post_page---byline--d36ffc2f2631--------------------------------https://towardsdatascience.com/?source=post_page---byline--d36ffc2f2631-------------------------------- Kartik Singhal
·发布于数据科学之路 ·阅读时长 5 分钟·2024 年 7 月 17 日
–
你是否曾经想过成为一名成功的机器学习工程师需要什么?你是否在定义自己在这个动态领域中的角色时感到困惑?我也曾经经历过这一切!
嗨!我是 Kartik Singhal,Meta 的高级机器学习工程师。虽然在这个领域已有六年的经验,但我仍然每天都在学习。今天,我将分享五个帮助我在大型科技公司中获得“超越预期”评价的技巧。
💻 打好基础
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7c4941a7163a2c323f6e3cb021e355b6.png
图片来源:作者,基于 ChatGPT 4o 创建
你需要对机器学习的基础概念有很好的理解,并且意识到它在实际应用中的局限性。
理解核心概念:
掌握监督学习与无监督学习、分类与回归以及深度学习的基本原理。
了解误差度量、目标函数以及每种方法的局限性至关重要。
专业建议:
从coursera 机器学习课程开始,它将介绍所有核心概念。
我还建议阅读**《百页机器学习书》和《机器学习工程》,这些书籍是Andriy Burkov**编写的,可以帮助你深入了解应用机器学习。
如果你对深度学习更感兴趣,可以查看 Coursera 上的深度学习专业课程。建议先通过基础课程掌握机器学习的基本知识,再学习这一课程。
了解库的使用:
了解核心机器学习库,如 TensorFlow、PyTorch 和 scikit-learn。
在像 Kaggle 这样的平台上做小项目,将帮助你在职业生涯早期就能熟悉这些库。
小贴士:
强烈推荐 educative.io 的机器学习工程师课程,它介绍了大部分库和功能。
保持对前沿研究的关注
通过阅读最新的论文和参加像KDD这样的会议,保持对你所在领域最新研究的了解。这将增强你的信心,并确保你了解当前的趋势。
由于我对搜索中的 NLP 应用感兴趣,我熟悉了一些具有里程碑意义的论文,如Word2Vec,BERT和最新的大型语言模型发展。
💪 发挥你的优势
作为机器学习工程师,专注于你的优势,并在你经验较少的领域寻求帮助。以下是你可能执行的一些关键职责:
1) 数据与特征工程:你通常需要找到并准备自己的数据。这涉及:
理解问题:理解问题陈述并确定最关键的数据。
识别数据来源:寻找相关的原始数据源。
数据预处理:清理和格式化数据以使其可用。
2) 建模:这包括通过使用机器学习模型将数据转化为可执行的洞察。关键步骤包括:
理解领域:研究你所从事的领域。每个领域都有其独特的挑战。
制定问题:定义你正在优化的内容以及你需要使用的目标函数。
创建基准:确定项目的最低可接受性能。
训练模型:寻找并训练合适的模型。
3) 模型部署与可扩展性:
理解规模:了解模型将在哪个规模上运行,以及你需要哪些技术来满足这些要求。像 Amazon Sagemaker 和 Tensorflow Serving 这样的技术提供了大规模的模型部署框架。
鲁棒性:确保模型推理与现有系统良好集成,并能处理实际流量。
专业提示:查看 Udacity 的机器学习工程师纳米学位课程,学习如何使用 Sagemaker 进行部署。对于 Tensorflow Serving,他们的用户指南非常好。
🎯 聚焦于业务目标和数据
我个人曾经为此挣扎过,我知道许多机器学习工程师也有同感。我们常常在没有考虑业务目标的情况下改进模型。与这些目标保持一致可以确保项目满足期望并带来价值。
识别业务目标或用户目标:理解业务目标——如收入、用户体验、减少欺诈等。
定义问题陈述:制定与业务目标一致的问题陈述。
示例*: 为了增加流媒体服务中的用户会话数量(业务目标),优化点击率以提高用户参与度(问题陈述)。*
- 通过数据验证假设:用数据分析支持你的问题陈述。
示例*: 对于优化点击率的推荐系统,分析用户互动数据以识别模式和偏好。*
- 理解局限性:选择适合领域和业务需求的模型。
示例*: 如果目标是向卖家提供有关哪些产品特性推动电商平台销售的透明信息,那么一个简单、可解释的模型,如决策树,可能比深度学习模型更合适。*
🔍 理解投资回报(ROI)和权衡
你能在一个用户界面应用程序中部署一个拥有数百万参数的大型语言模型(LLM),并且保证 100 毫秒的延迟吗?可能不能。资源约束是关键考虑因素,往往被忽视。
- 权衡:理解项目的权衡并设定明确的里程碑。平衡时间、资源和模型性能。
示例*: 在开发一个复杂模型的年度四人工程项目中选择,目标是实现高性能,或者选择一个六个月、两人参与的项目,虽然模型性能稍低,但基于项目目标和可交付成果。*
- 投资回报(ROI):评估模型的投资回报。选择平衡性能和预算约束的模型。
示例*: 如果一个最先进的模型需要数百个 GPU,而一个更简单的模型可以在更少的资源上高效运行,那么后者可能更实用。*
- 迭代过程:从资源高效的模型开始,并进行迭代改进。
🔁 接受实验
机器学习是实验性的和迭代的。你从一个模糊的问题开始,提出假设,部署解决方案,学习并进行优化。
尽职调查:彻底研究和分析领域,以预见并缓解潜在的意外情况。
从反馈中学习:使用用户反馈和性能指标不断改进模型。
从失败中学习:分析自己和他人的失败,识别弱点,改进模型架构,并理解数据集问题。
🌟 额外提示:指导与人脉建设
在行业内建立联系可以加速你的学习,开启新的机会,并在整个职业生涯中提供宝贵的支持。
寻找并成为导师:寻找导师以获得指导,并帮助他人以巩固自己的知识。早期在职业生涯中获得强有力的导师支持帮助我克服了很多障碍。
积极建立人脉:参加会议、聚会和网络研讨会。加入在线社区,保持更新并分享知识。
作为告别的话,我想说,我并不声称拥有所有的答案,但我相信持续学习和分享知识的力量。这篇文章就是我实践这一理念的方式。我致力于发布对任何对机器学习感兴趣的人都有价值的文章,从初学者到初级专业人士。你的支持和反馈将是无价的。感谢阅读。
如果这篇文章对你有帮助,并且你想了解更多关于机器学习的实际技巧,可以关注我,或在LinkedIn上与我联系*。*