Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
mlinfra
is the swiss army knife for deploying scalable MLOps infrastructure. It aims to make MLOps infrastructure deployment easy and accessible to all ML teams by liberating IaC logic for creating MLOps stacks which is usually tied to other frameworks.
Contribute to the project by opening a issue or joining project roadmap and design related discussion on discord. Complete roadmap will be released soon!
mlinfra
requires the following to run perfectly:
terraform
>= 1.8.0
should be installed on the system.mlinfra
can be installed simply by creating a python virtual environment and installing mlinfra
pip package
python -m venv venv
source venv/bin/activate
pip install mlinfra
Copy a deployment config from the examples folder, change your AWS account in the config file, configure your AWS credentials and deploy the configuration using
mlinfra terraform --action apply --stack-config-path <path-to-your-config>
For more information, read the mlinfra user guide
The core purpose is to build for all cloud and deployment platforms out there. Any user should be able to just change the cloud provider or runtime environment (whether it be linux or windows) and have the capability to deploy the same tools.
Currently a lot of work has been done around AWS
This project will be supporting the following providers:
mlinfra
intends to support as many MLOps tools deployable in a platform in their standalone as well as high availability across different layers of an MLOps stack:
mlinfra
deploys infrastructure using declarative approach. It requires resources to be defined in a yaml
file with the following formatname: aws-mlops-stack
provider:
name: aws
account-id: xxxxxxxxx
region: eu-central-1
deployment:
type: cloud_vm # (this would create ec2 instances and then deploy applications on it)
stack:
data_versioning:
- lakefs # can also be pachyderm or lakefs or neptune and so on
secrets_manager:
- secrets_manager # can also be vault or any other
experiment_tracker:
- mlflow # can be weights and biases or determined, or neptune or clearml and so on...
orchestrator:
- zenml # can also be argo, or luigi, or airflow, or dagster, or prefect or flyte or kubeflow and so on...
orchestrator:
- aws-batch # can also be aws step functions or aws-fargate or aws-eks or azure-aks and so on...
runtime_engine:
- ray # can also be horovod or apache spark
artifact_tracker:
- mlflow # can also be neptune or clearml or lakefs or pachyderm or determined or wandb and so on...
# model registry and serving are quite close, need to think about them...
model_registry:
- bentoml # can also be mlflow or neptune or determined and so on...
model_serving:
- nvidia triton # can also be bentoml or fastapi or cog or ray or seldoncore or tf serving
monitoring:
- nannyML # can be grafana or alibi or evidently or neptune or mlflow or prometheus or weaveworks and so on...
alerting:
- mlflow # can be mlflow or neptune or determined or weaveworks or prometheus or grafana and so on...
pip install -r requirements-dev.txt
examples
folder by running cd src
and invoke terraform --stack-config-path examples/<application>/<cloud>-<application>.yaml --action <action>
where <action>
corresponds to terraform actions such as plan
, apply
and destroy
.For more information, please refer to the Engineering Wiki of the project (https://mlinfra.io/user_guide/) regarding what are the different components of the project and how they work together.
The mlinfra
library is distributed under the Apache-2 license.
FAQs
A tool to deploy mlops tooling at the click of a button.
We found that mlinfra demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.