原文 :https://medium.com/machine-learning-in-practice/roles-on-a-machine-learning-project-216903a6dc12


Machine learning is a technical process, but it starts and ends with people. The first step to structuring your machine learning project is to consider the people you need to make it happen.

角色1 数据科学家 Data Scientists

Data scientists are the “x factor” in a machine learning project, representing the main difference between an ML project and other kinds of software development. They create (or select) and train algorithms, building the models for machine learning. Data scientists may specialize in certain kinds of problems or data sets. Some are more research-driven and academically minded, while others are more results and task focused. While both kinds can contribute, it’s preferable for team leaders have a results orientation, rather than a tendency to linger on questions.

Data scientists can grab data, throw together an algorithm, and show that it works. But when they hack together a demo, they may take shortcuts. They may create their solution under idealized assumptions about the data inputs and algorithmic outputs. Integrating and scaling a data scientist’s work into production requires building pipelines for data to go to the right place. In other words, it requires . . .

角色2 软件工程师 Software Engineers

Engineers are the people that typically put the “In Practice” into “Machine Learning in Practice.” They ensure the technology is built in a robust way so that it can be packaged and deployed into production in mission-critical systems. Engineers help with software development, best practices, and data wrangling/pre-processing. They might set the infrastructure, get the data pipeline in place, and ensure the data scientists have everything they need to focus on the models.

A machine learning algorithm often ends up as a single function in a working piece of software. Software engineers think about how to maintain the software over time, making the algorithm robust for the real world. Data scientists are often not classically trained programmers, and so they may not have the best practices when it comes to creating reusable code.

Engineers also help ensure the entire effort is not beholden to the one expert who worked on the project. They make sure the software does appropriate levels of logging, that it can be monitored, that there is proper documentation, and that other software best practices are followed. This allows data scientists to build the best algorithm possible. Without engineers, data scientists may be stuck just doing cool demos.

A “unicorn” developer is one that can do both leading data science and implement software best practices. It’s rare to find one person that can handle all of these responsibilities.

Note that while it is preferable to involve engineers from the beginning of a project, the full engineering need may be difficult to know during early planning stages. Engineers are most necessary during the later deployment stage (see below), at which point the project may have evolved significantly.

角色3: 数据工程师 Data Engineer

This role is focused on wrangling/pre-processing data to prepare it for machine learning.

Text data, for example, may come in as a PDF, a .docx file, a .txt file, or a string from a database. A data engineer may need to convert the text to the proper format for a given programming language. After the text is loaded, more pre-processing might be required due to language, length, word frequency, and word variation.

It’s an iterative process: if an algorithm isn’t working, a data engineer will try finessing the data in a different way. After a project goes into production, data engineers may work together with software engineers and data scientists to assess and optimize the data feeding back into the model.

The need for this role will vary with projects and team size. In cases where a lot of pre-processing is required and senior data scientists are better focused elsewhere, more junior data experts could take on this role. In other cases, data scientists may take on the data prep themselves.

Project Roles During Project Phases

Data Processing Phase

Data Engineers wrangle the data while Data Scientists offer guidance (and do data engineering as needed).

Algorithm Development Phase

Data Scientists create algorithms while Software Engineers offer help and guidance.

Solution Deployment Phase

Software Engineers implement the solution while Data Scientists tweak algorithms as needed.

Leadership Roles

Beyond the core technical team, more roles are crucial for achieving business impact in a machine learning:

  • The Business Owner

    The Business Owner is responsible for focusing the team on the core business problem to be solved and for providing business support via the budget. Business owners may also need to communicate the unique attributes of machine learning projects to the leaders above them, including the potential ebb and flow of project timelines. The business owner’s biggest challenge is often understanding what is actually possible with machine learning. Making promises without a firm understanding can hurt a project.
  • The Technical Lead

    The Technical Lead is responsible for the overall architecture of the solution. They know how to put all the necessary data sources and infrastructure elements together to complete a project. While this person should have some technical understanding, they may not be a machine learning authority.
  • The Project Manager

    The Project Manager structures and guides the project, interfaces with stakeholders, adheres to standard procedures, keep projects on time and on budget, reuses lessons and technologies from past projects, and appropriately documents the endeavor and business results.

    A given ML project may see different individuals in each of these positions. But it’s also possible for one person to hold multiple roles (a technical team member may take on project management tasks, a data scientist may do data engineering). Also, a machine learning team may have members from different companies: business owners will likely be internal employees, but data scientists and engineers may come from external partners.

