Skip to content

easeml/automl

Repository files navigation

Ease.ml/AutoML - A Scalable Auto-ML System

Logo

Ease.ml/AutoML is a declarative machine learning service platform. It enables users to upload their datasets and start model selection and tuning jobs. Given the schema of the dataset, ease.ml does an automatic search for applicable models and performs training, prediction and evaluation. All models are stored as Docker images which allows greater portability and reproducibility.

For more details, check out out recent publications:

Aguilar, Leonel, David Dao, Shaoduo Gan, Nezihe Merve Gurel, Nora Hollenstein, Jiawei Jiang, Bojan Karlas et al. "Ease. ML: A Lifecycle Management System for Machine Learning." (2020). [PDF]

T Li, J Zhong, J Liu, W Wu, C Zhang. Ease.ml: Towards Multi-tenant Resource Sharing for Machine Learning Workloads. VLDB 2018. [PDF]

Bojan Karlas, Ji Liu, Wentao Wu, Ce Zhang. Ease.ml in Action: Towards Multi-tenant Declarative Learning Services. VLDB (Demo) 2018. [PDF]

The project is being developed by the DS3 Lab at ETH Zurich and is still in its early stages. Stay tuned for more updates.

Build ease.ml/automl from source (Linux)

Prerequisites

  • go and packr2
  • nodejs and npm
  • Mongo DB
  • Docker

Install go

sudo snap install --classic go

Make sure the go binary directory is in PATH (add this to the ~/.profile file):

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

Install packr2 which we will be using to bundle the web UI files into the go binary:

go get -v -u github.com/gobuffalo/packr/v2/...

Install node and npm

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y npm

Install Mongo DB

See this page.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

If you would like to set up a different database directory

mongod --dbpath <your_new_db_path>

Install Docker

See this page.

sudo apt install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

sudo apt update

sudo apt install docker-ce

To enable execution of docker commands without sudo, add the current user to the docker group:

sudo usermod -aG docker ${USER}

su - ${USER}

Ease.ml/AutoML

Get the source code

go get -v github.com/easeml/automl

Build and Install binary from source

cd $GOPATH/src/github.com/easeml/automl/engine

#Install in GOPATH/bin
make install

# Alternative:

# Install in ALT_PATH
# ALT_PATH should be added to PATH
make install INSTALL_PATH=ALT_PATH

Run ease.ml/automl

easeml start --browser