Day 02 : 用於生产的机械学习 ML in Production

ML 就像孩子一样,孩提时百般呵护,长大时不得不面对外界的残酷。布署到商务情境的 ML 模型,某方面像是放飞的孩子,既期待又怕受伤害,如果没有持续的引导、学习、检核、导正他,不慎走歪路时就会是父母及社会的痛,付出更大的成本与代价。
/images/emoticon/emoticon10.gif

为什麽我们要在意「用於生产的机械学习」

  • 自从 AlphaGo 在 2016 年大战围棋冠军事件横空出世, AI 人工智慧领域的 ML 机械学习、 DL 深度学习蓬勃发展,至今走进实际应用阶段,演算法创新与突破带来「产业人工智慧化」、「人工智慧产业化」的契机,也见到许多 AI 新创巨星殒落。 deeplearming.ai 引述资料指出,研究发现,尽管人工智能预算在增加,但只有 22% 的使用机器学习的公司成功部署了模型。换言之,八成以上的企业无法成功部署机械学习模型,问题出在哪里?
  • 许多企业意识到,公开研究成果的 ML/DL 模型足够优异,开源可以直接取用,但以自身数据训练模型时,效果往往比 COCO 、 ImageNet 等公开资料集下降许多,而且烧钱不符成本。归诸问题点,也许是模型算法的问题、调整超参数的问题、或是资料集的问题、人才的问题...,也难为资料科学团队, AI 落地真的不是件容易的事情。
  • 如果您开始觉得这是个问题,应该能接受要用更宏观的角度思考 ML 生命周期,以及关注训练模型以外的那些事。

用於生产中的机械学习 ML in Production

  • 当您将AI布署到商务情境之中,後续的营运、监控有不可忽视的重要性。在机械学习、深度学习有几位活跃的指标人物, Google Brain 创办人吴恩达绝对是其中之一,吴恩达於 2017 年成立 Landing.ai 公司提供企业缩减 AI 商业化跟概念验证等服务。同年亦成立 Deeplearning.ai 投入人工智慧领域专业技术教学,於Coursera开设诸多乾货满满的课程(也是共同创办人),终於在今年6月推出 Machine Learning Engineering for Production (MLOps) 系列课程 ,为「用於生产中的机械学习」提出架构性见解,期待将拚种研究与发明 AI 模型 "Modele-centric AI" 的焦点风气,转向同样重要的 "Data-centric AI" ,以资料中心的方法,更系统化的回推模型范畴、资料、建模训练与布署该注意的事。
  • 站在巨人的肩膀上可以看得更远,本系列文将以吴恩达提出的 ML 专案生命周期为架构,摘述并补充可行的设计模式与实务见解。

ML Engineering for Production (MLOps)

  • MLOps 是实践 AI 落地的较高效的方法,毕竟数百万人级的服务没有自动化处理是不切实际的作法,故在讨论 ML in Production 时,也会触及到 MLOps ,如果能有建构自动化 ML Pipeline ,从资料蒐集、清洗、建模、验证到布署一系列都搞定更好。在 ML Ops: Machine Learning as an Engineering Discipline 一文也阐述了认为 MLOps 可做为一学门潜力。
  • 既然 ML Pipeline 是复杂的,要兼顾弹性可拆、可控且自动化,系列文会带出 MLFLow 、 AutoML ,会介绍 TensorFlow Extended (TFX) ,其中 TFX 为了兼顾上述需求,形成了相当庞大的系列家族,将各个细目的拆成组件,且可独立运用,今年终於发布为 1.0 版,并且持续发展中。

    TFX Pipeline 是实作机器学习管线的一系列元件,专门用於可扩充的高效能机器学习工作,元件是使用 TFX 程序库所建构,而这些程序库也可以分开使用。

  • 微软 Azure 亦相当重视机器学习作业 (MLOps),文章也会适时说明 Azure 的方案。

    MLOps on Azure 可让资料科学和 IT 小组透过监视、验证及治理机器学习模型,来共同作业并增加模型开发和部署的步调。

  • 最後,布署机械学习 ML 的工程实务逐渐归纳并越受重视,也多亏软件工程 DevOps 精神兴起与 CI/CD 实务越渐普及,本系列期待透过铁人赛将系列知识做个梳理,抛砖引玉,协助衔接 ML 商务落地的一哩路,以及对 AI 有志趣者,补充除了 AI 建模以外需要关注的面向。

小结

  • 本日想说明的是,企业将 AI 模型推进至业务情境并持续维运,是相当不容易的,在此也向企业及以此为职志的资料/维运团队致上崇高敬意。越早具有成熟经验的企业将取得先机,无法踏入的企业拉锯逐渐扩大,因为改进模型成效的动能来自数据,变动的数据透过异常分析可以改善品质。
  • MLOps 关注模型成效至部署/维运阶段的任务,是工作职务也是合作精神,结合版本控制、 DevOps 等软件工程可以较有效的完成 ML 部署/维运任务。

参考


<<:  [Day 01] 单元测试是什麽?为什麽要做单元测试?

>>:  [Day2] Flutter - 建置环境

Day19什麽是JavaScript?

JavaScript JavaScript(简称JS)是个能在网站里加入互动功能的程序语言 身为一个...

【Day 28】JavaScript Promise

Promise 是甚麽? Promise 是 ES6 引入的标准之一。 Promise 字面上的意思...

Day27Java StringⅡ

接续昨天,来介绍第四种、第五种以及第六种方法! 4.代替Java String replace():...

BEM 基础介绍 DAY41

BEM B: Block(区块) E: Element(元素) __ 双下底线 M: Modifir...

大共享时代系列_016_共享餐桌

最近...有放下手边的事物,好好跟眼前的人吃顿饭吗? 你都跟谁一起吃饭? 跟家人? 跟朋友? 跟同学...