Code Monkey home page Code Monkey logo

ml-system-design-pattern's Introduction

Japanese Korean

Machine learning system design pattern

This repository contains system design patterns for training, serving and operation of machine learning systems in production.

Objectives

The main objective of this document is to explain system patterns for designing machine learning system in production.
This document is not the design patterns for developing machine learning model to achieve certain performance in accuracy, though some columns may refer to those use-cases.

Prerequisites

All of the ML system patterns are designed to be deployed on a public cloud or a Kubernetes cluster. The document tries not to be dependent on a certain programming language or platform as possible, though since Python is the most major language for the machine learning technology, most of the patterns can be developed with Python.

For reading

Please refer below for reading:
GitHub Pages

Sample implementations

Some sample implementations are available below. https://github.com/shibuiwilliam/ml-system-in-actions

Patterns

The serving patterns are a series of system designs for using machine learning models in production workflow.

Pattens to evaluate model as well as prediction server.

Patterns to construct training pipeline.

The operation patterns contain configuration, logging, monitoring and alerting system designs for machine learning system.

The lifecycle patterns contain composition of several patterns to realize actual ML system with operation.


Committers

Contribution

For adding a new pattern, please use template_design.md as a template, and raise an issue and later PR.
For adding a new antipattern, please use template_antipattern.md as a template, and raise an issue and later PR.
To request for improvement, change or question, please propose an issue.

Please read the CLA carefully before submitting your contribution to Mercari. Under any circumstances, by submitting your contribution, you are deemed to accept and agree to be bound by the terms and conditions of the CLA.

https://www.mercari.com/cla/

License

Copyright 2020 Mercari, Inc.

Licensed under the MIT License.

ml-system-design-pattern's People

Contributors

heumsi avatar jiyeonseo avatar krishna-gogineni-765 avatar shibuiwilliam avatar upura avatar zetbouaka avatar zzsza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ml-system-design-pattern's Issues

English grammer check

What is your issue?

I need somebody to do English grammatical check and fix them.

Why is it issue?

I am not good English writer.

How do you expect to be?

Need English professional to give PR on grammatical fixes.

English-Language Contributor?

What is your issue?

The collection of ML system design information in this repository is fantastic. It has a very intuitive structure and strikes the perfect balance between brevity and depth.

While the English language version, in particular, was well done, there are also some areas in which clarity could potentially be improved; as a native English speaker, the ideas being communicated were often not immediately obvious and often took a few rereads to identify and understand.

Why is it issue?

The information is extremely valuable and improved English phrasing may expand the reach and impact of your work. While high-quality MLOps resources have recently become more readily available, none that I've seen are as approachable and comprehensive as what is contained in this repository.

How do you expect to be?

If an English-language editor and proofreader would be useful to the project, I'd be more than happy to contribute in that capacity. In case it is helpful, I can read/speak a little Japanese;でも、少しだけ😅


P.S. Congratulations on the release of your new book!

Translate into Korean

What is your issue?

Thank you for this amazing job. I'm an engineer from Korea and working as a software engineer to create real world services using ML.
I'd like to translate this into Korean for sharing this awesome works to more engineers 🤓

Why is it issue?

How do you expect to be?

A indentation error on "Microservice vertical pattern" page

What is your issue?

Hello there, I found an indentation error on this page, located in the [Needs consideration] section.

image

Although there is no error in the Markdown file of this repo.

Why is it issue?

Maybe just a mistake

How do you expect to be?

image

Great design pattern summary anyway! 😄

antipatterns

What is your issue?

add antipatterns

Why is it issue?

better to have don'ts to avoid making mistakes

How do you expect to be?

add antipatterns under each directory

Make some edge AI patterns if possible.

What is your issue?

needs patterns for Edge AI: running machine learning on device

Why is it issue?

expected to have more usecases for Edge AI

How do you expect to be?

  • patterns for running machine learning inference in smartphone and device
  • patterns for training in smartphone and device
  • patterns for edge model management, distribution and versioning
  • patterns for performance tuning

patterns of annotation

What is your issue?

annotating dataset is an important task in ML workflow.
adding annotation in lifecycle patterns or training patterns will make the repo more productive.

Why is it issue?

annotation is difficult and time consuming task. including annotation task in a workflow in an optimized manner should be considered.

How do you expect to be?

include annotation task in lifecycle patterns or training patterns.

make diagram edittable

What is your issue?

The diagrams are made in my private files that is difficult to share others for editting.

Why is it issue?

No other contributor cannot remake diagrams based on mine.

How do you expect to be?

Other contributor can fix diagrams, or make a space to create new diagrams.

Typo: date <> data

What is your issue?

A few typos are present where data is written as date.

Why is it issue?

Because date and data have different meaning.

How do you expect to be?

Where are the issues?

I ran grep -rnw . -e '[D|d]ate' and from what I can see, the typos are there.

./README_ja.md:106:- Date model versioning pattern
./README.md:103:- Date model versioning pattern
./Lifecycle-patterns/Train-then-serve-pattern/Operation-patterns/Data-model-versioning-pattern/design_en.md:36:- Date retrieval (model-name x.y.z-DATA.split)
./Lifecycle-patterns/Train-then-serve-pattern/Operation-patterns/Data-model-versioning-pattern/design_en.md:53:#### Date retrieval (model-name x.y.z-DATA.split) and Release version (model-name X.y.z-data.split)
./Operation-patterns/Data-model-versioning-pattern/design_en.md:36:- Date retrieval (model-name x.y.z-DATA.split)
./Operation-patterns/Data-model-versioning-pattern/design_en.md:53:#### Date retrieval (model-name x.y.z-DATA.split) and Release version (model-name X.y.z-data.split)

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.