Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Accuracy] PersonaPlex FP16 residuals skip linear-output rounding

Aperta
#1,796 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@chaofengw-nv ci sta già lavorando.

Dal 18/10/2026.

  • #1751 di @chaofengw-nv — aperta
  • #1797 di @chaofengw-nv — chiusa senza merge

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

bug

Description

PersonaPlex's FP16 decoder residual path can add the unrounded GEMM accumulator instead of first rounding the linear output to Half, as the Native model does. This changes values inside an actual decoder layer, before subsequent normalization and autoregressive generation.

Affected base: 9a8b545f5e8c22c653c8029c95a999dc070b4f3f.

Reproduction

Use a Half projection whose exact dot product is 1 + 2^-12, followed by a residual of -1:

  • Native: round the linear output to Half (1), then add the Half residual: 0.
  • Current TensorRT decoder: 2^-12 (0.000244140625), consistent with fusion across the linear-output rounding boundary.

A regression invokes the existing default_decoder._add_decoder_layer with the depth dimensions (1024 hidden channels, 16 heads, cache length 18, MLP width 2816). It uses dense binary weights, one valid attention key and a zero MLP, and reads the layer's normal hidden and present-K/V outputs. The Native CUDA linear operations independently establish the expected scalar.

On GB300, TensorRT 11.2.0.113, CUDA 13 and PyTorch 2.12.0+cu130, three independent original Half engines each return 2^-12 instead of zero. All three original FP32 control engines pass; neither precision has errors or skips.

A separate fresh-process probe also reproduces the discrepancy at widths 1024 and 4096, three builds each. Performing the residual sum in FP32 after converting the already-Half branch outputs, then restoring Half, returns the Native result in all six cases.

Expected behavior

Preserve the model-dtype linear-output rounding boundary before the residual sum. Keep Half weights, hidden states and KV caches, and retain the existing FP32 behavior. The Native sequential attention and MLP residuals are defined in the pinned official transformer implementation.

This is a component reproduction. Full speech-benchmark acceptance remains separate; no benchmark input, Native baseline or acceptance gate is changed.

Lingua principale
Python
Stelle
276
Fork
73
Merge medio
1g 14h
PR unite (30g)
157

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/TensorRT-Model-Connect

Tutte le issue di NVIDIA/TensorRT-Model-Connect

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.