1 Overview
A lot of heavy lifting involved to bring intelligent applications to deployment environments.
MLV is the process to transform and optimize machine learning execution from its development form to deployment form.
MLC Goal: 1. Integration and Dependency Minimization 2. Leverage Hardware Native Acceleration 3. Optimization in General 1. Minimize memory usagfe 2. Improve execution efficiency 3. Scaling to multiple heterogeneous nodes
(Deployment form also applies to training besides inference needs, e.g., on-device intelligence for privacy reasons, scaling out)
Reasons to Study MLC: 1. Build ML Deployment Solutions 2. In-depth Understanding of Existing Frameworks 3. Build Software Stack for Emerging Hardware 4. MLC is Fun
Key elements in machine learning compilation
- Tensor
- Tensor Functions
Abstraction and Implementation
MLC as Tensor Function Transformation (with different abstractions)
- Computational Graph
- Tensor Programs
- Libraries and Runtimes
- Hardware Primitives
