[Accuracy] PersonaPlex FP16 residuals skip linear-output rounding
Los mantenedores suelen responder en 1 día
@chaofengw-nv ya está trabajando en esto.
Desde el 18/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una 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/TensorRT-Model-Connect
-
Docs: ITrtModule::forward() output-buffer lifetime and dtype contract are undocumentedQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NVIDIA/TensorRT-Model-Connect#1126 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 6/100
NVIDIA/TensorRT-Model-Connect#1700 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Feature: Nomic Embed Text v1.5 native embeddingsPosiblemente ocupada @JiaxinD la tomó hace 20 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
NVIDIA/TensorRT-Model-Connect#1582 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
NVIDIA/TensorRT-Model-Connect#1576 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NVIDIA/TensorRT-Model-Connect#1567 ·
Los mantenedores suelen responder en 1 día
Todos los issues de NVIDIA/TensorRT-Model-Connect
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fossasia/visdom-dev#77 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aws-cloudformation/cfn-lint#4890 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
volcengine/OpenViking#6521 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
AstrBotDevs/AstrBot#10720 ·
Los mantenedores suelen responder en 1 día