lemonviv / LambdaML

Machine learning on serverless platform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LambdaML

LambdaML is a machine learning system built in serverless infrastructure (Amazon AWS Lambda). Serverless compute service lets you run code without provisioning or managing servers, creating workload-aware cluster scaling logic, maintaining event integrations, or managing runtimes. Different from VM-based cloud compute, compute instances in serverless infrastructure cannot communicate with each other. To solve this problem, LambdaML implements various communication patterns using external storage.

Dependencies

  • awscli (version 1)
  • botocore
  • boto3
  • numpy
  • torch=1.0.1
  • thrift
  • redis
  • grpcio

Environment setup

  • Create a Lambda layer with PyTorch 1.0.1.
  • Compress the whole project and upload to Lambda.
  • Create a VPC and a security group in AWS.

Programming Interface

LambdaML leverages external storage services, e.g., S3, Elasticache, and DynamoDB, to implement communication between serverless compute instances. We provide both storage interfaces and communication primitives.

Storage

The storage layer offers basic operations to manipulate external storage.

Communication primitive

The communication layer provides popular communication primitives.

Hybrid framework.

In addition to storage services, LambdaML also implements a hybrid architecture --- one VM acts as a parameter server and serverless instances communicate with the VM.

Usage

The general usage of LambdaML:

  1. Partition the dataset and upload to S3.
  2. Create a trigger Lambda function and an execution Lambda function.
  3. Set configurations (e.g., dataset location) and hyperparameters (e.g., learning rate).
  4. Set VPC and security group.
  5. Execute the trigger function.
  6. See the logs in CloudWatch.

See examples for more details.

Contact

If you have any question or suggestion, feel free to contact jiawei.jiang@inf.ethz.ch.

Reference

Jiawei Jiang, Shaoduo Gan, Yue Liu, Fanlin Wang, Gustavo Alonso, Ana Klimovic, Ankit Singla, Wentao Wu, Ce Zhang. Towards Demystifying Serverless Machine Learning Training. SIGMOD 2021 (to appear).

About

Machine learning on serverless platform

License:Apache License 2.0


Languages

Language:Python 98.7%Language:Shell 1.2%Language:Thrift 0.1%