Towards Demystifying Serverless Machine Learning Training
arXiv:2105.07806 · doi:10.1145/3448016.3459240
Abstract
The appeal of serverless (FaaS) has triggered a growing interest on how to use it in data-intensive applications such as ETL, query processing, or machine learning (ML). Several systems exist for training large-scale ML models on top of serverless infrastructures (e.g., AWS Lambda) but with inconclusive results in terms of their performance and relative advantage over "serverful" infrastructures (IaaS). In this paper we present a systematic, comparative study of distributed ML training over FaaS and IaaS. We present a design space covering design choices such as optimization algorithms and synchronization protocols, and implement a platform, LambdaML, that enables a fair comparison between FaaS and IaaS. We present experimental results using LambdaML, and further develop an analytic model to capture cost/performance tradeoffs that must be considered when opting for a serverless infrastructure. Our results indicate that ML training pays off in serverless only for models with efficient (i.e., reduced) communication and that quickly converge. In general, FaaS can be much faster but it is never significantly cheaper than IaaS.
References in corpus (7)
- XGBoost: A Scalable Tree Boosting System
- Lambada: Interactive Data Analytics on Cold Data using Serverless Cloud Infrastructure
- CoCoA: A General Framework for Communication-Efficient Distributed Optimization
- A Cost-based Optimizer for Gradient Descent Optimization
- An Experimental Evaluation of Large Scale GBDT Systems
- In-RDBMS Hardware Acceleration of Advanced Analytics
- Dynamic Parameter Allocation in Parameter Servers
Cited by in corpus (5)
- Serverless Data Science -- Are We There Yet? A Case Study of Model Serving
- Tiny Autoscalers for Tiny Workloads: Dynamic CPU Allocation for Serverless Functions
- FuncPipe: A Pipelined Serverless Framework for Fast and Cost-efficient Training of Deep Learning Models
- Supporting Multi-Cloud in Serverless Computing
- FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example