连通系统与机器学习的 MLOps 挑战在哪?这篇文章讲清楚了

机器之心报道
编辑:杜伟机器学习彻底改变了人们使用数据以及与数据交互的方式 , 提升了商业效率 , 从根本上改变了广告业的格局 , 全面变革了医疗健康技术 。但是 , 机器学习若要继续扩大其影响力和影响范围 , 开发 pipeline 必 须得到改进 。通过将数据库系统、分布式计算和应用部署等领域数十年的工作引入机器学习领域 , 机器学习系统研究可以满足这一需求 。此外 , 通过充分利用模型并行以及改进旧有解决方案 , 我们可以利用系统的重新设计来改进机器学习 。
连通系统与机器学习的 MLOps 挑战在哪?这篇文章讲清楚了
文章图片

文章图片
连通系统与机器学习的 MLOps 挑战在哪?这篇文章讲清楚了
文章图片

文章图片
过去十年 , 机器学习(ML)已经成为各种领域中无数应用和服务的重要组成部分 。得益于机器学习的快速发展 , 从医疗健康到自动驾驶等诸多领域已经出现了深刻的变革 。
机器学习在实际应用中日益增加的重要性使人们开始关注一个专注于「实践中机器学习」的新领域 , 即机器学习系统(或简称 MLOps) 。该领域连通计算机系统和机器学习 , 并从传统系统研究的视角考虑机器学习的新挑战 。
那么机器学习的挑战究竟有哪些呢?加州大学圣地亚哥分校博士生 Kabir Nagrecha 使用 D. Sculley 2015 年的论文《 Hidden Technical Debt in Machine Learning Systems 》中提出的架构 , 来描述典型 ML 系统中的问题并一一分解其组件 。
D. Sculley 论文中的 ML 系统架构 , 图源:https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
Kabir Nagrecha 重点分析了数据收集、验证和服务任务中的挑战 , 并探讨了模型训练中的一些问题 , 这是因为近年来模型训练已经成为系统开发中成本越来越高昂的部分 。
接下来我们进行一一分析 。
数据收集
虽然学界研究者对 CIFAR 或 SQuAD 等随时可用的数据集感到满意 , 但业界从业者往往需要在模型训练中手动标注并生成自定义数据集 。但是 , 创建这类数据集 , 尤其是需要领域知识时 , 需要的成本可能非常高昂 。
因此 , 这成为了 ML 系统开发者面临的一个主要挑战 。
如何解决呢?该问题最成功的解决方案之一是借鉴系统与机器学习领域的研究 。比如 , 通过结合数据管理技术与自监督学习工作 , 斯坦福大学研究者在 2017 年的论文《 Snorkel: Rapid Training Data Creation with Weak Supervision 》中提出了一种弱监督的数据编程方法 。
他们提出的 SnorkelAI 将数据集创建视作一个编程问题 , 其中用户可以为弱监督标注指定函数 , 然后通过组合和加权操作以生成高质量的标签 。这样一来 , 专家标注的高质量数据和自动标注的低质量数据可以进行融合和跟踪以确保模型训练实现准确加权 , 从而充分考虑到不同级别的标签质量 。
SnorkelAI 结合了不同来源的标签 , 以允许模型大规模地聚合和改进混合质量的标签 。图源:https://arxiv.org/pdf/1711.10160.pdf
这种方法令人联想到数据库管理系统的数据融合 , 将其应用到机器学习是一个支点和再设计 , 而不是仅仅针对 ML 的革命性创造 。通过确认系统和 ML 领域的共有问题 , 并结合数据来源 , 传统的系统技术可以应用于机器学习设置中 。
数据验证
数据验证是数据收集的后续操作 。数据质量是机器学习 pipeline 中的关键问题 。维护者如果想要为自己的系统生成高质量模型 , 则必须保证输入的数据也是高质量的 。
调整机器学习方法并不能轻易地解决这一问题 , 因而需要对 ML 系统进行调整 。幸运的是 , 虽然机器学习的数据验证是一个新问题 , 但数据验证不是 。