Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Accuracy] PersonaPlex FP16 residuals skip linear-output rounding

Cerrado
#1,796 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@chaofengw-nv ya está trabajando en esto.

Desde el 18/10/2026.

  • #1751 de @chaofengw-nv — fusionado
  • #1797 de @chaofengw-nv — cerrado sin fusionar

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.

Lenguaje dominante
Python
Estrellas
276
Forks
73
Merge medio
1 d 7 h
PR fusionados (30 d)
166

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/TensorRT-Model-Connect

Todos los issues de NVIDIA/TensorRT-Model-Connect

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.