Qwen3-TTS-12Hz-1.7B-Base SFT Fine-tuning Reproduction Report Successful Marie Models vs Failed Tremblay/Gagnon Models #344
Unanswered
MinfangZhou
asked this question in
Q&A
Replies: 1 comment
|
i faced 3 challenges -
i was able to solve the first one but i still dont know how can i fix the 2 and 3 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
1. Summary
I am testing Qwen3-TTS-12Hz-1.7B-Base SFT fine-tuning for French speaker customization.
The interesting phenomenon:
produced:
Successful:
Failed:
The failed models show:
training loss decreases normally
checkpoint saves successfully
inference runs successfully
but generated audio becomes:
2. Environment
Hardware
GPU:
OS:
Python:
CUDA:
Framework:
Model:
3. Dataset Preparation
All datasets were prepared into Qwen3-TTS SFT JSONL format.
Example:
{ "audio":"audio/Gagon_chunk_00001.wav", "text":"...", "ref_audio":"audio/ref.wav", "speaker":"gagnon", "language":"French", "duration":8.837, "audio_codes":[...] }Audio:
Preparation pipeline:
4. Successful Case #1: Marie_QC_v1
Training
Model:
SFT:
Speaker:
Speaker slot:
Result:
SUCCESS
Inference:
Output:
5. Successful Case #2: Marie_QC_v1_GOLD
A second Marie training result was also successful.
Same:
Result:
SUCCESS
This is important because it proves:
6. Failed Case #1: Tremblay_QC_v1_train
Training
Model:
Dataset:
French speaker dataset
Training:
Official:
Epochs:
Checkpoints:
Size:
approximately:
Training behavior:
Normal.
Loss decreased.
No NaN.
No crash.
Inference:
Checkpoint loads successfully.
Speaker map:
Generation works.
However:
Output audio quality:
FAILED
Symptoms:
7. Failed Case #2: Gagnon_QC_v1_train
Dataset
Prepared dataset:
Audio:
Reference:
Metadata:
Generated successfully:
Training:
Official:
Speaker:
Speaker ID:
Epochs:
Training:
Normal.
Example:
Checkpoint:
Saved successfully.
Inference:
Checkpoint loaded.
Speaker:
Generation:
Successful execution.
But audio:
FAILED
Result:
8. Failed Case #3: Gagnon_QC_v2
I repeated training with a cleaned dataset and verified:
Training:
Successful.
Checkpoint:
Loss:
normal.
Inference:
Successful.
Audio:
FAILED
Output:
pure noise / explosion.
9. Additional Debugging
Reference Audio Verification
Checked:
Both:
MD5 verification:
So reference audio mismatch is unlikely.
10. Testing Official Script Modification
Based on community reports, I tested the missing text projection issue.
Original:
Patched:
Training:
Parameters:
Training:
Normal.
Loss:
Checkpoint:
saved successfully.
Inference result:
FAILED.
Audio:
Conclusion:
The text_projection issue alone does not solve this problem.
11. Current Observations
The pattern:
12. Important Finding
The problem is not:
Because Marie models work.
The failure happens after SFT.
Possible causes:
Hypothesis 1: Label shift issue
The official SFT script may have a mismatch between:
training forward pass
and
generation forward pass.
Possible impact:
Hypothesis 2: Speaker embedding / codec embedding update
Official script:
is modified during training.
Possible problem:
Hypothesis 3: Dataset characteristics
Although datasets are valid:
Possible differences:
may interact badly with current SFT implementation.
13. Questions for Qwen3-TTS Team
Is the current official
sft_12hz.pyfully compatible with inferencegenerate_custom_voice()?Are there known fixes for:
Is full fine-tuning recommended for speaker customization?
Is LoRA fine-tuning supported/recommended for 1.7B Base?
Are there recommended hyperparameters for single-speaker French fine-tuning?
Why can the same pipeline successfully train Marie but fail with other speakers?
14. Reproduction Files Available
I can provide:
Final Summary
Qwen3-TTS-12Hz-1.7B-Base SFT can successfully create a custom French voice (Marie cases).
However, repeated SFT attempts with other French speakers consistently produce noisy / corrupted audio despite:
The issue appears to be related to the SFT training pipeline rather than the base model or inference system.
Further guidance from the Qwen3-TTS team would be appreciated.
All reactions