embedded: add ExecuTorch Vulkan learning path for Android - #3625
Conversation
Add a new embedded learning path showing how to export Llama 3.2 1B Instruct with ExecuTorch, build the Android Vulkan runtime, and deploy, run, validate, and measure it on a Vivo X300 Pro. Signed-off-by: Ash Naik <ash.naik@arm.com>
| - Build, deploy, validate, and troubleshoot the Android `llama_main` runner on a Vivo X300 Pro. | ||
|
|
||
| prerequisites: | ||
| - A Linux host with enough disk space for the ExecuTorch source tree, Android SDK and NDK, Vulkan SDK, and the Llama checkpoint. |
There was a problem hiding this comment.
it probably doesn't need to be Linux? Can cross-compile from Mac or Windows (maybe easier in WSL admittedly)
| - A Vivo X300 Pro or a similar Android phone with USB debugging enabled. | ||
| - Access to the gated Hugging Face repository `meta-llama/Llama-3.2-1B-Instruct`. | ||
| - Working familiarity with the shell, Python virtual environments, and Android ADB workflows. | ||
|
|
There was a problem hiding this comment.
added prerequisite of Python 3.12 (either that or install it in one of the steps)
|
|
||
| minutes_to_complete: 120 | ||
|
|
||
| who_is_this_for: This Learning Path is for developers who want to export a Llama 3.2 model with ExecuTorch and run it on an Android phone through the Vulkan backend. |
There was a problem hiding this comment.
good to make this line more general about model
| Upon completion of this Learning Path, you will be able to: | ||
|
|
||
| - Prepare the Android SDK, NDK, ADB, and host Vulkan toolchain required for cross-compiling ExecuTorch. | ||
| - Fix the PyTorch version mismatch that can break ExecuTorch 1.4 builds on the host. |
There was a problem hiding this comment.
Is this a big enough / common enough problem that we want to feature it on the front page? (if it is a common issue, then it could belong here)
|
|
||
| - Prepare the Android SDK, NDK, ADB, and host Vulkan toolchain required for cross-compiling ExecuTorch. | ||
| - Fix the PyTorch version mismatch that can break ExecuTorch 1.4 builds on the host. | ||
| - Export Llama 3.2 1B Instruct to a Vulkan-ready `.pte` using the same `8da4w` and KV-cache settings as the measured run. |
There was a problem hiding this comment.
Again, as a front page, might want the more general "Export an LLM to a vulkan-ready..."
| - Android Studio or an equivalent Android SDK and NDK installation path. | ||
| - A phone connected over USB with developer mode and USB debugging enabled. | ||
| - Hugging Face access to download `meta-llama/Llama-3.2-1B-Instruct`. | ||
| - Sufficient storage for a multi-gigabyte checkpoint and exported `.pte`. |
There was a problem hiding this comment.
Could this be more specific? ie "At least xGB of storage free"
|
|
||
| - A Linux machine that can build native and Android targets. | ||
| - Android Studio or an equivalent Android SDK and NDK installation path. | ||
| - A phone connected over USB with developer mode and USB debugging enabled. |
Add a new embedded learning path showing how to export "Llama 3.2 1B Instruct" with ExecuTorch, build the Android Vulkan runtime, and deploy, run, validate, and measure it on a Vivo X300 Pro.