All Projects → DS3Lab → LambdaML

DS3Lab / LambdaML

Licence: Apache-2.0 License
Machine learning on serverless platform

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Thrift
134 projects

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.

Video Tutorials

We provide several video tutorials on YouTube.

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 [email protected] and [email protected].

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].