随着深度学习项目从实验到生产的发展,越来越多的应用需要对深度学习模型进行大规模和实时的分布式推理服务。虽然已经有一些工具可用于相关任务(如模型优化、服务、集群调度、工作流管理等等),但对于许多深度学习的工程师和科学家来说,开发和部署能够透明地扩展到大型集群的分布式推理工作流仍然是一个具有挑战性的过程。
为了应对这一挑战,我们在Analytics Zoo 0.7.0版本中发布了Cluster Serving的支持。Analytics Zoo Cluster Serving是一个轻量级、分布式、实时的模型服务解决方案,支持多种深度学习模型(例如TensorFlow*、PyTorch*、Caffe*、BigDL和OpenVINO™的模型)。它提供了一个简单的pub/sub API(发布/订阅),用户可以轻松地将他们的推理请求发送到输入队列(使用一个简单的Python API)。然后,Cluster Serving将使用分布式流框架(如Apache Spark* Streaming、Apache Flink*等等)在大型集群中进行实时模型推理和自动扩展规模。Analytics Zoo Cluster Serving的总体架构如图1所示。
图1 Analytics Zoo Cluster Serving 解决方案总体框架
Cluster Serving的工作原理
你可以按照下面的三个简单步骤使用Cluster Serving解决方案&#x