dyweb / papers-notebook

:page_facing_up: :cn: :page_with_curl: 论文阅读笔记(分布式系统、虚拟化、机器学习)Papers Notebook (Distributed System, Virtualization, Machine Learning)
https://github.com/dyweb/papers-notebook/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+-label%3ATODO-%E6%9C%AA%E8%AF%BB
Apache License 2.0
2.12k stars 244 forks source link

INFaaS: Managed & Model-less Inference Serving #152

Open gaocegege opened 5 years ago

gaocegege commented 5 years ago

https://arxiv.org/pdf/1905.13348.pdf

gaocegege commented 5 years ago

这篇论文是一个 Inference as a Service 的系统方向的论文。它最核心的地方是对模型进行了一层抽象。一个模型的架构就是模型的物理结构,比如 ResNet 或者 VGG 的建模结构。模型的架构是一个平台无关的架构,而模型的 variant 是模型架构在一个硬件平台上的版本。举个例子,比如模型 ResNet 是一个架构,而 RestNet 在 PyTorch 上为 CPU Inference 训练的一个版本就叫做 variant。

wydwww commented 5 years ago

同一拨人有个 HotOS 的文章,以及一篇博客 https://blog.acolyer.org/2019/06/14/a-case-for-managed-and-model-less-inference-serving/

gaocegege commented 5 years ago

@wydwww

嗯我觉得这篇在学术界里算是挺好的文章,虽然很简单。。

gaocegege commented 5 years ago

这篇文章具有非常浓厚的工业界的味道。基本是用传统对待 Web Service 的方式去对待模型推理服务,再加上一些针对模型推理服务独特的工作负载特点的优化(模型 variant)。

文章最主要的贡献是两个,一个是 variant 的自动选择策略,一个是自动扩缩容。

自动选择策略需要一些额外的信息,比如每个 variant 的 batch size(为特定 batch size 优化过),以及延迟等等。有了这些信息,选择策略很简单:

Screenshot from 2019-06-17 10-29-41

自动扩缩容,分为三个方式。首先就是 worker 层面的,资源不够加新的机器。其次就是推理服务层面的,横向扩展。最后就是 variant 选择的自动升级。比如 CPU 升 GPU。

总结来说,非常工业界的工作。但其中有很多重复造轮子的东西在里面,这一套下来,如果基于 Kubernetes 去做,基于 worker 的扩缩容可以直接用 Cluster Autoscaler 去做,推理服务层面的扩缩容就 HPA,最后一个需要写一些代码。

gaocegege commented 2 years ago

https://github.com/stanford-mast/INFaaS

gaocegege commented 2 years ago

https://www.usenix.org/system/files/atc21-romero.pdf