[ARM] Ethos-U backend wheel or alternative versioned package (to avoid dev installs from source)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 581
Description
š The feature, motivation and pitch
I might be missing a workflow, but from what I understand today itās hard to use the Arm EthosāU backend for QAT in a standard ML project environment without installing ExecuTorch + Arm requirements from source.
Concrete scenario (two python environments):
.venv-model-authoringnormal ML environment with:- custom model code
- custom data-loaders
- custom losses, optimizers
- custom training/tuning loops
- Managed with
uv(could also bepoetry/conda/pixietc.)
.venv-executorch-dev:- An environment with development ExecuTorch and Arm EthosāU backend installed from source. As instructed per documentation.
What works / what doesnāt:
- PTQ works with two envs: I can export from
.venv-model-authoringa.pt2exported-program, load it in the.venv-executorch-devenvironment and feed the representative data through. - QAT is a big struggle: seems like during the QAT loop I need pieces from both worlds - custom loaders, optimizers, losses from my authoring environment; and
arm_quantizerfrom the Executorch ARM Ethos-U backend.
Why itās difficult to ājust install ExecuTorch from sourceā into .venv-model-authoring
Mixing a source/dev install into the main training environment tends to be fragile for reproducibility and dependency management:
- the ML authoring project likely has a
uv.lockfile (or analogous), which is not respected by the source install of ExecuTorch and ARM backend. - the source install of ARM backend has hardcoded URLs (in contrast to configurable package indices) from where the dependencies are pulled, making it difficult to set up in firewall-restricted compute nodes.
- source builds are generally slower than installing pre-packaged wheels in CI jobs.
Feature Request: A published package would be very helpful.
Maybe there is an alternative workflow that allows to serialize a model, ready for QAT tuning, that does not require arm_quantizer to be available in the model authoring environment?
Alternatives
No response
Additional context
No response
RFC (Optional)
No response
cc @kimishpatel @jerryzh168 @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up ā it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the two-environment QAT workflow described in the issue, especially the need for arm_quantizer in the model-authoring environment. Determine whether a published Ethos-U backend wheel or a serialized QAT-ready model workflow can avoid source installs and hardcoded dependency URLs. Done means one supported workflow is defined for reproducible QAT use without installing ExecuTorch and the Arm backend from source.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, machine-learning, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100