构建一个从零到一的机器学习团队,对于很多公司来说是一项艰巨的任务。本文提供了一些实用建议,不仅对求职者有参考价值,也为企业提供了宝贵的指导。
在过去几年里,机器学习领域取得了显著进步。然而,管理机器学习团队仍然是一个相对较新的课题。许多机器学习管理者往往是被推上管理岗位的,或是因为需求紧迫,或是因为他们是最优秀的个人贡献者。在一些公司,工程师或产品经理需要负责建立新的机器学习能力,但他们可能并没有太多相关经验。
管理任何技术团队都是极具挑战性的任务: - 需要招聘优秀人才并进行管理和培养。 - 需要协调团队的方向和目标。 - 要做好长期的技术规划并管理技术债务。 - 还要应对来自管理层的期望。
管理机器学习团队更是难上加难: - 机器学习人才稀缺且成本高昂。 - 机器学习项目的时间安排不确定,不确定性高。 - 机器学习项目被视为“技术债务”的高风险区域。 - 很多时候,管理层并不完全理解机器学习。
让我们来看一下常见的机器学习角色及其所需的技能:
与机器学习团队合作,为其他业务和终端用户提供能力。他们设计文档、创建线框图、制定优先级和计划机器学习项目。
负责部署和监控生产系统。他们负责运行和维护机器学习产品的基础设施。
构建数据管道、从数据存储中收集和处理数据、监控数据行为。他们通常使用Hadoop、Kafka和Airflow等分布式系统。
训练和部署预测模型。他们使用TensorFlow和Docker等工具来处理生产中运行在真实数据上的预测系统。
研究预测模型,通常是前瞻性的或非关键性的。他们使用TensorFlow、PyTorch和Jupyter来建立模型和报告。
这是一个概括性术语,涵盖从本科生到博士生的广泛背景。他们通过分析解决业务问题。
构建机器学习团队没有固定的模式,但可以根据公司的具体情况和成熟度来制定策略。以下是几种典型的公司原型:
这些公司可能完全没有机器学习专业知识,或者机器学习只是在特定情况下进行。这样的公司很难招聘和留住顶尖人才。
这些公司的机器学习工作主要集中在研发部门,通常雇佣机器学习研究人员和博士生。这类公司倾向于长期投资,但难以将研究成果转化为商业价值。
这些公司拥有专门的机器学习团队,向工程或技术主管汇报。机器学习的改进能带来商业价值,但也存在人才招聘和数据获取方面的挑战。
这些公司设有独立的机器学习部门,直接向高级管理层汇报。机器学习产品经理与研究人员和工程师合作,将机器学习集成到产品中。这些公司通常能雇用和培训顶级从业者。
这些公司高度重视机器学习,通常拥有强大的数据访问权限和吸引顶尖人才的能力。他们能够在工具、技术和文化方面进行大量投资,但需要克服模型应用和反馈周期缓慢的问题。
管理机器学习项目充满挑战: - 功能差异大,项目进度难以预测。 - 研究和工程之间的文化差异可能导致沟通障碍。 - 预计机器学习项目的工期非常困难。
为了更好地管理机器学习团队,可以采用概率性计划的方法: - 尝试多种方法,根据投入评估进展。 - 让研究人员和工程师紧密合作。 - 尽快建立端到端的管道以展示快速的成功。 - 教育管理层有关机器学习项目的不确定性。
机器学习人才稀缺,需求旺盛。以下是招聘机器学习人才的一些策略:
如果你正在寻找机器学习的工作,以下是一些建议: - 建立通用的软件工程技能(通过课程和工作经验)。 - 表现出对机器学习的兴趣(参加研讨会和在线课程)。 - 展示广泛的机器学习知识(撰写博客文章或综述论文)。 - 演示完成机器学习项目的技能(创建小型项目或重现论文)。 - 证明你有创造性地思考机器学习的能力(赢得Kaggle比赛或发表论文)。
构建机器学习团队是一项复杂而富有挑战的任务,但通过明确的职责划分、合理的团队结构以及有效的项目管理,可以大大提高成功率。希望这篇文章为你提供了一些有用的建议和思路。