Has this content piece had a technical review by a TL (from a content accuracy and editorial perspective) Technical / Product content onlyThe editorial review must follow guidance from the Docs team |
) |
If part of the Tech Lead team - please use the tag 'Tech-Lead-Content'Who is your piece aimed at? (Data Scientist)Can the article be linked to another piece/area of the Community?:A Specialist User Group (Data Management |
What is the purpose of your piece? Please include a summary line at the top of the blog.Have you reviewed the content classification guidelines? Can the content be open to the public? I.e. Google. Please note |
|
Is there an urgency to publishing or preferential timeframe? NoPlease specify the most suitable section of the Community Library for publishing. UnsureEditorial checklist:Have you capitalized any Quantexa terms like 'Entity' |
Please include aliases |
This piece is designed to highlight how Quantexa is meeting ML Operations best practice and be seen as a thought leader in this space. |
In the dynamic landscape of machine learning (ML) development |
What is MLflow? |
MLflow is an open-source platform for managing the end-to-end machine learning lifecycle. It's designed to help data scientists and machine learning engineers with tracking experiments |
At Quantexa |
What issues is MLflow solving? |
MLflow addresses several critical challenges in our machine learning workflow. This enhances our overall efficiency and effectiveness. These challenges will also be faced by any client building models on top of Quantexa data. Here's how it tackles three of our most key issues: |
Reproducibility and traceability |
At Quantexa |
MLflow helps us with these issues. When models are trained |
Collaborative insight |
We want data scientists to be able to collaborate easily. MLflow fosters collaboration by providing a centralized repository for tracking and sharing experiments. This is particularly useful when it comes to gaining insight from non-technical stakeholder. Stakeholders can use the MLflow UI to access all the information they need to assess and give feedback on models. This dramatically speeds up the feedback cycle and leads to better models. It also saves time for all involved. MLflow enables data scientists to collaborate better with one another. This encourages a culture of knowledge exchange and innovation within the team. |
Data correctness |
At Quantexa |
To avoid errors slipping through |
How do we use it? |
In practice |
Feature generation |
There is a pre-processing step that transforms data produced by Quantexa Entity Resolution into a different tabular format. This new format is then used by our models for training and prediction. We record aggregate information about data produced during this pre-processing step in the form of plots and CSVs. This aggregate information is compared to previous runs to automatically highlight big discrepancies in easy-to-read files. As mentioned earlier |
Code versions and parameters for this pipeline are recorded. This allows us to always re-create the pre-processing step. It also provides an understanding of the source of the data we are training our models on. |
Here is a list of some of the information we record at this stage: |
Mean |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
A plot produced to visualize the top drifting features across countries. Country and feature names have been omitted. |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
A plot produced to visualize percentage of fields that have missing values in the Documents. These fields are used to produce features. Country and field names have been omitted. |
Model training |
We use MLflow to record model training. This can be to track multiple experiments during the prototyping phase of a project or be used as reference for models in production. All the required information is recorded such that models can be re-produced if required. |
Here is a list of some of information we record when training models |
Model hyperparametersTest metrics such as precision and recallConfusion matrix |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
An ROC curve (receiver operating characteristic curve) produced against the test set during training. |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
A cumulative gains curve produced against the test set during training. |
Staging model evaluation |
We are often iterating on our production machine learning models to improve their performance. We do this by adding more labelled examples to their training datasets or by adding more features. When we train a new model that we think should replace the existing model |
Before upgrading to any new model |
Here is a list of some of the information we record during the evaluation: |
Average size of differences in model score between the old model and new modelIndividual examples with the biggest differences in the model score between the old model and new modelIndividual examples with SHAP explainability plots |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
Explainability plot produced when the model is used for inference across unlabelled data. Feature names have been omitted. |
Center |
|
Large |
|
Accessibility |
|
Delete |
|
|
|
|
|
|
|
Visualization of the different scores produced by a model currently in production compared to the model selected to replace it. |
Conclusion |
In the dynamic realm of machine learning |
Editorial Resources |
Become a better writer ↗ |
Content models ↗ |
Quantexa writing guide ↗ |
Editing tools: Grammarly and Hemingway |
|