├── .DS_Store ├── Projects ├── MLOps-CPD-StarterKit-AutoAI-Project │ ├── MLOps-CPD2.5-SWAT-StarterKit-AutoAI-Project-v0.97.zip │ ├── ReadMe.md │ └── images │ │ ├── Image1.png │ │ ├── Image2.png │ │ ├── Image3.png │ │ └── ReadMe.md ├── MLOps-CPD-StarterKit-Scikit-learn-Project │ ├── MLOps-CPD2.5-SWAT-StarterKit-Scikit-Learn-Project-v0.14.zip │ ├── ReadMe.md │ └── images │ │ ├── Image1.png │ │ ├── Image2.png │ │ ├── Image3.png │ │ └── ReadMe.md └── ReadMe.md ├── README.md ├── Supporting-Assets └── MLOpsOSDCWest2020.pdf └── images ├── CPDIntro.png ├── CPDTotal-0.2.png ├── CPDTotal.png ├── MLOpsArch0.5.png ├── MLOpsConceptialView2.png ├── MLOpsKeyCapabilities-0.2.png ├── MLOpsKeyCapabilities.png ├── MlOps1.png ├── MlOps2.png ├── MlOpsFrameworks5.png ├── MlOpsStarterKit2.png ├── MlOpsStarterKit3.png ├── MlOpsStarterKit4.png ├── NFRForMLOps.png ├── ReadMe.md ├── VariousMlOpsFrameworks.png ├── WhatToLookForInMLOpsPlatforms-0.2.png └── WhatToLookForInMLOpsPlatforms.png /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/.DS_Store -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/MLOps-CPD2.5-SWAT-StarterKit-AutoAI-Project-v0.97.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-AutoAI-Project/MLOps-CPD2.5-SWAT-StarterKit-AutoAI-Project-v0.97.zip -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/ReadMe.md: -------------------------------------------------------------------------------- 1 | ## MLOps Starter Kit for CloudPak for Data using AutoAI 2 | 3 | This document provides the necessary information to get started with ML Operationalization using AutoAI. 4 | 5 | 6 | ### Pre-Requisites 7 | 8 | + User should have access (login id/password) to a Cloud Pak For Data (2.5.0 and above) environment 9 | + FireFox, Opera or Google Chrome Browser. 10 | 11 | 12 | ### Steps to import the Analytics Project 13 | 14 | + Login to Cloud Pak For Data with the provided url, user id and password 15 | + Click on the left top Hamburger icon (left to the text Cloud Pak For Data) to bring up the left navigation bar in the home page. 16 | 17 | 18 | ![](images/Image1.png) 19 | 20 | + Click on ‘Projects’. This will bring up the Projects page. 21 | 22 | ![](images/Image2.png) 23 | 24 | + In the Projects page, click on ‘New Project’ on right top. 25 | + In the subsequent page, click on ‘Create a Project from a sample or file’. 26 | 27 | ![](images/Image3.png) 28 | 29 | 30 | + In the next page Under ‘From a File’ tab upload the zip file provided (you should have it in the same folder where you have this ‘Read Me’.doc). 31 | + Give a Name to your project and click ‘Create’. This will create the Project. Once the project is created click ‘View New Project’. 32 | + Click the ‘Asset’ tab. In that page navigate down to ‘Notebooks’ section. Click ‘View All’ there. 33 | + In the Search bar enter ‘Overview’. Click the Search icon beside that. This will show the “Overview-AutoAI Master Notebook” as one of the top Notebooks. Click on that Name. 34 | + Please follow the instruction in this Notebook! 35 | -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image1.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image2.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/Image3.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-AutoAI-Project/images/ReadMe.md: -------------------------------------------------------------------------------- 1 | This folder contains the images used in the parent folder 2 | -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/MLOps-CPD2.5-SWAT-StarterKit-Scikit-Learn-Project-v0.14.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/MLOps-CPD2.5-SWAT-StarterKit-Scikit-Learn-Project-v0.14.zip -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/ReadMe.md: -------------------------------------------------------------------------------- 1 | ## MLOps Starter Kit for CloudPak for Data using Scikit-Learn 2 | 3 | This document provides the necessary information to get started with ML Operationalization using Scikit-Learn. 4 | 5 | 6 | ### Pre-Requisites 7 | 8 | + User should have access (login id/password) to a Cloud Pak For Data (2.5.0 and above) environment 9 | + FireFox, Opera or Google Chrome Browser. 10 | 11 | 12 | ### Steps to import the Analytics Project 13 | 14 | + Login to Cloud Pak For Data with the provided url, user id and password 15 | + Click on the left top Hamburger icon (left to the text Cloud Pak For Data) to bring up the left navigation bar in the home page. 16 | 17 | 18 | ![](images/Image1.png) 19 | 20 | + Click on ‘Projects’. This will bring up the Projects page. 21 | 22 | ![](images/Image2.png) 23 | 24 | + In the Projects page, click on ‘New Project’ on right top. 25 | + In the subsequent page, click on ‘Create a Project from a sample or file’. 26 | 27 | ![](images/Image3.png) 28 | 29 | 30 | + In the next page Under ‘From a File’ tab upload the zip file provided (you should have it in the same folder where you have this ‘Read Me’.doc). 31 | + Give a Name to your project and click ‘Create’. This will create the Project. Once the project is created click ‘View New Project’. 32 | + Click the ‘Asset’ tab. In that page navigate down to ‘Notebooks’ section. Click ‘View All’ there. 33 | + In the Search bar enter ‘Overview’. Click the Search icon beside that. This will show the “Overview-Scikit-learn Master Notebook” as one of the top Notebooks. Click on that Name. 34 | + Please follow the instruction in this Notebook! 35 | -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image1.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image2.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/Image3.png -------------------------------------------------------------------------------- /Projects/MLOps-CPD-StarterKit-Scikit-learn-Project/images/ReadMe.md: -------------------------------------------------------------------------------- 1 | This folder contains the images used in the parent folder 2 | -------------------------------------------------------------------------------- /Projects/ReadMe.md: -------------------------------------------------------------------------------- 1 | ## MLOps Starter Kit for CloudPak for Data 2 | 3 | This folder contains multiple projects to showcase ML Operationalization based on different Machine Learning Model Development Frameworks and other variations. 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ML Operationalization Starter Kit for ML Operationalization 2 | 3 | 4 | 5 | ### Contents 6 | 7 | 1. [ML Operationalization](#ml-ops-intro) 8 | 2. [Key Capabilities needed for Operationalizing Models](#ml-ops-capabilities) 9 | 3. [Frameworks for Operationalizing Models](#ml-ops-cpd-intro) 10 | 4. [IBM Cloud Pak For Data for ML Operationalization](#ml-ops-using-cpd) 11 | 5. [ML Ops Starter Kit](#ml-ops-starter-kit) 12 | 6. [ML Ops Starter Kit Projects](#ml-ops-sk-projects) 13 | 7. [Where to use ML Ops Starter Kit Projects](#ml-ops-sk-projects-usage) 14 | 8. [ML Ops Starter Kit Roadmap](#ml-ops-sk-roadmap) 15 | 9. [Contents of the Repository](#ml-ops-repo-contents) 16 | 10. [How to get Started with this Starter Kit](#ml-ops-get-started) 17 | 11. [Contributors](#ml-ops-contributors) 18 | 19 | 20 | 21 | ### ML Operationalization 22 | 23 | ML Operationalization refers to operationalization of Machine Learning Models for production use to realize business value out of those Models. 24 | 25 | ML Operationalization covers standard ML Lifecycle (CRISP-DM) overlaid with Continuous Integration/Continuous Development paradigm. It covers Data Priovisioning & Governance, Data Preparation for Model Development, Model Development, Model Validation & Governance, Infusing Model's Insight in Application and Model Monitoring in a continuous fashion. 26 | 27 | In contrast to Appplication DevOps, MLOps not only takes care of Continuous Integration and Continuous Deployment but also covers Continuous Training, Continuous Validation and Continuous Monitoring. 28 | 29 | The diagram below show the ML Ops steps and persona 30 | 31 | ![](images/MLOpsArch0.5.png) 32 | 33 | For more infornation on conceptual view of ML Operationalization please check [Operationalizing AI](https://ibm.co/AI-Ops) 34 | 35 | ### Key Capabilities needed for Operationalizing Models 36 | 37 | Here are the key Functional Capabilities those are needed in establishing ML Operationalization in an organization. 38 | 39 | ![](images/MLOpsKeyCapabilities-0.2.png) 40 | 41 | 42 | Along with these functional capabilities having right set of Non Functional Capabilities is important too 43 | 44 | 45 | ![](images/NFRForMLOps.png) 46 | 47 | 48 | ### Frameworks for Operationalizing Models 49 | 50 | 51 | There are various frameworks and platforms available for ML Operationalization with varied degree of support for required Functional and Non Functional capabilities 52 | 53 | 54 | ![](images/VariousMlOpsFrameworks.png) 55 | 56 | 57 | 58 | 59 | 60 | ### IBM Cloud Pak For Data for ML Operationalization 61 | 62 | IBM Cloud Pak For Data is an End to End platform that supports required Functional and Non Functional Capabilities required by ML Operationalization in a comprehensive manner. It is a platform to accelerate realization of business value from Machine Learning Models with an open, extensible data and AI platform that runs on any cloud. 63 | 64 | ![](images/CPDTotal-0.2.png) 65 | 66 | For detailed information about Cloud Pak For Data please check [here](https://www.ibm.com/products/cloud-pak-for-data) 67 | 68 | 69 | 70 | ### ML Ops Starter Kit 71 | 72 | **ML Ops Starter Kit** is an End 2 End framework to help one get started with ML Operationalization. It ruses components of Cloud Pak For Data. However, can be extended for any other Open Source of Propreitory ML Ops frameworks too for supporting any kind of hybrid approach. 73 | 74 | 75 | ![](images/MlOpsStarterKit4.png) 76 | 77 | 78 | 79 | ### ML Ops Starter Kit Projects 80 | 81 | ML Ops Start Kit contains a set of Get Started Projects. Each Project has Instructions, Code/Notebooks, and Data packaged together in a single asset (.zip file) that can be imported as new 'Project' in Cloud Pak For Data project in a single click. 82 | 83 | ML Ops Start Kit uses Customer Churn Use case for a communications company. The use case covers key aspects of operationalizing a customer churn model like 84 | 85 | + Merging usage data with demographic data 86 | 87 | + Automatically selecting algorithms 88 | 89 | + Adding mathematical features if needed 90 | 91 | + Monitoring the model for bias around age or gender 92 | 93 | + Checking the model's explanations on the key factors that might create customer churn, such as income or dropped calls 94 | 95 | 96 | Each Get Started project supports a specific Machine Learning framework. Right now there are 3 Get Started projects supporting 97 | + Scikit Learn 98 | + Spark MLLib 99 | + AutoAI 100 | + More frameworks; R, Tensore Flow/Keras, SPSS Modeler, etc; are coming soon. 101 | 102 | ![](images/MlOpsFrameworks5.png) 103 | 104 | 105 | 106 | ### Where to use ML Ops Starter Kit Projects 107 | 108 | + Creating End to End Demo aligned with ML Ops challenges/requirements for a use case 109 | + Enablement 110 | + Development of industry specific demos/ assets using Cloud Pak for Data 111 | 112 | ML Ops Starter Kit works on any Cloud Pak For Data cluster (that has necessary components) including [Cloud Pak For Data Experience](https://www.ibm.com/cloud/paks/experiences/cloud-pak-for-data). 113 | 114 | ML Ops Starter Kit can be potentially extended to other ML Ops frameworks in Public Cloud, Private Cloud or Hybrid Environment 115 | 116 | 117 | 118 | ### ML Ops Starter Kit Roadmap 119 | 120 | *Intended Roadmap of ML Ops Starter Kit. Can be changed based on priorities -* 121 | 122 | + **Wave 1 (on CPD 2.5)** 123 | + ML Ops covering Data Preparation, Model Development, Model Deployment & Consumption, and Model Monitoring 124 | + Using 3 Machine Learning Model development Frameworks – AutoAI, Scikit Learn and SparkMlLib 125 | + Covers following components of Cloud Pak for Data - Data Connections, Watson Studio (Data Refinery, Notebooks, Auto AI, Spark/Analytics Engine), Watson Machine Learning and Watson Open Scale 126 | 127 | + **Wave 2 (on CPD 3.0)** 128 | + End to End ML Ops covering including Model Validation using Watson Open Scale 129 | + ML Ops including Data Provisioning and Governance using Watson Knowledge Catalog 130 | 131 | + **Wave 3 (on CPD 3.0)** 132 | + ML Ops including Data Provisioning and Governance using Watson Knowledge Catalog 133 | + Virtualized Data Provisioning using Data Virtualization 134 | + Advanced CI/CD using Jenkins and Github 135 | + Configuring Open Scale using API 136 | + Additional ML Frameworks – R, Tensor Flow/Keras, Others 137 | + Other potential ML Operationalization Frameworks (Open Source) 138 | 139 | ### Contents of the Repository 140 | 141 | + A set of Get Started Projects which can be imported to Cloud Pak For Data for End to End ML Operationalization. 142 | + Supporting Assets 143 | + Best Practices and Guidelines 144 | + Short Video on ML Ops using Cloud Pak For Data 145 | + Video on Detailed steps of ML Ops process using Cloud Pak For Data 146 | + Reference Architecture 147 | 148 | ### How to get Started with this Starter Kit 149 | 150 | + If you have some environment of Cloud Pak For Data start with that. Or get your access to free edition of [Cloud Pak For Data Experience](https://www.ibm.com/cloud/paks/experiences/cloud-pak-for-data) cluster 151 | + Go to Projects folder of this Repository (refarch-ml-ops/Projects). Select the Project you want to use. Start with the project with Auto AI as that can help you establish an end to end flow in few Hrs. *Right now we have 1 project using Auto AI. We are adding more projects soon.* 152 | + Go to Supporting Assets folder of this Repository. There you would get other relevant documentations that may beneeded by you for ML Ops 153 | 154 | 155 | ### Contributors 156 | 157 | + [Shikhar Kwatra](https://www.linkedin.com/in/shikharkwatra/) 158 | + [Mak Kader](https://www.linkedin.com/in/makkader/) 159 | + [Stacey Ronaghan](https://www.linkedin.com/in/staceyronaghan/) 160 | + [Rakshith DasenahalliLingaraju](https://www.linkedin.com/in/rakshith-dasenahallilingaraju-600639100/) 161 | + [Avinash Asthana](https://www.linkedin.com/in/avinash-asthana-8a940a30/) 162 | + [Joe Kozhaya](https://www.linkedin.com/in/joe-kozhaya-b574b533/) 163 | + [John Thomas](https://www.linkedin.com/in/johnjaithomas/) 164 | + [Sourav Mazumder](https://www.linkedin.com/in/souravmazumder/) 165 | + [Sunil Dube](https://www.linkedin.com/in/sunil-dube-b861861/) 166 | 167 | Please [contact me](mailto:smazumder@us.ibm.com) for any questions. 168 | -------------------------------------------------------------------------------- /Supporting-Assets/MLOpsOSDCWest2020.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/Supporting-Assets/MLOpsOSDCWest2020.pdf -------------------------------------------------------------------------------- /images/CPDIntro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/CPDIntro.png -------------------------------------------------------------------------------- /images/CPDTotal-0.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/CPDTotal-0.2.png -------------------------------------------------------------------------------- /images/CPDTotal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/CPDTotal.png -------------------------------------------------------------------------------- /images/MLOpsArch0.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MLOpsArch0.5.png -------------------------------------------------------------------------------- /images/MLOpsConceptialView2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MLOpsConceptialView2.png -------------------------------------------------------------------------------- /images/MLOpsKeyCapabilities-0.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MLOpsKeyCapabilities-0.2.png -------------------------------------------------------------------------------- /images/MLOpsKeyCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MLOpsKeyCapabilities.png -------------------------------------------------------------------------------- /images/MlOps1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOps1.png -------------------------------------------------------------------------------- /images/MlOps2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOps2.png -------------------------------------------------------------------------------- /images/MlOpsFrameworks5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOpsFrameworks5.png -------------------------------------------------------------------------------- /images/MlOpsStarterKit2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOpsStarterKit2.png -------------------------------------------------------------------------------- /images/MlOpsStarterKit3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOpsStarterKit3.png -------------------------------------------------------------------------------- /images/MlOpsStarterKit4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/MlOpsStarterKit4.png -------------------------------------------------------------------------------- /images/NFRForMLOps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/NFRForMLOps.png -------------------------------------------------------------------------------- /images/ReadMe.md: -------------------------------------------------------------------------------- 1 | This folder contains the images used in the parent folder 2 | -------------------------------------------------------------------------------- /images/VariousMlOpsFrameworks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/VariousMlOpsFrameworks.png -------------------------------------------------------------------------------- /images/WhatToLookForInMLOpsPlatforms-0.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/WhatToLookForInMLOpsPlatforms-0.2.png -------------------------------------------------------------------------------- /images/WhatToLookForInMLOpsPlatforms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-cloud-architecture/refarch-ml-ops/d578df68dc19c79e4a2492a38ad0843162e10884/images/WhatToLookForInMLOpsPlatforms.png --------------------------------------------------------------------------------