[论文解读] Production Machine Learning Pipelines: Empirical Analysis and Optimization Opportunities
本文对谷歌的3,000个生产机器学习流水线进行了大规模实证分析,揭示了非部署模型中冗余计算导致的广泛低效问题。通过引入‘模型图块’(model graphlets)并利用流水线溯源信息训练随机森林模型,构建主动检测系统,作者将浪费的计算量减少了50%,同时未牺牲模型新鲜度,证明了通过数据管理技术可实现显著的优化潜力。
Machine learning (ML) is now commonplace, powering data-driven applications in various organizations. Unlike the traditional perception of ML in research, ML production pipelines are complex, with many interlocking analytical components beyond training, whose sub-parts are often run multiple times on overlapping subsets of data. However, there is a lack of quantitative evidence regarding the lifespan, architecture, frequency, and complexity of these pipelines to understand how data management research can be used to make them more efficient, effective, robust, and reproducible. To that end, we analyze the provenance graphs of 3000 production ML pipelines at Google, comprising over 450,000 models trained, spanning a period of over four months, in an effort to understand the complexity and challenges underlying production ML. Our analysis reveals the characteristics, components, and topologies of typical industry-strength ML pipelines at various granularities. Along the way, we introduce a specialized data model for representing and reasoning about repeatedly run components in these ML pipelines, which we call model graphlets. We identify several rich opportunities for optimization, leveraging traditional data management ideas. We show how targeting even one of these opportunities, i.e., identifying and pruning wasted computation that does not translate to model deployment, can reduce wasted computation cost by 50% without compromising the model deployment cadence.
研究动机与目标
- 理解真实世界生产机器学习流水线在模型训练之外的架构复杂性、运行节奏和计算特性。
- 识别并量化机器学习流水线中的低效问题,特别是不会导致模型部署的冗余计算。
- 探索利用数据管理原则(如增量视图维护、溯源追踪和物化)带来的优化机会。
- 评估机器学习模型在预测哪些训练过的模型不会被部署方面的有效性,从而实现对浪费计算的主动修剪。
- 证明通过优化可实现显著的成本节约,且不会影响模型新鲜度或部署节奏。
提出的方法
- 作者分析了为期四个月的3,000个TFX流水线的溯源图,涉及超过450,000个训练过的模型,以提取流水线拓扑结构和执行模式。
- 他们提出了‘模型图块’(model graphlets)——一种专门的数据模型,用于表示和推理机器学习流水线中反复执行的组件,捕捉输入、预处理和训练阶段。
- 使用包括输入数据统计、预处理步骤和代码变更模式在内的特征,训练一个随机森林模型,以预测某个训练过的模型是否会部署。
- 系统基于预测的部署可能性,使用决策函数主动修剪未被部署的模型,从而在保持模型新鲜度的前提下减少浪费的计算。
- 该方法使用真实世界数据集进行评估,关键指标包括模型新鲜度和总浪费计算成本。
- 开展特征消融研究,以评估不同输入特征(如输入数据、预处理和代码变更)的相对重要性。
实验结果
研究问题
- RQ1大规模生产机器学习流水线中典型的架构拓扑和组件类型是什么?
- RQ2流水线组件重复执行之间的重叠程度如何?数据分布和模型输出在不同运行中如何演变?
- RQ3在生产流水线中,有多少比例的训练模型从未被部署?造成这种浪费计算的原因是什么?
- RQ4基于溯源和执行元数据训练的机器学习模型能否有效预测哪些模型不会被部署,从而实现主动优化?
- RQ5数据管理技术(如增量计算和物化)在多大程度上能减少浪费资源,同时不影响模型新鲜度?
主要发现
- 分析表明,生产机器学习流水线中50%的浪费计算源于被训练但从未部署到下游服务的模型。
- 通过使用基于流水线溯源信息训练的随机森林模型,主动识别并修剪此类未被部署的模型,系统将浪费计算减少了50%,且未影响模型新鲜度。
- 当修剪最多50%的浪费计算时,模型新鲜度保持在100%;但超过60%后,新鲜度急剧下降,表明存在成本节约的临界阈值。
- 仅使用输入数据特征(RF:Input)即可成为预测模型部署的最有效指标,优于包含代码变更和操作符形状在内的更复杂特征集。
- 在输入数据特征基础上增加代码变更特征(RF:History)并未带来性能提升,表明代码变更与模型部署决策无关。
- 特征消融研究显示,没有单一特征组占据主导地位,表明不同流水线特性之间存在复杂且非线性的相互作用,共同驱动预测准确性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。