Skip to content

INT3 QMoE review fixes and per-block padding experiment - #33530

Draft
David Fan (jiafatom) wants to merge 1 commit into
jiafa/int3-qmoe-p0-format-fixturesfrom
jiafa/int3-qmoe-review-experiments-20261021
Draft

David Fan (jiafatom) wants to merge 1 commit into
jiafa/int3-qmoe-p0-format-fixturesfrom
jiafa/int3-qmoe-review-experiments-20261021

Conversation

@jiafatom

Copy link
Copy Markdown
Contributor

Summary

Isolated follow-up to #33394, intentionally on a separate branch without modifying its head.

  • Guard throwing ByteHelpers assertions for ORT_NO_EXCEPTIONS while preserving successful cases.
  • Reject contradictory concrete scale/bias/zero-point row metadata when FC1 rows are symbolic; add regression mutations.
  • Explain unpacked zero-point code 4 versus packed byte values.
  • Add standalone reproducible padding benchmark, two corrected full runs and detailed report at docs/design/int3-qmoe-padding-experiment.md.

Experiment

A100-SXM4-80GB, CUDA13, actual Qwen FC1/FC2 dimensions, block32/64/128, compact versus 16/32-byte-aligned blocks, fixed8 and rotating128 experts, dequantization and one/32-token projections. Two runs of 108 cases each; seven trials per case; prefill16calls covers all128experts. Layout outputs match and independent scalar samples pass.

Block64 padding24->32bytes increases weight payload33.33%; rotating128expert decode is about11% slower and32token projection about10% slower in this scalar-load implementation. Byte-only padding adds nothing for these block sizes. This does not rule out future vectorized private layouts and is not a whole-model benchmark or pure bandwidth attribution.

Validation

Normal current-source schema/format tests17/17 passed. Format translation unit and real helper.cc compiled with ORT_NO_EXCEPTIONS:6/6 passed. Uses cached dependencies/isolated objects, not a clean full or globally exception-disabled build. After formatting, rebuilt benchmark quick108checks pass. Both full JSON protocols and report table verified.

Original #33394 code threads remain open until these changes enter its branch; this follow-up does not imply PR2-PR4 completion.

Signed-off-by: David Fan <jiafa@microsoft.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant