SZTU-Courses / paper-reading-and-notes

2 stars 0 forks source link

ApproxIFER: A Model-Agnostic Approach to Resilient and Robust Prediction Serving Systems #1

Open SZTU-Courses opened 2 years ago

SZTU-Courses commented 2 years ago

Erasure coding 与model serving的结合,最开始的一篇文章有看过Parity models: erasure-coded resilience for prediction serving systems,没想到22年还有进展,mark先

SZTU-Courses commented 2 years ago

这篇文章首先 diss 了最早的那个 parity m,它的主要缺点在于无法大规模,并且鲁棒性存在问题。于是他们提出了一个近似的基于编码的推理系统。 We propose a different approach, named Approximate Coded Inference (ApproxIFER), that does not require training of any parity models, hence it is agnostic to the model hosted by the cloud and can be readily applied to different data domains and model architectures

SZTU-Courses commented 2 years ago

这是传统的 parity m: 引用知乎一段评价:

作者:陈乐群 链接:https://www.zhihu.com/question/336446443/answer/872624113 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这是一篇脑洞大开的作品,他们自己的说法就是 “RAID for computation”。应用场景是在 serve ML model 的时候,因为种种原因(网络、计算、宕机等等),prediction service 有可能无法在规定的时间内返回结果。把一个 query 直接发给多个 prediction service 然后返回最快的答案会极大地浪费计算资源。他们提出的办法是,把多个输入 encode 成一个新的 parity input,然后让不同的 prediction service 计算原来的输入以及这个新增的 parity input。如果有的 service 没能按时返回结果,就可以根据剩下的结果 decode 出来缺失的这个结果。他说他们之前假想的方案是学一个很厉害的 encoder/decoder,我对昨天的 talk 大概就是这个理解,所以感觉特别不靠谱。他们说他们也发现了这个不靠谱,所以换了一个方法。他们的方法是让 encoder/decoder 非常简单,比方说 encoder 直接就是把输入接起来或者加起来,decoder 就是结果相减之类的。他们转而去训练一个 parity model。Parity model 本身和原 model 是一样的,只是输入输出经过了 encoder/decoder。他们的 evaluation 说准确度的损失大概在 1%~7%,latency 的中位数不变,tail latency 降低了 40%。我觉得这个文章脑洞很大,但是可能完全没有实用性。一个是我觉得这个还是浪费了很多计算资源,他们说 latency 中位数不变,这说明至少半数以上的请求都没有遇到 slowdown,然而他们的方法却一定要付出额外的计算。另一个是机器学习研究人员辛辛苦苦把准确度提升了一两个点,结果他们一下子就回去了。而且如果愿意牺牲模型的准确度的话,还有其他看起来更可行的办法,比如说昨天我看到的一张海报,他们就对同一个模型调整超参训练了不同的版本。如果时间不够的话就跑精度低但是更快的版本。

image

SZTU-Courses commented 2 years ago

image