feat(speechlm2): add padding-free packed speech training - #16194
Conversation
b611e76 to
1fa9921
Compare
d707a1b to
42a1f6e
Compare
|
/ok to test 42a1f6e |
42a1f6e to
a0eb08d
Compare
|
/ok to test a0eb08d |
f2946ad to
1979410
Compare
a0eb08d to
7eb5294
Compare
|
/ok to test 7eb5294 |
|
/ok to test 0a46d83 |
| return flash_attn_varlen_func | ||
|
|
||
|
|
||
| def _forward_sequence_packed_layer(layer, x, **kwargs): |
There was a problem hiding this comment.
are we adding these utils to fastconformer as well?
Another way of asking: Are we supporting packed sequence feature to FastConformer based encoders as well?
There was a problem hiding this comment.
Not currently, but nothing stops us from backporting later. We should IMO.
| out = out.transpose(1, 2).contiguous().view(B, num_cur, self.d_model) | ||
| return self.out_proj(out) | ||
|
|
||
| def forward_sequence_packed( |
There was a problem hiding this comment.
many doesn;t have doc strings, add wherever required.
There was a problem hiding this comment.
Addressed in 25c5e7b. I documented all eight newly introduced packed private methods in transformer_encoder.py, expanded both public forward_sequence_packed() entry points with their argument and return contracts, and documented the extracted helper module plus every top-level helper and the nested ATen adapter. I kept the change documentation-only and limited to the newly introduced packed-attention code. The affected ASR API page now passes a warning-as-error Sphinx build, and the packed Transformer suite remains green.
|
/ok to test 25c5e7b |
| python - <<'PY' | ||
| from importlib.metadata import version | ||
|
|
||
| import cut_cross_entropy |
There was a problem hiding this comment.
Big memory savings by avoiding logit materialization in CE loss.
There was a problem hiding this comment.
Thanks, that explains why we use it. My question was about the version check in the Dockerfile: can we pin this in pyproject/uv.lock instead?
There was a problem hiding this comment.
Agreed — removed in 3d8530f. Both compiled extras already pin cut-cross-entropy 25.3.2, pyproject.toml pins its exact source revision, and uv.lock plus uv sync --locked enforce that installation. The deleted import/version assertion duplicated those guarantees and did not exercise the fused GPU kernel.
There was a problem hiding this comment.
can we do same for automodel version check.
|
/ok to test eb0d8f6 |
|
/ok to test 3d8530f |
chtruong814
left a comment
There was a problem hiding this comment.
We'll need to review the inclusion of cut-cross-entropy.
|
I recommend treating |
|
/ok to test 7dc7739 |
|
[🤖]: Hi @pzelasko 👋, We wanted to let you know that a CICD pipeline for this PR just finished successfully. So it might be time to merge this PR or get some approvals. |
Introduce PackedEncoderActivations and native THD paths for waveform preprocessing, normalization, SpecAugment, Transformer/MoE/GGEMM/phPEE execution, activation checkpointing, and packed encoder benchmarks. Co-authored-by: Taejin Park <tango4j@gmail.com> Original-Commit: 9cd9a6a Original-Commit: 441eff6 Original-Commit: fcb1726 Original-Commit: 3ca6b8b Original-Commit: 56d9b52 Original-Commit: d49ae3c Original-Commit: 58b923d Original-Commit: d665c44 Original-Commit: 2fb5e1a Original-Commit: 009d1c1 Original-Commit: e5374ff Original-Commit: 4e034d0 Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Add native packed perception capabilities, independently chunked ASR and speaker encoders, packed FSDP gradient handling, PEE execution controls, and the speaker-encoder artifact renderer. Original-Commit: 6593f11 Original-Commit: 5ab986f Original-Commit: be3a0e9 Original-Commit: 4e034d0 Original-Commit: e5374ff Original-Commit: 8b8ea97 Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Carry packed waveform and sequence metadata through SALM batching, CP/FSDP/FP8 execution, checkpointing, fused CE and shared MTP loss heads; add text-only and missing-RTTM handling, lazy optimizer resume, step-aligned GC, timeout/OOM tuning, validator forwarding, configs, dependencies, documentation, and focused coverage. Co-authored-by: Kunal Dhawan <kunaldhawan97@gmail.com> Original-Commit: 29f8260 Original-Commit: 210a5b6 Original-Commit: c1a633a Original-Commit: 3355af1 Original-Commit: 303f36e Original-Commit: e1f2309 Original-Commit: ba97a73 Original-Commit: 95a77c3 Original-Commit: 6ba2158 Original-Commit: 2c645f4 Original-Commit: 556db89 Original-Commit: 5d68cbb Original-Commit: e376f26 Original-Commit: 3d7a2b8 Original-Commit: 27cac7e Original-Commit: b0fbee2 Original-Commit: 6689df1 Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
feat(speechlm2): add padding-free packed speech training
Base:
mainHead:
codex/pr16158-rewrite/03-packed-speech-trainingTip:
919c31b5bf65f83e27e57cbe1f853cf06a8090e4Summary
Reviewer guide
The review question is: does SALM consume the encoder and data foundations correctly under packed, distributed, resumable training?
Index-format and routing implementations remain in PR 2. Checkpoint export and all vLLM behavior remain outside this PR.
Attribution
The replay preserves original authors, dates, source-commit references, and author-matching DCO sign-offs.
Validation
git diff --check: passed.cut-cross-entropymetadata/import assertion; the optional code paths remain usable without the dependency, while its declaration and lock metadata are intentionally deferred to PR 7.uv lock --check --offline: passed.