• Difficult to manage full machine learning model lifecycle
• The teams are disparate and releases are painful
• Most systems exist as "black boxes," little feedback during/post deployment
The tables that follow identify the detailed characteristics for that level of process maturity. The model will continue to evolve. This version was last updated in January 2020.
People | Model Creation | Model Release | Application Integration |
---|---|---|---|
• Data scientists: siloed, not in regular communications with the larger team • Data engineers (if exists): siloed, not in regular communications with the larger team • Software engineers: siloed, receive model remotely from the other team members | • Data gathered manually • Compute is likely not managed • Experiments aren't predictably tracked • End result may be a single model file manually handed off with inputs/outputs | • Manual process • Scoring script may be manually created well after experiments, not version controlled • Release handled by data scientist or data engineer alone | • Heavily reliant on data scientist expertise to implement • Manual releases each time |
People | Model Creation | Model Release | Application Integration |
---|---|---|---|
• Data scientists: siloed, not in regular communications with the larger team • Data engineers (if exists): siloed, not in regular communication with the larger team • Software engineers: siloed, receive model remotely from the other team members | • Data pipeline gathers data automatically • Compute is or isn't managed • Experiments aren't predictably tracked • End result may be a single model file manually handed off with inputs/outputs | • Manual process • Scoring script may be manually created well after experiments, likely version controlled • Is handed off to software engineers | • Basic integration tests exist for the model • Heavily reliant on data scientist expertise to implement model • Releases automated • Application code has unit tests |
People | Model Creation | Model Release | Application Integration |
---|---|---|---|
• Data scientists: Working directly with data engineers to convert experimentation code into repeatable scripts/jobs • Data engineers: Working with data scientists • Software engineers: siloed, receive model remotely from the other team members | • Data pipeline gathers data automatically • Compute managed • Experiment results tracked • Both training code and resulting models are version controlled | • Manual release • Scoring script is version controlled with tests • Release managed by Software engineering team | • Basic integration tests exist for the model • Heavily reliant on data scientist expertise to implement model • Application code has unit tests |
People | Model Creation | Model Release | Application Integration |
---|---|---|---|
• Data scientists: Working directly with data engineers to convert experimentation code into repeatable scripts/jobs • Data engineers: Working with data scientists and software engineers to manage inputs/outputs • Software engineers: Working with data engineers to automate model integration into application code | • Data pipeline gathers data automatically • Compute managed • Experiment results tracked • Both training code and resulting models are version controlled | • Automatic release • Scoring script is version controlled with tests • Release managed by continuous delivery (CI/CD) pipeline | • Unit and integration tests for each model release • Less reliant on data scientist expertise to implement model • Application code has unit/integration tests |
People | Model Creation | Model Release | Application Integration |
---|---|---|---|
• Data scientists: Working directly with data engineers to convert experimentation code into repeatable scripts/jobs. Working with software engineers to identify markers for data engineers • Data engineers: Working with data scientists and software engineers to manage inputs/outputs • Software engineers: Working with data engineers to automate model integration into application code. Implementing post-deployment metrics gathering | • Data pipeline gathers data automatically • Retraining triggered automatically based on production metrics • Compute managed • Experiment results tracked • Both training code and resulting models are version controlled | • Automatic Release • Scoring Script is version controlled with tests • Release managed by continuous integration and CI/CD pipeline | • Unit and Integration tests for each model release • Less reliant on data scientist expertise to implement model • Application code has unit/integration tests |