Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
kaix-nv
added this pull request to stack #2510
September 22, 2026 21:27
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## kaix/linear-attention-qat-m2 #2507 +/- ##
================================================================
- Coverage 70.28% 70.28% -0.01%
================================================================
Files 621 622 +1
Lines 68649 68734 +85
================================================================
+ Hits 48253 48308 +55
- Misses 20396 20426 +30
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
kaix-nv
removed this pull request from stack #2510
September 23, 2026 01:07
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 23, 2026 01:16
34e549e to
ff21e39
Compare
kaix-nv
changed the base branch from
kaix/linear-attention-qat-m3
to
kaix/linear-attention-qat-m2
September 23, 2026 01:16
This was referenced Sep 23, 2026
kaix-nv
added this pull request to stack #2521
September 23, 2026 01:22
kaix-nv
removed this pull request from stack #2521
September 24, 2026 06:17
kaix-nv
added this pull request to stack #2542
September 24, 2026 06:18
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 24, 2026 06:30
ff21e39 to
f3ce747
Compare
kaix-nv
removed this pull request from stack #2542
September 24, 2026 06:31
kaix-nv
added this pull request to stack #2543
September 24, 2026 06:31
Contributor
|
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 24, 2026 18:17
f3ce747 to
99d02c3
Compare
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 25, 2026 01:54
99d02c3 to
9d3c35f
Compare
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
2 times, most recently
from
September 25, 2026 05:11
1dd4bb1 to
999fe60
Compare
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 25, 2026 20:57
999fe60 to
74bd0b9
Compare
Signed-off-by: Kai Xu <kaix@nvidia.com>
kaix-nv
force-pushed
the
kaix/linear-attention-qat-m4
branch
from
September 26, 2026 06:14
74bd0b9 to
b35f426
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear-attention PR stack — 5 PRs
All five PRs form a linear GitHub stack in the review order shown above. #2541 applies TensorQuantizer before native vLLM prefill/decode calls.
A separate vLLM prefill-GEMM PR will wait for an optimized fused kernel. #2506 and #2509 are superseded and closed.
What does this PR do?
Type of change: New feature.
Add an opt-in approximate inverse after the GDN/KDA prefill infrastructure in
#2503. The saved solve policy selects an explicit Neumann polynomial degree and
either Torch or CUDA FP32 execution. Backward differentiates the actual
polynomial; the implementation never silently changes degree or falls back.
Exact triangular solve remains the default.
The current Neumann candidate failed the pinned KDA model-quality screen.
Keep this PR experimental and in draft. The historical study and failed results
are preserved; a successful kernel or optimizer test is not quality recovery.
The solve benchmark shares CUDA timing, warmup, interleaving, and aggregation with the decode/prefill examples. Each benchmark retains its own loss and correctness checks and records the shared helper source hash.
Execution configuration is introduced by #2519, extended for prefill by #2503, and extended here with the solve policy. Numerical test oracles are imported from the test utility package.
The QAT entry point is
examples/llm_qat/linear_attention/train.py. Usage and numerical contracts live with the example; historical study reports remain beside the scripts in the PRs that introduce them. The training example writes metrics without saving a trained checkpoint, and its source manifest hashes the current implementation files.Usage
Use
{"method": "exact"}(the default) for the supported baseline.See the solve guide.
Testing
For this restack, all runtime code, tests, and study scripts are byte-for-byte identical to the preceding head; the README inherits the state-quantization enablement guidance. Focused README pre-commit hooks, diff checks, and signed-commit verification passed. Model training, distributed integration, and quality measurements were not rerun.
Prior runtime validation on RTX A6000/SM86, Torch 2.9.1+cu128, Triton 3.5.1, and fla-core 0.5.1:
The tests cover gradients of the actual polynomial, degree validation, residual identities, composed QDQ, save/restore, and packed tails. Megatron/full-FLA-layer integration was not rerun locally.
Historical screening of
arcee-ai/AFM-4.5B-Base-KDA-Onlyon fixed WikiText-2 validation data failed the declared NLL margin for degrees 3, 7, 15, and 31. Degree 63 is not a safe fallback, and prior synthetic H100 measurements established no speed advantage. The qualification report retains the original revisions and limits. Those measurements were not rerun; the candidate remains experimental and in draft.Before your PR is "Ready for review"
Additional Information
Depends on #2503 and comes last in the stack. INT8 model-quality comparisons
and Megatron distributed requalification remain pending. #2541 supplies
state-only vLLM integration; serving-time prefill-GEMM quantization is deferred
until an optimized fused kernel is available. A better-conditioned inverse
approximation needs its own numerical and model-quality evidence.