AI-Hypercomputer / AI-Hypercomputer/maxtext
Qwen3-Next: sequential GDN paths (lax.scan recurrence, solve_triangular) bound TPU step time
- Lenguaje dominante
- Python
- Estrellas
- 2.4k
- Forks
- 608
- Merge medio
- 2 d 19 h
- PR fusionados (30 d)
- 158
Descripción
### Problem
In the Qwen3-Next Gated Delta Net (`jax_chunk_gated_delta_rule`), the two sequential computations dominate TPU step time:
- the inter-chunk recurrence runs as `lax.scan`, so the recurrent state round-trips HBM on every chunk step, and
- the UT-transform inverse `A = (I+S)^-1` uses `solve_triangular`, which substitutes row by row and barely uses the MXU.
Neither overlaps with other work, so they bound the step directly.
### Measurement
v5e-256, Qwen3-Next dense-8B config, seq 4096, bs 1, remat full (details in #4348):
| build | step time | tokens/s/device |
|---|---|---|
| main | 3.373s | 1,214 |
| #4348 (Pallas kernels) | **2.571s** | **1,593 (+31%)** |
Loss trajectories match to bf16 rounding level.
Guía de contribución
Línea de trabajo
Start at the Qwen3-Next Gated Delta Net entry point jax_chunk_gated_delta_rule and inspect the lax.scan recurrence and solve_triangular inverse described in the issue. Compare the Pallas-kernel results referenced in #4348, then benchmark the v5e-256, dense-8B, sequence-4096, batch-1 configuration; done means lower step time with loss matching to bf16 rounding.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- machine-learning, performance
- Tipo de issue
- Refactorización
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100