Skip to content

[Do Not Merge] Optimizations on Qwen3-Next GatedDeltaNet w/ Kernel & XProf Agent#3077

Open
Rohan-Bierneni wants to merge 5 commits intomainfrom
rbierneni-test-kernelagent
Open

[Do Not Merge] Optimizations on Qwen3-Next GatedDeltaNet w/ Kernel & XProf Agent#3077
Rohan-Bierneni wants to merge 5 commits intomainfrom
rbierneni-test-kernelagent

Conversation

@Rohan-Bierneni
Copy link
Copy Markdown
Collaborator

@Rohan-Bierneni Rohan-Bierneni commented Feb 4, 2026

Description

Using the suggestions from kernel & xprof agent, try to improve the Gated Delta Net implementation in qwen3.py. We test our changes using the script added as part of this pr. The script tests the forward pass, backward pass, overall train step, and memory consumption between the baseline implementation of the GDN versus our optimized version in qwen3.py. This allowed us to test out changes iteratively and quickly.

To test the script, please use the command:

python3 /src/maxtext/scratch_code/benchmark_gdn_optimization.py

Note: run this script on a TPU/GPU vm since on CPU it will take a while.

So far, total improvements on the Gated Delta Rule using Q3-Next configs & 4k Seq len are:

If the change fixes a bug or a Github issue, please include a link, e.g.,:
FIXES: b/123456

Tests

Tested our changes using the benchmarking script and pr unit tests (train_compile test for qwen3 next)

Checklist

Before submitting this PR, please make sure (put X in square brackets):

  • I have performed a self-review of my code. For an optional AI review, add the gemini-review label.
  • I have necessary comments in my code, particularly in hard-to-understand areas.
  • I have run end-to-end tests tests and provided workload links above if applicable.
  • I have made or will make corresponding changes to the doc if needed, including adding new documentation pages to the relevant Table of Contents (toctree directive) as explained in our documentation.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 5.81395% with 81 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/maxtext/models/qwen3.py 5.81% 81 Missing ⚠️

📢 Thoughts on this report? Let us know!

Add backward pass checks & memory checks

Add backward pass & memory consumption checks

Update memory calcs

Optimizations made to GDN impl in qwen3.py (3x speedup)

Update dummy configs to align with q3-next

Update tflops calc to align with WY-optimized GDN

remove mixed precision

Update config for chunk size

update dtype

Add NaN test in backward pass

Fix exploding gradient in gdn

Reintroduce mixed precision

typo in bloat16

typo fixed

convert to float

test pallas kernel for gdn

wrong api name

fix function positional args

fix pallas code

fix tensor indexing error

only optimize forward pass

update pallas code

use float mask

fix function returns

add shardmap to kernel

update with kernel agent suggestions

fix matrix indexing

fix matrix indexing

mask before exp

update benchmarking script
@github-actions
Copy link
Copy Markdown

This PR has been automatically marked as stale because it has not had recent activity. It will be closed soon if no further activity occurs. Thank you for your contributions.

@github-actions github-actions Bot added the stale Automatically applied to stale PRs. label Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale Automatically applied to stale PRs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant