Implement Multiturn support for EasyMagpie - #15764
Conversation
2600fb8 to
9cb8c01
Compare
9cb8c01 to
a73132d
Compare
There was a problem hiding this comment.
FYI, these changes was done to support prefill in one step on nemotron_h class.
c564930 to
1a43737
Compare
ba6c288 to
5978897
Compare
|
/ok to test da88283 |
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Shehzeen Hussain <shehzeenh@nvidia.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Shehzeen Hussain <shehzeenh@nvidia.com>
Signed-off-by: Shehzeen Hussain <shehzeenh@nvidia.com>
Signed-off-by: Shehzeen Hussain <shehzeensh@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Shehzeen Hussain <shehzeensh@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
Signed-off-by: Edresson Casanova <edresson1@gmail.com>
3276aa3 to
4156fc2
Compare
|
/ok to test 4156fc2 |
| if config.layers_block_type[i] == "mamba": | ||
| self.conv_states.append( | ||
| torch.zeros(batch_size, intermediate_size, conv_kernel_size, device=device, dtype=dtype) | ||
| torch.zeros(batch_size, conv_dim, conv_kernel_size, device=device, dtype=dtype) |
There was a problem hiding this comment.
Is this the correct implementation? Seems different from what it used to be.
| if seq_len <= 0: | ||
| continue | ||
|
|
||
| boundary_trim = self.cfg.get("user_audio_boundary_trim", 0) |
There was a problem hiding this comment.
Can you add some comments on what this hyper-parameter does?
| trim_amount = max(1, base_trim + trim_delta) | ||
| trim_amount = min(trim_amount, max(1, copy_len - 1)) | ||
|
|
||
| aug_choice = random.choices( |
There was a problem hiding this comment.
I feel like there is a lot of code for this trimming augmentation, Is this enabled during training? If not, we can drop some of this.
| state.audio_prediction_end_idx.fill_(-1) | ||
| state.finished.zero_() |
There was a problem hiding this comment.
Why are such custom overrides needed for state? Please add some comments.
|
Left a few comments, but most changes made to easy_magpietts model make sense. User audio channel code could probably be simplified. |
What does this PR do ?
Implements multiturn support for EasyMagpieTTS, including multiturn Lhotse training/evaluation data handling, user-audio-conditioned inference, multiturn metrics/export support, and related tests.
Collection: TTS
Changelog
examples/tts/conf/magpietts/easy_magpietts_lhotse_multiturn.yaml.--easy_magpie_inference_mode multiturn_user_audio..json/.csvevaluation outputs.Usage
Example EasyMagpie multiturn inference with a
.nemocheckpoint: