Skip to content

Support activation-only PTQ (weight_qspec=None)#20433

Open
ryan-monroe wants to merge 1 commit into
pytorch:mainfrom
ryan-monroe:export-D108781361
Open

Support activation-only PTQ (weight_qspec=None)#20433
ryan-monroe wants to merge 1 commit into
pytorch:mainfrom
ryan-monroe:export-D108781361

Conversation

@ryan-monroe

@ryan-monroe ryan-monroe commented Jun 22, 2026

Copy link
Copy Markdown

Summary:
The Ethos/arm PT2E quantization annotator (quantization_annotator.py, fbcode + xplat) assumed every weighted op carries a weight qspec and unconditionally annotated the weight input. Activation-only PTQ -- int16 activations with fp32 (un-quantized) weights -- sets weight_qspec=None, which tripped the annotator. This skips weight annotation when the weight qspec is None, enabling activation-only PTQ on the arm/Ethos backend.

Required by the cascade_detector_ceres_u55_a16_only recipe (D108781360), which isolates the activation-quant contribution of the grip-force int8 collapse.

Differential Revision: D108781361

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

Summary:
The Ethos/arm PT2E quantization annotator (`quantization_annotator.py`, fbcode + xplat) assumed every weighted op carries a weight qspec and unconditionally annotated the weight input. Activation-only PTQ -- int16 activations with fp32 (un-quantized) weights -- sets `weight_qspec=None`, which tripped the annotator. This skips weight annotation when the weight qspec is None, enabling activation-only PTQ on the arm/Ethos backend.

Required by the `cascade_detector_ceres_u55_a16_only` recipe (D108781360), which isolates the activation-quant contribution of the grip-force int8 collapse.

Differential Revision: D108781361
@ryan-monroe ryan-monroe requested a review from digantdesai as a code owner June 22, 2026 18:08
@pytorch-bot

pytorch-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown

🔗 Helpful Links

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

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

❗ 1 Active SEVs

There are 1 currently active SEVs. If your PR is affected, please view them below:

❌ 5 New Failures, 3 Unrelated Failures

As of commit e116040 with merge base ce9a7f5 (image):

NEW FAILURES - The following jobs have failed:

FLAKY - The following jobs failed but were likely due to flakiness present on trunk:

BROKEN TRUNK - The following job 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 Jun 22, 2026
@meta-codesync

meta-codesync Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

@ryan-monroe has exported this pull request. If you are a Meta employee, you can view the originating Diff in D108781361.

@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

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. meta-exported module: arm Issues related to arm backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant