Skip to main content
QUICK REVIEW

[论文解读] PRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems

Yunseong Lee, Alberto Scolari|arXiv (Cornell University)|Oct 14, 2018
Parallel Computing and Optimization Techniques参考文献 37被引用 9
一句话总结

Pretzel 引入了一种白盒机器学习预测服务系统,通过暴露模型流水线的内部结构,优化端到端及多流水线执行,实现参数共享、物理算子复用和智能调度。与最先进的黑盒系统相比,其内存占用降低25倍,第99百分位延迟降低5.5倍,吞吐量提升4.7倍。

ABSTRACT

Machine Learning models are often composed of pipelines of transformations. While this design allows to efficiently execute single model components at training time, prediction serving has different requirements such as low latency, high throughput and graceful performance degradation under heavy load. Current prediction serving systems consider models as black boxes, whereby prediction-time-specific optimizations are ignored in favor of ease of deployment. In this paper, we present PRETZEL, a prediction serving system introducing a novel white box architecture enabling both end-to-end and multi-model optimizations. Using production-like model pipelines, our experiments show that PRETZEL is able to introduce performance improvements over different dimensions; compared to state-of-the-art approaches PRETZEL is on average able to reduce 99th percentile latency by 5.5x while reducing memory footprint by 25x, and increasing throughput by 4.7x.

研究动机与目标

  • 为解决黑盒机器学习服务系统因注重部署简便性而忽略预测时优化的问题。
  • 通过支持端到端及多流水线优化,降低机器学习推理的内存占用和延迟。
  • 通过在相似流水线间共享参数和物理算子,提升资源利用率和吞吐量。
  • 设计一种调度系统,高效绑定推理请求至共享的CPU和内存资源。
  • 在真实世界部署场景中,为类似生产环境的机器学习流水线提供高性能、低延迟的推理能力。

提出的方法

  • Pretzel 采用两阶段架构:离线阶段用于统计信息收集和模型计划编译,线上阶段用于请求执行。
  • 它将训练好的流水线编译为白盒模型计划,暴露逻辑和物理算子结构以支持优化。
  • 利用训练阶段的统计信息和内存数据系统的设计原则,应用端到端优化以最小化资源使用。
  • 多流水线优化支持在相似流水线之间共享参数(如权重、词典)和物理算子。
  • 一种新型事件驱动调度器将推理请求绑定至共享的CPU执行单元,支持并发执行和负载感知的资源池化。
  • 系统利用数据库风格的查询优化技术,包括逻辑和物理计划重写,以提升性能。

实验结果

研究问题

  • RQ1机器学习预测服务系统如何在不牺牲部署简便性的前提下,降低延迟和内存占用?
  • RQ2在推理工作负载中,跨流水线共享参数和物理算子能在多大程度上提升资源利用率?
  • RQ3在真实世界生产场景中,端到端和多流水线优化能否超越黑盒服务系统的表现?
  • RQ4与基于容器的黑盒方法相比,白盒架构如何实现更优的调度和并发性?
  • RQ5在共享资源环境中,通过编译级别优化机器学习流水线可实现多大的性能提升?

主要发现

  • 与最先进的黑盒系统(如 Clipper 和 TensorFlow Serving)相比,Pretzel 将第99百分位延迟降低了5.5倍。
  • 通过在相似流水线间共享参数和物理算子,内存占用降低了25倍。
  • 由于高效的资源池化和并发请求调度,吞吐量提升了4.7倍。
  • 在500个类似生产环境的流水线上,系统在所有关键指标上均优于 ML.Net 和 Clipper,展现出一致的性能提升。
  • 白盒架构通过暴露流水线内部结构以实现联合优化,带来了显著的性能提升。
  • 共享组件的模型共置降低了尾部延迟,并避免了因换出导致的内存压力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。