Proposal: dense Qwen3.8-27B DFlash2 with BF16 and calibrated NVFP4 drafters
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- github, python
- Área
- backend, machine-learning
Línea de trabajo
Read the linked experimental branch and compare its DFlash2 addition with the existing parallel-draft speculative transaction and the native MTP proposal in #20. Start by checking the stated integration gates: current-main integration, the open FlashInfer fix in #14/#43, and the missing Nemotron GPU regression and reference parity controls. Done means maintainers agree on the integration path and the required gates are resolved before a recipe PR; the issue identifies no project file paths or test commands.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Proposal and requested maintainer decision
Would you like a focused dense-Qwen DFlash2 contribution, following the native MTP proposal in #20? There is a working experimental implementation with BF16 and independently calibrated NVFP4 drafters on one RTX PRO 4500 Blackwell (SM120, 32GB). I am offering the code for discussion rather than presenting the older experimental branch as a current-main integration.
Code: https://github.com/Maxrio9/flare-local-inference/tree/qwen38-dense-dflash2-20261023 (two feature commits squashed over the already-public Maxrio9:qwen38-dense-native-mtp stack). The DFlash2 addition preserves the existing dense alias. New aliases have conservative C1/32K/prefill512 defaults and fixed seven drafts. Private C4/64K exports received broader qualification; a 128K export passed capacity checks only.
Pinned checkpoints:
- target
nvidia/Qwen3.8-27B-NVFP4@482ca0f3832238542f8f5295dde86b5f22711d80; - BF16 drafter
z-lab/Qwen3.8-27B-DFlash2@50307d4c4cde6860d4eee73e2547cd786fe8e8a4; - calibrated drafter
maurienne-ai/Qwen3.8-27B-DFlash2-NVFP4-RTNcal@bd7a934213c47a9e7ef69eef36bb3325f47fd1f1.
Integration and semantics
Reuses the existing parallel-draft speculative transaction, GDN verification/commit, shared grouped convolution, stochastic verifier and state-transfer contract. Target features are pre-final-norm outputs of zero-based layers 5/19/33/47/61. Context has lag zero and a complete five-layer 2048-token ring, including snapshots; only committed, EOS/budget-clipped rows enter it. Target KV is FP8; draft KV/ring is BF16, including with the NVFP4 drafter. No FP8 draft-cache optimization is claimed.
The 35 calibrated NVFP4 projections retain independent checkpoint scales, including per-layer context K/V scales. The other 46 BF16 tensors match the pinned BF16 drafter byte-for-byte; shared scalar groups were checked equal. No runtime requantization. Package identity includes the actual drafter payload SHA-256.
Proposal q is the realized predecessor-conditioned top-16 selector distribution after Flare's sampling filters/penalties, retained for stochastic verification. The reference uses temperature-only q and BF16 selector scores, while this implementation computes selector scores in FP32; published acceptance figures are therefore not parity claims. Missing-predecessor rows become invalid, rather than silently choosing candidate zero. Embeddings remain the target's GPU-resident BF16 table; the RAM-table flag does not offload this dense table.
The branch lifts shared DFlash execution pieces from Nemotron for reuse. It proposes no new captured-operation family, Protobuf or model-specific native policy; if review finds a changed operation contract is required, that needs the project owner's explicit approval first.
Results and limits
Official target, native C1 per-token decode rates, medians of three seeds per authored case, natural EOS, 2048-token budgets. MTP3 and MTP7 are fixed-width arms with adaptive verification disabled:
| Case | Plain | MTP3 | MTP7 | BF16 DFlash7 | NVFP4 DFlash7 |
|---|---|---|---|---|---|
| Chat | 37.3 | 74.7 | 64.0 | 84.6 | 87.6 |
| Code | 37.3 | 90.8 | 96.8 | 150.8 | 154.2 |
| Reasoning | 37.3 | 99.8 | 116.9 | 173.0 | 181.3 |
| Agent | 37.3 | 75.3 | 62.1 | 75.6 | 85.1 |
Chat/code/agent: thinking off, T0.7/top-p0.8/top-k20/presence1.5; reasoning: thinking on, T1/top-p0.95/top-k20/presence0. No reasoning-effort value requested. 60/60 transport/runtime completions. Different stochastic answers and lengths mean these are not equal-work latency factors or quality-equivalence evidence. They are results for earlier frozen experimental packages, not benchmarks of current main or the final memory branch.
Nsight B1/W8 kernel-sum phases in ms (pre-target / target / post-target): MTP 14.17/26.74/0.98; BF16 DFlash 5.62/26.66/1.29; NVFP4 DFlash 3.10/26.66/1.22. Corresponding node spans were 43.16/34.71/31.92ms. Sums may overlap; no summation as elapsed time, tracing-overhead or replay-floor claim. The two DFlash vocabulary projections share the quantized target head. These are short-context traced replays, not native-counter timing of the completed-answer run.
A controlled companion screen on the all-NVFP4 target used 18 frozen prefixes (one plain trajectory per category, 16 seeds/prefix). DFlash2 did not beat MTP7 on chat acceptance: BF16/NVFP4 DFlash emitted 3.20/3.325 tokens per round versus MTP7 3.462. Agent emitted 2.475/2.513 versus 2.350. These are conditional acceptance observations, not independent quality trials or official-target measurements. Cheaper W8 rounds are an important part of the chat/agent throughput result; higher throughput does not establish higher acceptance, and the completed-answer text differences prevent assigning the entire gap to round cost.
The NVFP4 drafter saves 2,402,382,848 retained weight bytes (2.237 GiB) versus BF16; each full draft window costs 40 MiB per saved state. On the exact offered feature tree, 65 CPU structural/CLI/checkpoint-lineage tests passed with both pinned checkpoint paths supplied. Public CLI export exercised all seven depths (175 requests/reuse probes), with state/restore, multi-chunk scored-prefill, padded/inactive C4 and native pressure tests on the experimental stack. 51K full-prefix reuse passed; 65,300+128 and 130,800+128-token fixtures passed in plain/fixed7. The 128K test uses repetitive prompts and forced output budgets: capacity, not long-context quality or full pressure qualification.
Known gates before a recipe PR:
- #20's prior MTP/loading/accounting stack needs maintainer agreement and current-main integration; #14 / local-inference-lab/flashinfer#43 is still open. All measured packages used FlashInfer03de0b66 plus that PV-tail fix, not the current unpatched lock.
- Full Nemotron-checkpoint GPU regression for the extracted shared modules is unrun. Independent HF tap +/-1 and complete reference window/convolution negative controls are not established by structural/state tests.
- An optional longer 22-prefix parity run stopped because its reference fixture backed only1280 tokens for a1300-token prefix. The corrected1536-token fixture was not rerun. Completed native128K capacity is a separate test.
- No semantic-quality equivalence claim: the96-request official authored protocol suite completed, with23 semantic fixture failures across plain/DFlash (budgets/literal checks included).
- DSpark is research only. Additional memory changes and scheduler fixes are separate submissions, not bundled here.
Code authored by Codex (GPT-6), AI-assisted. Claude reviewed recipe semantics, tests and reporting within AGENTS scope; no Claude Opus kernel/fusion/packing/overlap/scratch work is incorporated. Hardware evidence is SM120 only; no SM121/TP qualification.
- Lenguaje dominante
- Rust
- Estrellas
- 800
- Forks
- 106
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 100
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/hyperflare-inference
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NVIDIA/hyperflare-inference#268 ·
Los mantenedores suelen responder en 1 día
-
break out engram wait timeAbiertoarea:caching area:engram enhancement performance triage:design-review
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NVIDIA/hyperflare-inference#230 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
NVIDIA/hyperflare-inference#278 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
NVIDIA/hyperflare-inference#276 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
NVIDIA/hyperflare-inference#271 ·
Los mantenedores suelen responder en 1 día
Todos los issues de NVIDIA/hyperflare-inference
Issues similares
-
bug UI
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
wardian-app/Wardian#1746 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
jlcodes99/cockpit-tools#3125 ·
Los mantenedores suelen responder en 2 días
-
bug user-sprint
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Vondor/KassenSturz#967 ·
Los mantenedores suelen responder en 1 día
-
area/ci
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
[BUG] Incremental sync warns "no stored highest_uid" on every round for folders with no new mailAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
rustmailer/bichon#411 ·