MLOPs is the expertise that streamlines the process of building, training, testing, deploying and tracking the versioned results of an AI model. We have developed several separate tracks for implementing MLOps based on industry standard technologies that covers most cases of AI projects, leveraging our deep knowledge and expertise of digital product DevOps.
Our MLOps pipelines are created with the following technology stack:
Tech stack
- JupyterNotebooks, for experimentation, local development and quick visualisation of results
- Gradio, for rapid generated frontend interfaces for AI models
- Github, for version control of production ai endpoint code
- Github actions, for automation of build, train, test and deployment workflows
- DVC, for documenting AI model versions, AI model data and reporting on their corresponding performance / accuracy scores
- Amazon S3, GCP Cloud Storage, Azure Blob storage for hosting AI training data and AI model data
- Single Function service template
Deployment
At Lifely, we have two approaches to deploying AI models that cover most of the possible AI implementation scenarios. Both methods use the aforementioned techstack, and only differ in the way the models are deployed to production:
- Incidental invocation, leveraging serverless technology to expose AI models
- Amazon Lambda, GCP Cloud Functions, Azure Functions, for wrapping AI models in functions that can be deployed in serverless environment, possibly leveraging GPU technology
- Continuous invocation, leveraging container-based infrastructure to continuously expose heavily used AI models
- Docker based infrastructure, for deploying AI models in a server based environment for continuous, low latency processing
- StatusCake, for AI model endpoint uptime monitoring
AI development workflow
- collect data
- Elicit datasets from client
- database dump
- API access
- manual CSV/Excel files
- RPA collected from legacy system
- manually inspect available dataset
- manually preprocessing dataset
- create proof of concept in jupyternotebooks
- choose (pretrained) model
- ai model training code (if not pretrained)
- ai model pretrained modeldata output
- if necessary, manual model result checking
- ai model results/metrics code
- ai model serving code
- create Gradio interface for demonstration purposes
- decide between incidental invocation or continuous invocation deployment model
- create accounts and access keys for AI training data and AI model data hosting
- initiate production ai model git repository