Coder Social home page Coder Social logo

lambdaml's Introduction

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 [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 (to appear).

lambdaml's People

Contributors

yuel5304 avatar bluesjjw avatar ganshaoduo avatar fanlinwang avatar mmalesev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.