[Accuracy] PersonaPlex FP16 SwiGLU rounds SiLU before the gate product
メンテナーはふだん 1 日以内に返信
@chaofengw-nv がすでに取り組んでいます。
2026年10月18日 から。
評価
この issue はまだ評価されていません。
説明
Summary
PersonaPlex FP16 SwiGLU MLPs round the activation earlier than the reference does.
- Reference (pinned Moshi,
gating.py): thetorch.compilegating kernel takes the Halfgateandupprojections, computes
SiLU(gate) * upin FP32, and rounds the product to Half once. - Family graph:
graph_blocks.add_swiglu_mlpand the dual-profile_swiglu_mlpcomputesigmoid(gate),
gate * sigmoid(gate)and the product withupall in the work dtype, so each step is rounded to Half.
Minimal counterexample
The inputs are gate = 7/64 and up = 1.5, which are exact in Half and BF16.
- Reference:
Half(SiLU32(gate) * up) = 0.08648681640625. - Current graph:
Half(Half(SiLU(gate)) * up) = 0.0865478515625.
The two results differ by one Half ULP. The FP32 product is about 600 FP32 ULPs from a Half rounding boundary, so the
outcome does not depend on the sigmoid implementation.
Evidence on real data
These results come from GB300 with TensorRT 11.2, using the reference FP16 run of the PersonaPlex audio-parity clip 7.
- Temporal gating, layers 0/15/31, steps 0/27/28:
- Half projections plus the FP32 pointwise product reproduce the reference gating output bitwise in 7 of 9 cases.
The other two (layer 0 at steps 0 and 27) differ in 53 and 59 elements, cause not verified. - Eager Half composition differs in 1,706-2,272 of 4,096 output elements.
- The family graph as built differs in 1,748-2,292 of 4,096.
- Half projections plus the FP32 pointwise product reproduce the reference gating output bitwise in 7 of 9 cases.
- Depth transformer: the same rounding is a candidate contributor to the depth-step differences under investigation.
The full-model effect is not established yet.
Impact
Every FP16 (and BF16) SwiGLU MLP output in the PersonaPlex temporal and depth transformers is affected. FP32 builds are
not affected.
- 主要言語
- Python
- スター
- 276
- フォーク
- 73
- 平均マージ
- 1日 7時間
- マージ済み PR(30日)
- 166
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/TensorRT-Model-Connect のほかの issue
-
Docs: ITrtModule::forward() output-buffer lifetime and dtype contract are undocumented再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NVIDIA/TensorRT-Model-Connect#1126 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 6/100
NVIDIA/TensorRT-Model-Connect#1700 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
Feature: Nomic Embed Text v1.5 native embeddings対応中かも @JiaxinD が 20 日前に担当しました。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 12/100
NVIDIA/TensorRT-Model-Connect#1582 ·
メンテナーはふだん 1 日以内に返信
-
retry_backoff retries the entire multi-family GPU test run even when a single family's genuine (non-transient) failure is the cause対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
NVIDIA/TensorRT-Model-Connect#1576 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
NVIDIA/TensorRT-Model-Connect#1567 ·
メンテナーはふだん 1 日以内に返信
NVIDIA/TensorRT-Model-Connect の issue をすべて見る
似ている issue
-
type-bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
push_gh-pages fails on master branch on forks対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンgood first issue infrastructure
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
documentation priority: high
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
a-lex-s/mealie-telegram-bot#54 ·
メンテナーはふだん 1 日以内に返信