Skip to content

zhangchi1/merlin

 
 

Repository files navigation

Overview

Merlin is a platform for deploying and serving machine learning models. The project was born of the belief that model deployment should be:

  • Easy and self-serve: Human should not become the bottleneck for deploying model into production.
  • Scalable: The model deployed should be able to handle Gojek scale and beyond.
  • Fast: The framework should be able to let user iterate quickly.
  • Cost efficient: It should provide all benefit above in a cost efficient manner.

Merlin attempts to do so by:

  • Abstracting infrastructure: Merlin uses familiar concept such as Project, Model, Version, and Endpoint as its core component and abstract away complexity of deploying and serving ML service from user.
  • Autoscaling: Merlin is built on top Knative and KFServing to provide a production ready serverless solution.

Getting Started

Local Development

Requirements:

  1. Golang 1.13
  2. NPM LTS
  3. Python 3
  4. Docker
  5. Swagger Codegen 2.X

Documentation

Go to the docs folder for the full documentation and guides.

Python SDK Documentation

Click here to getting started on using the Python SDK.

API Documentation

To explore the API documentation, run:

make swagger-ui

Client Libraries

We use Swagger Codegen to automatically generate Golang and Python clients for Merlin API. To genarate the client libraries, run:

make generate-client

Notice

Merlin is a community project and is still under active development. Your feedback and contributions are important to us. Please have a look at our contributing guide for details.

About

Kubernetes-friendly ML model management, deployment, and serving.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 48.1%
  • Python 36.3%
  • JavaScript 13.6%
  • Shell 0.7%
  • Dockerfile 0.6%
  • Makefile 0.3%
  • Other 0.4%