MLOps介绍:机器学习技术债

作者:Vincent Tatan
编译:ronghuaiyang
正文共:3392 字 8 图
预计阅读时间:10 分钟
导读
为什么机器学习是你最大的噩梦 。

MLOps介绍:机器学习技术债

文章插图
 
你最大的机器学习噩梦
【凌晨3点】快来!我们的定价全搞砸了!我们以100美元的价格卖出了13000美元的相机!在亚马逊的Best Prime Day上,机器学习出现了错误 。
假设你是亚马逊的一名ML工程师,您的团队刚刚发布了一个新的RNN定价模型,该模型可以根据购买趋势自动设置价格,你已经对该模型进行了无数次的回测和调优 。你2年的努力终于产生了结果,预计每年将产生100万的额外收入 。
你太高兴了,你预订了一个昂贵的假期来庆祝 。你在去Bahamas的路上,直到你收到…坏消息 。
你的ML模型出了问题,所有商品的价格都错了 。你疯狂地打开集成管理器进行回滚 。但为时已晚,系统已经发货了,你的“前沿ML模型”让你的公司损失了300万美元 。
第二天,你决定改一下模型的Bug 。你测试了模型 。它看起来很好 。价格分布有变化吗?数据准备有问题吗?或者来自最近下游数据的质量有变化?你拼命地绞尽脑汁,还是毫无头绪 。因此,你决定用虚拟机和不同的配置文件隔离每个下游数据,从头重新构建模型,并逐个测试它们 。你无法跟踪每个版本的更新,直到几个不眠之夜才解决了这个问题 。
【MLOps介绍:机器学习技术债】在数据或整体有变化的时候,最前沿的ML模型将成为你最大的噩梦
技术债
MLOps介绍:机器学习技术债

文章插图
 
技术债是代码实现过程中所作的权宜之计的持续成本 。这是由于为早期软件发布和更快的上市时间提供短期利益而采取的快捷方式造成的 。技术债会累加 。推迟工作以偿还债务会导致成本增加、系统脆弱和创新率降低 。
1992年,Ward Cunningham创造了这个术语来解释产品涉众的重构需求 。对于你们中间那些还不明白的人 。技术债是近藤麻理惠的对立面,他说"让我们把脏衣服扫到床底下,问题就解决了" 。
MLOps介绍:机器学习技术债

文章插图
 
同样,在人工智能和机器学习领域,我们都会增加技术债 。我们喜欢做“忍者修复”,采取诸如硬编码函数、糟糕的代码和不负责任的复制-粘贴等捷径 。如果你赶在最后期限前完成任务或交付概念证明(POC),这些都是非常好的和必要的 。但如果没有去还这些技术债,那就非常危险了 。
不是所有的债都是坏的,但不去还债是会有复利的 ——
D Sculley,机器学习系统中的隐藏债务:
https://papers.nips.cc/paper/5656-hidd-techny-debt-in-machine-Learning-ystems.pdf
我们的AI和ML在数据上运行 。错误的输入,错误的输出 。你使用的特征越多,它就变得越不稳定,尤其是当这些特征依赖于系统的许多部分时 。
你的不稳定的机器学习系统想象一下使用CRM(客户关系管理)系统构建价格歧视(类似于机票)的定价系统 。定价系统的质量将高度依赖于来自CRM的数据,而缺少特征将破坏ML中的所有结果 。
现在,假设它通过更互联的ML和其他系统连接到更多上游流的特征 。你的ML模型在最好的情况下是脆弱的,在最坏的情况下是破碎的,从而感染它的下游 。
在一个以人工智能为基础的快速发展的初创公司中,这已经成为一种常态,因为他们疯狂地赶时间去实现他们的产品,并把它们展示给他们的利益相关者 。我曾与一位在AI初创公司工作的朋友交谈,他提到他们从未使用过适当的版本控制(Git)、问题跟踪器(Jira)或任何开发Ops管理工具来开发他们的ML系统 。令人震惊的是,许多人在没有适当的DevOps和技术债务管理的情况下跳进ML/AI的炒作中 。这和用牙签造机器人是一样的 。
对于软件工程来说,DevOps非常重要 。但是对于ML产品,MLOps是不可分割的
4个最大的机器学习Pipelines的错误
MLOps介绍:机器学习技术债

文章插图
 
1) 纠缠ML系统是带有数据的机器 。通常很难做出孤立的改变(Changing Anything, Changing Everything——CACE) 。这适用于特征工程、ML调优、正则化、数据采样等 。


推荐阅读