From a95b3fbbc2e281004cd6f9305ac09ef77eddf5d3 Mon Sep 17 00:00:00 2001 From: jillnogold <88145832+jillnogold@users.noreply.github.com> Date: Sun, 23 Oct 2022 13:56:30 +0300 Subject: [PATCH] [Docs] update README (#2501) --- README.md | 107 +++++++++++++++-------------- docs/_static/images/mlops-core.png | Bin 0 -> 29492 bytes docs/_static/images/mlops-task.png | Bin 0 -> 22234 bytes 3 files changed, 54 insertions(+), 53 deletions(-) create mode 100644 docs/_static/images/mlops-core.png create mode 100644 docs/_static/images/mlops-task.png diff --git a/README.md b/README.md index 0582f33eec..aa423c4b7c 100644 --- a/README.md +++ b/README.md @@ -10,73 +10,74 @@

MLRun logo

+# Using MLRun +MLRun is an open MLOps platform for quickly building and managing continuous ML applications across their lifecycle. MLRun integrates into your development and CI/CD environment and automates the delivery of production data, ML pipelines, and online applications, significantly reducing engineering efforts, time to production, and computation resources. +With MLRun, you can choose any IDE on your local machine or on the cloud. MLRun breaks the silos between data, ML, software, and DevOps/MLOps teams, enabling collaboration and fast continuous improvements. -## MLRun - The Open Source MLOps Orchestration Framework +Get started with MLRun [**Tutorials and Examples**](https://docs.mlrun.org/en/latest/tutorial/index.html), [**Installation and setup guide**](https://docs.mlrun.org/en/latest/install.html), or read about [**MLRun Architecture**](https://docs.mlrun.org/en/latest/architecture.html). -MLRun enables production pipeline design using a modular strategy, where the different parts contribute to a continuous, automated, and far simpler path from research and development to scalable production pipelines, without refactoring code, adding glue logic, or spending significant efforts on data and ML engineering. +This page explains how MLRun addresses the [**MLOps Tasks**](#mlops-tasks) and the [**MLRun core components**](#core-components). -MLRun uses **Serverless Function** technology: write the code once, using your preferred development environment and simple “local” semantics, and then run it as-is on different platforms and at scale. MLRun automates the build process, execution, data movement, scaling, versioning, parameterization, outputs tracking, CI/CD integration, deployment to production, monitoring, and more. + +## MLOps tasks -Those easily developed data or ML “functions” can then be published or loaded from a [marketplace](https://www.mlrun.org/marketplace/) and used later to form offline or real-time production pipelines with minimal engineering efforts. +

mlrun-tasks


-

mlrun-flow


+The [**MLOps development workflow**](https://docs.mlrun.org/en/latest/mlops-dev-flow.html) section describes the different tasks and stages in detail. +MLRun can be used to automate and orchestrate all the different tasks or just specific tasks (and integrate them with what you have already deployed). -Data preparation, model development, model and application delivery, and end to end monitoring are tightly connected: they cannot be managed in silos. This is where MLRun MLOps orchestration comes in. ML, data, and DevOps/MLOps teams collaborate using the same set of tools, practices, APIs, metadata, and version control. +### Project management and CI/CD automation -**MLRun simplifies & accelerates the time to production.** +In MLRun the assets, metadata, and services (data, functions, jobs, artifacts, models, secrets, etc.) are organized into projects. +Projects can be imported/exported as a whole, mapped to git repositories or IDE projects (in PyCharm, VSCode, etc.), which enables versioning, collaboration, and CI/CD. +Project access can be restricted to a set of users and roles. -## Architecture +See: **Docs:** [Projects and Automation](https://docs.mlrun.org/en/latest/projects/project.html), [CI/CD Integration](https://docs.mlrun.org/en/latest/projects/ci-integration.html), **Tutorials:** [Quick start](https://docs.mlrun.org/en/latest/tutorial/01-mlrun-basics.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorial/04-pipeline.html), **Video:** [quick start](https://youtu.be/xI8KVGLlj7Q). -![pipeline](./docs/_static/images/pipeline.png) +### Ingest and process data -MLRun is composed of the following layers: +MLRun provides abstract interfaces to various offline and online [**data sources**](https://docs.mlrun.org/en/latest/concepts/data-feature-store.html), supports batch or realtime data processing at scale, data lineage and versioning, structured and unstructured data, and more. +In addition, the MLRun [**Feature Store**](https://docs.mlrun.org/en/latest/feature-store/feature-store.html) automates the collection, transformation, storage, catalog, serving, and monitoring of data features across the ML lifecycle and enables feature reuse and sharing. -- **[Feature Store](https://docs.mlrun.org/en/latest/feature-store/feature-store.html)** — collects, prepares, catalogs, and serves data features for development (offline) and real-time (online) usage for real-time and batch data. See also -[Feature store: data ingestion](https://docs.mlrun.org/en/latest/feature-store/feature-store-data-ingestion.html) and [Feature store: data retrieval](https://docs.mlrun.org/en/latest/feature-store/feature-store-data-retrieval.html), as well as the [Feature Store tutorials](https://docs.mlrun.org/en/latest/feature-store/feature-store-tutorials.html). -- **[ML CI/CD pipeline](https://docs.mlrun.org/en/latest/projects/ci-integration.html)** — automatically trains, tests, optimizes, and deploys or updates models using a snapshot of the production -data (generated by the feature store) and code from the source control (Git). -- **[Real-Time Serving Pipeline](https://docs.mlrun.org/en/latest/serving/serving-graph.html)** — Rapid deployment of scalable data and ML pipelines using real-time serverless technology, including -the API handling, data preparation/enrichment, [model serving](https://docs.mlrun.org/en/latest/serving/build-graph-model-serving.html), ensembles, driving and measuring actions, etc. -- **[Real-Time monitoring and retraining](https://docs.mlrun.org/en/latest/monitoring/index.html)** — monitors data, models, and production components and provides a feedback loop for exploring production data, identifying drift, alerting on anomalies or data quality issues, triggering re-training jobs, measuring business impact, etc. +See: **Docs:** [Ingest and process data](https://docs.mlrun.org/en/latest/data-prep/index.html), [Feature Store](https://docs.mlrun.org/en/latest/feature-store/feature-store.html), [Data & Artifacts](https://docs.mlrun.org/en/latest/concepts/data-feature-store.html); **Tutorials:** [Quick start](https://docs.mlrun.org/en/latest/tutorial/01-mlrun-basics.html), [Feature Store](https://docs.mlrun.org/en/latest/feature-store/basic-demo.html). -## Get started +### Develop and train models -It's easy to start using MLRun: -1. Install the MLRun service [locally using Docker](https://docs.mlrun.org/en/latest/install/local-docker.html) or [over Kubernetes Cluster](https://docs.mlrun.org/en/latest/install/kubernetes.html). Alternatively, you can use [Iguazio's managed MLRun service](https://www.iguazio.com/docs/latest-release/) -2. [Set up your client environment](https://docs.mlrun.org/en/latest/install/remote.html) to work with the service. -3. Follow the [Quick Start tutorial](https:///docs.mlrun.org/en/latest/quick-start/quick-start.html) and [Additional Tutorials and Examples](https://docs.mlrun.org/en/latest/howto/index.html) to learn how to use MLRun to develop and deploy machine learning applications to production.
+MLRun allows you to easily build ML pipelines that take data from various sources or the Feature Store and process it, train models at scale with multiple parameters, test models, tracks each experiments, register, version and deploy models, etc. MLRun provides scalable built-in or custom model training services, integrate with any framework and can work with 3rd party training/auto-ML services. You can also bring your own pre-trained model and use it in the pipeline. -For hands-on learning, try the [MLRun Katakoda Scenarios](https://www.katacoda.com/mlrun). And you can watch the [Tutorial on Youtube](https://www.youtube.com/embed/O6g1pJJ609U) to see the flow in action. +See: **Docs:** [Develop and train models](https://docs.mlrun.org/en/latest/development/index.html), [Model Training and Tracking](https://docs.mlrun.org/en/latest/development/model-training-tracking.html), [Batch Runs and Workflows](https://docs.mlrun.org/en/latest/concepts/runs-workflows.html); **Tutorials:** [Train & Eval Models](https://docs.mlrun.org/en/latest/tutorial/02-model-training.html), [Automated ML Pipeline](https://docs.mlrun.org/en/latest/tutorial/04-pipeline.html); **Video:** [Training models](https://youtu.be/bZgBsmLMdQo). -## MLRun documentation +### Deploy models and applications -Read more in the MLRun documentation, including: -- MLRun basics - - [What is MLRun?](https://docs.mlrun.org/en/latest/index.html) - - [Quick-Start Guide](https://docs.mlrun.org/en/latest/quick-start/quick-start.html) - - [Tutorials and examples](https://docs.mlrun.org/en/latest/howto/index.html) - - [Installation and setup guide](https://docs.mlrun.org/en/latest/install.html) -- Concepts - - [Projects](https://docs.mlrun.org/en/latest/projects/project.html) - - [MLRun serverless functions](https://docs.mlrun.org/en/latest/concepts/functions-concepts.html) - - [Data stores and data items](https://docs.mlrun.org/en/latest/concepts/data-feature-store.html) - - [Feature store](https://docs.mlrun.org/en/latest/feature-store/feature-store.html) - - [Runs, functions, and workflows](https://docs.mlrun.org/en/latest/concepts/runs-experiments-workflows.html) - - [Artifacts and models](https://docs.mlrun.org/en/latest/store/artifacts.html) - - [Deployment and monitoring](https://docs.mlrun.org/en/latest/concepts/deployment-monitoring.html) -- Working with data - - [Data ingestion](https://docs.mlrun.org/en/latest/feature-store/feature-store-data-ingestion.html) - - [Data retrieval](https://docs.mlrun.org/en/latest/feature-store/feature-store-data-retrieval.html) - - [Tutorials](https://docs.mlrun.org/en/latest/feature-store/feature-store-tutorials.html) -- Develop Functions and models - - [Creating and using functions](https://docs.mlrun.org/en/latest/runtimes/functions.html) - - [Run, track, and compare jobs](https://docs.mlrun.org/en/latest/runtimes/run-track-compare-jobs.html) -- Deploy ML applications - - [Real-time serving pipelines (graphs)](https://docs.mlrun.org/en/latest/serving/serving-graph.html) - - [Model serving pipelines](https://docs.mlrun.org/en/latest/serving/build-graph-model-serving.html) - - [CI/CD, rolling upgrades, git](https://docs.mlrun.org/en/latest/model_monitoring/ci-cd-rolling-upgrades-git.html) -- References - - [API](https://docs.mlrun.org/en/latest/api/index.html) - - [CLI](https://docs.mlrun.org/en/latest/cli.html) - - [Glossary](https://docs.mlrun.org/en/latest/glossary.html) +MLRun rapidly deploys and manages production-grade real-time or batch application pipelines using elastic and resilient serverless functions. MLRun addresses the entire ML application: intercepting application/user requests, running data processing tasks, inferencing using one or more models, driving actions, and integrating with the application logic. + +See: **Docs:** [Deploy models and applications](https://docs.mlrun.org/en/latest/deployment/index.html), [Realtime Pipelines](https://docs.mlrun.org/en/latest/serving/serving-graph.html), [Batch Inference](https://docs.mlrun.org/en/latest/concepts/TBD.html), **Tutorials:** [Realtime Serving](https://docs.mlrun.org/en/latest/tutorial/03-model-serving.html), [Batch Inference](https://docs.mlrun.org/en/latest/tutorial/07-batch-infer.html), [Advanced Pipeline](https://docs.mlrun.org/en/latest/tutorial/07-batch-infer.html); **Video:** [Serving models](https://youtu.be/OUjOus4dZfw). + +### Monitor and alert + +Observability is built into the different MLRun objects (data, functions, jobs, models, pipelines, etc.), eliminating the need for complex integrations and code instrumentation. With MLRun, you can observe the application/model resource usage and model behavior (drift, performance, etc.), define custom app metrics, and trigger alerts or retraining jobs. + +See: **Docs:** [Monitor and alert](https://docs.mlrun.org/en/latest/monitoring/index.html), [Model Monitoring Overview](https://docs.mlrun.org/en/latest/monitoring/model-monitoring-deployment.html), **Tutorials:** [Model Monitoring & Drift Detection](https://docs.mlrun.org/en/latest/tutorial/05-model-monitoring.html). + + + +## MLRun core components + +

mlrun-core


+ +MLRun includes the following major components: + +[**Project Management:**](https://docs.mlrun.org/en/latest/projects/project.html) A service (API, SDK, DB, UI) that manages the different project assets (data, functions, jobs, workflows, secrets, etc.) and provides central control and metadata layer. + +[**Serverless Functions:**](https://docs.mlrun.org/en/latest/runtimes/functions.html) automatically deployed software package with one or more methods and runtime-specific attributes (such as image, libraries, command, arguments, resources, etc.). + +[**Data & Artifacts:**](https://docs.mlrun.org/en/latest/concepts/data-feature-store.html) Glueless connectivity to various data sources, metadata management, catalog, and versioning for structures/unstructured artifacts. + +[**Feature Store:**](https://docs.mlrun.org/en/latest/feature-store/feature-store.html) automatically collects, prepares, catalogs, and serves production data features for development (offline) and real-time (online) deployment using minimal engineering effort. + +[**Batch Runs & Workflows:**](https://docs.mlrun.org/en/latest/concepts/runs-workflows.html) Execute one or more functions with specific parameters and collect, track, and compare all their results and artifacts. + +[**Real-Time Serving Pipeline:**](https://docs.mlrun.org/en/latest/serving/serving-graph.html) Rapid deployment of scalable data and ML pipelines using real-time serverless technology, including API handling, data preparation/enrichment, model serving, ensembles, driving and measuring actions, etc. + +[**Real-Time monitoring:**](https://docs.mlrun.org/en/latest/monitoring/index.html) monitors data, models, resources, and production components and provides a feedback loop for exploring production data, identifying drift, alerting on anomalies or data quality issues, triggering retraining jobs, measuring business impact, etc. diff --git a/docs/_static/images/mlops-core.png b/docs/_static/images/mlops-core.png new file mode 100644 index 0000000000000000000000000000000000000000..4c066cb4b328ae7a92fbcacc9576c04a5b924bf9 GIT binary patch literal 29492 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 literal 0 HcmV?d00001