Who is this for?

This Learning Path is for ML developers who want to use the Arm ML Inference Advisor (MLIA) to evaluate whether a model is suitable for a target before moving into deployment, graph inspection, or runtime profiling.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Use the MLIA CLI to discover target profiles and backends.
  • Run compatibility and performance analysis on LiteRT, Tensor Operator Set Architecture (TOSA), and ExecuTorch artifacts.
  • Interpret MLIA JSON output, advice, Vela estimates, and Corstone whole-model NPU performance counters.
  • (Optional) Automate checks with the MLIA Python API.
  • (Optional) Inspect results with the MLIA and Model Explorer Visual Studio Code (VS Code) extension.

Prerequisites

Before starting, you will need the following:

  • Ubuntu 24.04 LTS on x86-64, or another x86-64 Linux environment with glibc 2.39 or later
  • CPython 3.12 (>=3.12,<3.13)
  • Basic familiarity with machine learning model deployment concepts
  • Basic familiarity with command-line tools
  • VS Code 1.100 or later on your local machine, if you want to use the MLIA and Model Explorer extension

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll use MLIA to assess model suitability for Ethos-U targets before deployment. First, you’ll install MLIA, discover target profiles and backends, and compare LiteRT and TOSA artifacts with Vela. Then, you’ll analyze packaged ExecuTorch .pte artifacts with Corstone. You’ll learn that Vela provides compiler estimates and operator breakdowns, while Corstone reports whole-model NPU counters. Optionally, you’ll automate compatibility checks with the Python API.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
How do I confirm that Git LFS is set up before downloading the model artifacts?
On Ubuntu 24.04, run sudo apt update, then install Git, Git LFS, and the Python 3.12 development and virtual environment packages with sudo apt install -y git git-lfs python3.12-dev python3.12-venv libatomic1. Confirm Git LFS is available with git lfs version. Run git lfs install before you clone the repository and pull the model artifacts.
How do I verify that MLIA is installed and discover available backends and target profiles?
Activate your virtual environment with source mlia_env/bin/activate, then run mlia --help to confirm that the CLI works. To list target profiles, run mlia target list. To see available and installed backends, run mlia backend list.
Why is the FP32 LiteRT model incompatible while the INT8 model is compatible?
Ethos-U acceleration needs supported quantized integer workloads. The FP32 model lacks the needed quantization parameters, so MLIA reports accelerator_operator_percentage as 0. For the supplied INT8 model, Vela reports status as ok and accelerator_operator_percentage as 100.0 for the ethos-u85-256 profile.
How should I interpret Vela performance analysis for LiteRT and TOSA artifacts?
You get target-aware compiler estimates, including cycles, utilization, memory use, and operator-level breakdowns when available. Treat these values as estimates for NPU work rather than final latency measurements from hardware. Use the advice to identify operators that dominate estimated cycles or have low multiply-accumulate (MAC) utilization.
When should I use the MLIA Python API?
Use run_advisor() from the Python API when you want to integrate MLIA compatibility checks into a product, dashboard, workflow runner, or CI system.
Next