Day 03 : ML in Production 的挑战

Day2 提到什麽是用於生产的机械学习 ML in Production ,今天来谈用於生产的机械学习所遇到的挑战,主要挑战包含:

  • 要是整合性的机械学习系统。
  • 要持续地在生产环境中维运。
  • 要处理持续改变的资料流。
  • 要控制电脑运算资源与成本。

而之所以成为挑战,笔者设想学用两端落差,摘述如下:

"O 到 1" 与 "1 到 N" 是不同层次的问题

  • 相信学习人工智慧领域的人有越来越早触及的趋势,您可能在大学就有优秀又有热诚的老师开设 "从0到1" 的人工智慧、机械学习、深度学习课程,研究所、研究室也有专题或论文指引方向解决问题,甚至您可能苦笑又自豪地说我就是个自学仔,取之於网路资源开始 AI 之路,您的坚持与努力都让笔者相当钦佩,也真心崇拜与感谢如:李弘毅、林轩田、蔡炎龙等大神,犹如醍醐灌顶苦海明灯。
  • 但 "1到N" 指的是将已有的 AI 模型布署到服务数以万计、亿计人流的商业服务时,现况是学子们非常难有产业经验,甚至许多企业也摸索不得其门,毕竟购置算力开销不小,投入成本跟效益难以估算。也有来自 KDnuggets 的文章引述 2019 年有 87% AI 止步於落地之前,另外一篇文章也指出 AI 新创阵亡率高达 9 成。

学习 ML/DL 像挑战登高,回首还有 Data 洪流

  • AI 演算法兴起讨论自 2016 年 AlphaGo 进展从 DNN、CNN、RNN、LSTM 到 GAN、BERT、Tramsformer、GTP-3、YOLO 等屡有突破,有幸能躬逢其盛,要追的论文很多,就像高山一样追不完,能看懂演算模型诚属不易、历经层层神经网套用 PyTroch 、 TensorFlow 的摧残,在学习之路上回头山峰很高,惊觉实践时还有个资料洪流,时不时还要溯溪泛舟。
  • 资料坑是在挽起袖子实际训练 AI 时就会遇到的难题,蒐集资料、标注资料、清洗资料及特徵工程,或许在初学时还可以先拿 IRIS、MNIST、波士顿房价、 ImageNet 等资料集「硬 Train 一波」再说,但是商务情境之下资料品质的问题会被放大,诸如手写辨识的目标是连人都看不懂鬼画符,不知何时"割韭菜"跟"航海王"词义已经变化,AI 要落地就不得不面耗费80%心力与资料搏斗,「屡 Train 不停」。

AI 数据竞赛练功坊,与用於生产的任务有差

  • 学习人工智慧领域,透过AI建模解决问题,或提出新型模型应用、参加 Kaggle 数据竞赛,是现今主流学习人工智慧的趋势,也是培养 AI 人才的好方法,但仍有盲点存在:
    1. 竞赛的资料可控程度较高,是「给定的资料集」,并且有特徵栏位说明,简化了其变动程度,好让竞赛焦点集中在资料标注、特徵工程、模型优化,提出更好的预测结果。
    2. 追求预测的准确率 Accuracy 指的是平均准确率,最终比赛目标关注整体准确率,但对於隐藏在资料集的极端分布或错误修正并非关注焦点,「 Responsible AI 」讨论到 AI 系统的公平性、可解释性、隐私性与安全性, ML 产品服务经不起种族、性别、就业歧视的指责,但数据竞赛不见得要为此考量。
    3. 提交一次性预测模型给竞赛平台或给定研究解决方案,优异训练成果,测试也不错,但布署到现实世界所需的「持续优化任务」,通常到了业界才会碰触。

      吴恩达也举办了以资料为中心的ML竞赛,改锁定ML模型,参赛者以资料工程手段改进训练成果,就是希望能把焦点转移到改进资料品质中。

不愿意面对的真相,你的 ML Code 只是冰山一角

营运烧钱难以想像

最後,我们学习过程喜爱的笔记本环境,只是工具链的一环

  • Jupyter Notebooks 是数据科学团队善用的工具,学习与分享都很方便,但部署 ML 到生产情境时,所要接触的绝不能仅止於此,以学习经验而言,除非刻意接触或有演练机会,不然同时具备 ML + DevOps 能力者是相当缺乏的,也是非战之罪。

是说有没有 ML 完整解决方案?

  • 云端大厂有提供 ML 完整解决方案,举例如 Azure Machine Learning Studio 就是,个人觉得 Azure 最好的地方就是文件跟说明完整,入门起来较不排斥,可以在您熟悉的资料科学领域加值,本系列文後续再作介绍。

小结

  • 今天整理了「用於生产中的机械学习」与学习取向、研究取向、模型竞赛取向的 ML/DL 领域2者间的差异,意识到中间的挑战与落差原因,如果您正在起步学习人工智慧,那本篇可以提供您不同面向的思考观点。
  • 希望後续能持续提供有助益的乾货,烧脑中,我们明天见。
    /images/emoticon/emoticon07.gif

参考


<<:  Day1 - 导读 带你认识资料科学所需套件

>>:  Day3 - Yolo? 那是什麽? 能喝吗?

作为CISO最关键的任务-开发资讯安全性管理系统

在这四个选项中,开发信息安全管理系统(ISMS)是最合适,最关键的。ISMS从管理承诺和政策开始,这...

铁人赛27天scss杂纪

今天还是想想不到写啥,所以只能又来继续骗天数罗,今天就是会把原本笔记上面的东西,没有提到部分记录在这...

【从实作学习ASP.NET Core】Day03 | Controller 控制器

今天我们就来实作看看 Controller 控制器吧! 这篇可以搭配官方说明文件食用:Part 2...

Day20 - this&Object Prototypes Ch3 Objects - Review 开头

Object Contents 虽然 Object 的 property 是 key (也就是 n...

Day6 跟着官方文件学习Laravel-DB设定

今天要设定DB,我们用docker来装DB,首先我们先装docker brew install do...