Roles on a Machine Learning Project (机器学习项目中的角色)的更多相关文章

  1. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learning Project

    Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learn ...

  3. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习

    Lecture17 Large Scale Machine Learning大规模机器学习 17.1 大型数据集的学习 Learning With Large Datasets 如果有一个低方差的模型 ...

  4. 第二章——机器学习项目完整案例(End-to-End Machine Learning Project)

    本章通过一个例子,介绍机器学习的整个流程. 2.1 使用真实数据集练手(Working with Real Data) 国外一些获取数据的网站: Popular open data repositor ...

  5. 人工智能(Machine Learning)—— 机器学习

    https://blog.csdn.net/luyao_cxy/article/details/82383091 转载:https://blog.csdn.net/qq_27297393/articl ...

  6. 【Machine Learning】机器学习の特征

    绘制了一张导图,有不对的地方欢迎指正: 下载地址 机器学习中,特征是很关键的.其中包括,特征的提取和特征的选择.他们是降维的两种方法,但又有所不同: 特征抽取(Feature Extraction): ...

  7. 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总

    大家好,我是Mac Jiang,非常高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解 ...

  8. 壁虎书2 End-to-End Machine Learning Project

    the main steps: 1. look at the big picture 2. get the data 3. discover and visualize the data to gai ...

  9. 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

    今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...

随机推荐

  1. 扯一扯基于4046系IC的锁相电路设计

             4046系IC(下简称4046),包括最常见的CD4046(HEF4046),可以工作在更高频的74(V)HC4046,以及冷门而且巨难买到的74HC(T)7046和74HCT904 ...

  2. OSLab:实模式与保护模式

    日期:2019/5/18 12:00 内容:操作系统实验作业:x86:IA-32:实模式与保护模式. PS:如果我们上的是同一门课,有借鉴代码的铁汁请留言告知嗷.只是作业笔记,不推荐学习. 一.实模式 ...

  3. 【SQL SERVER】索引

    在做开发过程中经常会接触数据库索引,不只是DBA才需要知道索引知识,了解索引可以让我们写出更高质量代码. 索引概述 聚集索引 非聚集索引 唯一索引 筛选索引 非聚集索引包含列 索引概述 索引的存在主要 ...

  4. Markdown语法快速学习

    Markdown 简洁语法说明 0.前言 一直以来都是以word文档做笔记,存在很多问题,比如代码格式.高亮等.这次公司要求使用markdown,感觉眼前一亮,以前word的问题都得到了解决,而且可以 ...

  5. 实战级Stand-Alone Self-Attention in CV,快加入到你的trick包吧 | NeurIPS 2019

    论文提出stand-alone self-attention layer,并且构建了full attention model,验证了content-based的相互关系能够作为视觉模型特征提取的主要基 ...

  6. supervisor 的使用 (fastcgi管理)

    本文主要介绍 supervisor 对 fastcgi 进程的管理 fastcgi 进程的管理 在php 中,php-fpm 有主进程来管理和维护子进程的数量.但是并不是所有的服务都有类似的主进程来做 ...

  7. 痞子衡嵌入式:简析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特点、开启步骤、性能影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7内核的FlexRAM ECC功能. ECC是"Error Correcting ...

  8. .net core 集成 sentry 进行异常报警

    .net core 集成 sentry 进行异常报警 Intro Sentry 是一个实时事件日志记录和汇集的平台.其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈.它分为客户端和 ...

  9. maven聚合与继承笔记

    maven聚合 聚合的目的是为了快速构建项目,当我们有几个maven模块,想要一次性构建,而不是到每个模块下面去执行maven命令,这时候就需要使用maven聚合(或者称为多模块). 使用聚合的时候, ...

  10. pssh远程套件工具

                                                              pssh远程套件工具 案例5:pssh远程套件工具 5.1问题 本案例要求使用pss ...