AI 项目落地应用指南 --3. 机器学习项目团队组成(下)

阅读数:160 2019 年 12 月 17 日 14:07

AI 项目落地应用指南--3.机器学习项目团队组成(下)

2.1 主要工作内容

  • 项目解决方案
  • 项目实施计划、项目交付(实施)方案
  • 需求调研
  • 项目管理
  • 平衡好项目管理“铁三角”

2.2 主要工作产出物

  • 项目文档
  • 项目交付

有关项目经理的工作内容与产品相关的,在第四章进一步详细说明;与项目管理相关的在第十一章说明。

3. Business Consultant

业务咨询顾问更多的是一种“角色”概念,并非所有公司都会设置专职岗位。一般情况下,业务咨询顾问角色由两类人员担任。第一类是在目标行业领域具有丰富工作经验,做为业务专家参与业务咨询工作;第二类是社会新人,有志于成为业务咨询顾问,一般从熟悉模块功能、参与业务需求调研开始培养,视个人发展意愿,后期会向产品经理、项目经理或者销售方向转岗。

业务咨询顾问的工作主要由三部分构成:

  • 配合产品经理 / 项目经理完成产品 / 项目的需求调研,并形成对应的需求文档;
  • 配合销售经理完成项目的售前咨询与产品 / 方案介绍,并形成售前咨询方案 /PPT;
  • 行业 / 竞品分析,了解发展趋势与动态,给出产品方向性建议;

3.1 主要工作内容

  • 需求调研
  • 解决方案
  • 业务分析

3.2 主要工作产出物

  • 需求调研报告 /PRD
  • 相关文档

4. Software Develop Engineer

如前述,本文主要探讨的是机器学习方法的任务,所以对于 Traditional Software Engineering 部分所涉及的不同角色,比如:架构师、UI、UE、前端、后端、移动端及功能测试、自动化测试等,全部合并为“Software Develop Engineer(SDE)”统一指代。

AI 项目落地应用指南--3.机器学习项目团队组成(下)

同样的图,再来看一遍。实际上,做为一个产品或者项目交付的系统来说,深度学习的 models 部分所占比重并不高,其余的工作内容更多的是偏向于传统软件工程的架构、工具、数据、代码等内容,而这部分内容是 SDE 团队更加擅长和熟悉的。

对于 SDE 部分的工作内容,不做过多介绍,大家都非常清楚分工、工作内容与交付物,对于涉及到深度学习的部分,有如下建议:

  • APIs、MQ、JSON 等规约内容提前约定、设计;
  • 对于 CV 类的项目有可能 Web 页面需要展示实时视频流与标注框,提前约定好:A:传坐标前端绘制;B:推理平台 OpenCV 绘制标注框,以及是否需要转码为视频流;还需评估抽帧后的前端展示效果,是否满足需求;
  • 业务端对 DL Servin 端的调用需求、任务等接口设计;

5. Data Scientist

数据科学家是进几年新兴的一个工作岗位,不同的公司、行业领域对于“Data Scientist”这个角色的定义可能不尽相同,但做为一个跨学科的职位,总体来说具有以下工作内容:独立的数据处理能力,进行复杂的建模并从中发现数据的商业价值与意义,并拥有良好的书面、口头沟通、汇报能力,能对发掘价值进行总结与宣讲。

5.1 主要工作内容

  • 数据价值挖掘
  • 参与、指导团队建模与模型训练工作
  • 商业价值分析与汇报

5.2 主要工作产出物

  • 模型
  • 分析报告与汇报

6. ML Researcher

研究员的主要任务更偏向于前瞻性的探索与研究,跟踪行业技术趋势,解决新场景下的建模问题,进行算法的精度与性能调优以及思考、推动算法的应用与落地。

6.1 主要工作内容

  • 模型训练、算法调优
  • 前瞻性研究与跟踪技术趋势
  • 算法落地应用可行性论证
  • 推理系统架构与设计

6.2 主要工作产出物

  • 模型、Paper
  • 分析 / 评估报告

7. ML Engineer

机器学习工程师一般在数据科学家和研究员的工作基础上,进一步进行模型的训练与调优,以匹配项目 / 产品设定的技术指标,并完成推理系统与模型的部署以及与业务软件系统的集成。对于机器学习工程师来说,具备一定的代码实现能力以及掌握一种主流的后端开发语言(Java、C#、.NET Core、C++、Go 等)是有必要的。

7.1 主要工作内容

  • 模型训练、算法调优
  • 推理系统部署与模型部署
  • 推理系统接口开发
  • 软件系统集成

7.2 主要工作产出物

  • 模型
  • 推理系统
  • 软件集成

8. Data Engineer

数据工程师的主要任务是完成 data management pipeline 的数据抽取、聚合、清洗、存储以及自动化流水线的监控工作,确保后续 ML 工作的数据可用性。

8.1 主要工作内容

  • 数据入库
  • 系统监控

8.2 主要工作产出物

  • 数据库 / 数据仓库

9. DevOps Engineer

DevOps 的理念已经得到了广泛的认同与实践,相关工具链从开源免费到闭源商用、从私有化部署到 SaaS 服务,极为丰富与完善,当选项太多后,如何选择与应用成了一个新问题。DevOps 其中涉及的知识点与技能栈的要求相对较高,所以 DevOps Engineer 这样一个岗位 / 角色的出现也是合理的。

9.1 主要工作内容

  • 在组织中建立合适的 DevOps 流程,并分析、优化 DevOps 实践
  • 选择适当的工具实现过程自动化
  • 建立持续的 CI/CD 环境加速软件开发和部署过程,规避风险
  • DevOps pipeline 工具链的选型、部署、维护与监控

9.2 主要工作产出物

  • DevOps 基础设施
  • DevOps 文化引导
  • 用户私有化环境的产品部署

10. Delivery Engineer

如之前所述,在传统的软件交付领域有三分软件,七分实施这种“共识”,交付环节对于软件项目来说,是非常、非常、非常重要的,千万不可轻视。这项工作,绝非安排一个项目经理,带上几个刚毕业愿意出差、能吃苦的小孩就可以顺利完成的,再考虑到深度学习部分带来的项目技术概念复杂性、结果不可预测性、不可解释性,会使得项目交付工作更加艰难,更需要有专业化的团队去完成交付工作。

机器学习项目的落地交付环节,是在项目经理的带领下,由一批具有各种不同技能与能力的交付工程师组成团队,完成项目交付与实施工作。有关项目交付的更详细的说明,在第十一章。在这里先简单说明一下交付团队集体所需要具备的专业知识与技能组合:

  • 沟通、协调与项目管理能力与情商
  • 行业理解、流程认知与行业专属名词熟知程度
  • 需求沟通与需求判断能力
  • 公文写作与汇报能力
  • 系统架构评估与代码实现评估能力
  • 主机、网络、存储等系统集成的工程与技术能力
  • 综合布线、施工管理及与工人沟通能力
  • 问题定位与排查能力
  • 变通能力与处事灵活性
  • 开会能力、风险管理能力
  • 抗压能力与心里素质

10.1 主要工作内容

  • 制订项目交付计划、策略
  • 项目需求调研
  • 系统部署与现场测试
  • 培训用户使用
  • 上线后监控

10.2 主要工作产出物

  • 项目计划、实施方案
  • 项目过程文档
  • 项目需求调研报告
  • 项目交付、验收

本文转载自知乎专栏:不如无书

原文链接:

https://zhuanlan.zhihu.com/p/77407725

评论

发布