Skip to content

Arm backend: Add support for QAT+per-channel combo #13511

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 19, 2025

Conversation

oscarandersson8218
Copy link
Collaborator

@oscarandersson8218 oscarandersson8218 commented Aug 19, 2025

Fixes a bug where an unsupported observer was used for QAT combined with per-channel quantization.

cc @digantdesai @freddan80 @per @zingo

Fixes a bug where an unsupported observer was used for QAT combined with
per-channel quantization.

Signed-off-by: Oscar Andersson <oscar.andersson@arm.com>
Change-Id: I1691d5d22b67c3c281e91d36a16137092933b927
Copy link

pytorch-bot bot commented Aug 19, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/13511

Note: Links to docs will display an error until the docs builds have been completed.

❌ 10 New Failures, 1 Cancelled Job, 4 Unrelated Failures

As of commit 8d3c2e7 with merge base 85e5b6e (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOB - The following job was cancelled. Please retry:

BROKEN TRUNK - The following jobs failed but were present on the merge base:

👉 Rebase onto the `viable/strict` branch to avoid these failures

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 19, 2025
@oscarandersson8218 oscarandersson8218 added partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm ciflow/trunk release notes: none Do not include this in the release notes labels Aug 19, 2025
@zingo zingo merged commit 31e13b0 into pytorch:main Aug 19, 2025
232 of 249 checks passed
# Set plain fake-quant with true min/max
weight_observer_or_fake_quant_ctr = FakeQuantize
if is_per_channel:
weight_observer_or_fake_quant_ctr = PerChannelMinMaxObserver
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we need a FakeQuantize variant of this observer with qat?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you're right. Will look into a fix and proper testing of QAT.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm release notes: none Do not include this in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants