Coder Social home page Coder Social logo

data-max-hq / ab-testing-in-ml Goto Github PK

View Code? Open in Web Editor NEW
40.0 3.0 9.0 8.04 MB

Deploy A/B testing infrastructure in a containerized microservice architecture for Machine Learning applications.

License: Apache License 2.0

Makefile 17.17% Python 76.22% Brainfuck 3.47% Shell 3.14%
abtest grafana kubernetes mlops seldon-core streamlit

ab-testing-in-ml's Introduction

A/B Testing for ML applications

Deploy A/B testing infrastructure in a containerized microservice architecture for Machine Learning applications.

Requirements

This repository uses Kubernetes, helm, ambassador, seldon-core, and seldon-core-analytics.

Getting started

Install prerequisites

  1. Install helm

    brew install helm
    
  2. Create a Kubernetes cluster: AKS, EKS, GKE or local cluster. For local clusters, one can use minikube, kind, or k3s. For instance:

    1. GKE
     gcloud container clusters create demo-cluster-ab-test \
       --zone=europe-west3-a \
       --disk-size=30GB \
       --cluster-version=1.24.12-gke.1000 \
       --machine-type=e2-highcpu-4

Train model

Prepare the model artifacts:

make train

Build container images

One can build the images locally, or use Cloud Submit:

Locally

docker build -t ab-test:a -f Dockerfile.a .
docker build -t ab-test:b -f Dockerfile.b .
docker build -t streamlit-app:v1.0.0 -f Dockerfile.streamlit .

Cloud Submit

sh build-modela.sh
sh build-modelb.sh
sh build-streamlit.sh

Deploy required components

  • emissary-ingress
make emissary
  • Prometheus
make prometheus
  • Grafana
make grafana
  • seldon-core
make seldon-core
  • podmonitor
make podmonitor

Deployment

make abtest

Start Streamlit App

make streamlit

Port-forward Grafana

make port-grafana

Contact

Sadik Bakiu (sadik [at] data-max.io)

Developed with โค at Data Max

References

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.