A platform for online learning that curtails data latency and saves you cost. For the design information, please refer to the paper Continuum: A Platform for Cost-Aware, Low-Latency Continual Learning.
WARNING: The project is in pre-alpha state. Please use with caution.
It is recommended to run Continuum with Docker 18.03+. Following is a basic walkthrough.
git clone https://github.com/All-less/continuum.git
cd continuum
# start a local swarm cluster
docker swarm init
# deploy frontends
docker stack deploy -c docker/docker-compose-frontend.yml continuum-frontend
# register application "test-app"
curl -X POST \
--header "Content-Type:application/json" \
-d '{"name":"test-app", "input_type":"doubles", "default_output":"-1.0", "latency_slo_micros":100000 }' \
http://0.0.0.0:1338/admin/add_app
# deploy a dumb backend
docker stack deploy -c docker/docker-compose-backend.yml continuum-backend
# send data to trigger retraining
curl -X POST \
--header "Content-Type:application/json" \
-d '{"data":[[1.0, 2.0]]}'\
http://0.0.0.0:1339/test-app/upload
After deploying the stack, check docker service ls
to see whether the replicas are running normally. If not, something unexpected has happened during booting the containers.
When all containers are up and running, use docker service logs <service_name>
to look at runtime logs of all components.
The project is inspired by Clipper.