{"id":13472277,"url":"https://github.com/mercari/ml-system-design-pattern","last_synced_at":"2026-01-26T13:02:50.951Z","repository":{"id":37761089,"uuid":"257829003","full_name":"mercari/ml-system-design-pattern","owner":"mercari","description":"System design patterns for machine learning","archived":false,"fork":false,"pushed_at":"2021-10-07T21:57:44.000Z","size":7899,"stargazers_count":2775,"open_issues_count":9,"forks_count":334,"subscribers_count":75,"default_branch":"master","last_synced_at":"2025-10-22T10:47:00.685Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mercari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-22T07:46:56.000Z","updated_at":"2025-10-22T06:57:17.000Z","dependencies_parsed_at":"2022-07-12T16:45:06.004Z","dependency_job_id":null,"html_url":"https://github.com/mercari/ml-system-design-pattern","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mercari/ml-system-design-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mercari%2Fml-system-design-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mercari%2Fml-system-design-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mercari%2Fml-system-design-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mercari%2Fml-system-design-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mercari","download_url":"https://codeload.github.com/mercari/ml-system-design-pattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mercari%2Fml-system-design-pattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28778729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T11:46:04.308Z","status":"ssl_error","status_checked_at":"2026-01-26T11:46:02.664Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:00:53.491Z","updated_at":"2026-01-26T13:02:50.934Z","avatar_url":"https://github.com/mercari.png","language":null,"funding_links":[],"categories":["Others","Table of Contents","📚 Project Purpose"],"sub_categories":["Machine Learning (Interview-Level"],"readme":"[Japanese](./README_ja.md) [Korean](./README_ko.md)\n# Machine learning system design pattern\nThis repository contains system design patterns for training, serving and operation of machine learning systems in production.\n\n## Objectives\nThe main objective of this document is to explain system patterns for designing machine learning system in production. \u003cbr\u003e\nThis 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.\n\u003cbr\u003e\n\n## Prerequisites\nAll 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.\n\u003cbr\u003e\n\n## For reading\nPlease refer below for reading:\u003cbr\u003e\n[GitHub Pages](https://mercari.github.io/ml-system-design-pattern/)\n\n## Sample implementations\nSome sample implementations are available below.\nhttps://github.com/shibuiwilliam/ml-system-in-actions\n\n## Patterns\n### [Serving patterns](./Serving-patterns/README.md)\nThe serving patterns are a series of system designs for using machine learning models in production workflow.\n- [Web single pattern](./Serving-patterns/Web-single-pattern/design_en.md)\n\n\n- [Synchronous pattern](./Serving-patterns/Synchronous-pattern/design_en.md)\n\n\n- [Asynchronous pattern](./Serving-patterns/Asynchronous-pattern/design_en.md)\n\n\n- [Batch pattern](./Serving-patterns/Batch-pattern/design_en.md)\n\n\n- [Prep-pred pattern](./Serving-patterns/Prep-pred-pattern/design_en.md)\n\n\n- [Microservice vertical pattern](./Serving-patterns/Microservice-vertical-pattern/design_en.md)\n\n\n- [Microservice horizontal pattern](./Serving-patterns/Microservice-horizontal-pattern/design_en.md)\n\n\n- [Prediction cache pattern](./Serving-patterns/Prediction-cache-pattern/design_en.md)\n\n\n- [Data cache pattern](./Serving-patterns/Data-cache-pattern/design_en.md)\n\n\n- [Prediction circuit break pattern](./Serving-patterns/Prediction-circuit-break-pattern/design_en.md)\n\n\n- [Multiple stage prediction pattern](./Serving-patterns/Multiple-stage-prediction-pattern/design_en.md)\n \n- [Serving template pattern](./Serving-patterns/Serving-template-pattern/design_en.md)\n\n- Edge prediction pattern: To do\n\n- [Antipatterns](./Serving-patterns/Anti-patterns/README.md)\n\n  - [Online bigsize pattern](./Serving-patterns/Anti-patterns/Online-bigsize-pattern/design_en.md)\n\n  - [All-in-one pattern](./Serving-patterns/Anti-patterns/All-in-one-pattern/design_en.md)\n\n### [QA patterns](./QA-patterns/README.md)\nPattens to evaluate model as well as prediction server.\n- [Shadow AB-testing pattern](./QA-patterns/Shadow-ab-test-pattern/design_en.md)\n\n\n- [Online AB-testing pattern](./QA-patterns/Online-ab-test-pattern/design_en.md)\n\n\n- [Loading test pattern](./QA-patterns/Loading-test-pattern/design_en.md)\n\n- [Antipatterns](./QA-patterns/Anti-patterns/README.md)\n\n  - [Offline-only pattern](./QA-patterns/Anti-patterns/Offline-only-pattern/design_en.md)\n\n### [Training patterns](./Training-patterns/README.md)\nPatterns to construct training pipeline.\n- [Batch training pattern](./Training-patterns/Batch-training-pattern/design_en.md)\n\n\n- [Pipeline training pattern](./Training-patterns/Pipeline-training-pattern/design_en.md)\n\n\n- [Parameter and architecture search pattern](./Training-patterns/Parameter-and-architecture-search-pattern/design_en.md)\n\n\n- [Antipatterns](./Training-patterns/Anti-patterns/README.md)\n\n  - [Only-me pattern](./Training-patterns/Anti-patterns/Only-me-pattern/design_en.md)\n\n  - [Training code in serving pattern](./Training-patterns/Anti-patterns/Training-code-in-serving-pattern/design_en.md)\n\n  - [Too many pipes pattern](./Training-patterns/Anti-patterns/Too-many-pipes-pattern/design_en.md)\n\n### [Operation patterns](./Operation-patterns/README.md)\nThe operation patterns contain configuration, logging, monitoring and alerting system designs for machine learning system.\n- [Model-in-image pattern](./Operation-patterns/Model-in-image-pattern/design_en.md)\n\n\n- [Model-load pattern](./Operation-patterns/Model-load-pattern/design_en.md)\n\n\n- [Data model versioning pattern](./Operation-patterns/Data-model-versioning-pattern/design_en.md)\n\n\n- [Prediction log pattern](./Operation-patterns/Prediction-log-pattern/design_en.md)\n\n\n- [Prediction monitoring pattern](./Operation-patterns/Prediction-monitoring-pattern/design_en.md)\n\n\n- [Parameter-based serving pattern](./Operation-patterns/Parameter-based-serving-pattern/design_en.md)\n\n\n- [Condition-based-serving pattern](./Operation-patterns/Condition-based-serving-pattern/design_en.md)\n\n- [Antipatterns](./Operation-patterns/Anti-patterns/README.md)\n\n  - [No logging pattern](./Operation-patterns/Anti-patterns/No-logging-pattern/design_en.md)\n\n  - [Nobody knows pattern](./Operation-patterns/Anti-patterns/Nobody-knows-pattern/design_en.md)\n\n\n### [Lifecycle patterns](./Lifecycle-patterns/README.md)\nThe lifecycle patterns contain composition of several patterns to realize actual ML system with operation.\n- [Train-then-serve pattern](./Lifecycle-patterns/Train-then-serve-pattern/design_en.md)\n\n\n- [Training-to-serving pattern](./Lifecycle-patterns/Training-to-serving-pattern/design_en.md)\n\n\n- [Antipatterns](./Lifecycle-patterns/Anti-patterns/README.md)\n\n  -　Todo\n\n---\n\n## Committers\n\n * Yusuke Shibui ([@shibuiwilliam](https://github.com/shibuiwilliam))\n * Sung Yun Byeon ([@zzsza](https://github.com/zzsza))\n * Jiyeon Seo ([@jiyeonseo](https://github.com/jiyeonseo))\n * Daeyoon Jin ([@zetbouaka](https://github.com/zetbouaka))\n\n## Contribution\n\nFor adding a new pattern, please use [template_design.md](./template_design.md) as a template, and raise an issue and later PR.\u003cbr\u003e\nFor adding a new antipattern, please use [template_antipattern.md](./template_antipattern.md) as a template, and raise an issue and later PR.\u003cbr\u003e\nTo request for improvement, change or question, please propose an issue.\u003cbr\u003e\n\nPlease read the CLA carefully before submitting your contribution to Mercari.\nUnder any circumstances, by submitting your contribution, you are deemed to accept and agree to be bound by the terms and conditions of the CLA.\n\nhttps://www.mercari.com/cla/\n\n\n## License\n\nCopyright 2020 Mercari, Inc.\n\nLicensed under the [MIT License](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmercari%2Fml-system-design-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmercari%2Fml-system-design-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmercari%2Fml-system-design-pattern/lists"}