add Chinese distill-whisper fine-tuning results #1648
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #1605, we fine-tuned whisper using 14k hours Chinese data. This PR added decoding results for distill-whisper fine-tuning experiment.
Instead of actually using distillation loss for training, the model structure and parameter initialization method from the distill-whisper paper (https://arxiv.org/abs/2311.00430) were adopted: only the first and last layers of the decoder were retained.
Accuracy:
Distill-whisper is slightly worse comparing with norm whisper.
Speed:
![image](https://private-user-images.githubusercontent.com/28823245/338894248-9069ef91-641d-48f3-881e-47f6336e238f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDI3MDksIm5iZiI6MTczOTY0MjQwOSwicGF0aCI6Ii8yODgyMzI0NS8zMzg4OTQyNDgtOTA2OWVmOTEtNjQxZC00OGYzLTg4MWUtNDdmNjMzNmUyMzhmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MDAwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyNWVlM2Y5YmZhYzJhYzA4YTY4YzdkYjc5Y2UzMWQxMjM2MjRjZmRjMDllMjdjMTQ5YjMzOTUyYTdiZTgyMzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.BF5ay_Ee3IQCQb1do2ftbJNhhW_i7BrFEV6PqbuvFgw)
![image](https://private-user-images.githubusercontent.com/28823245/338894459-c3f7abd8-bbe7-4794-ad6f-a2d67fe31245.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDI3MDksIm5iZiI6MTczOTY0MjQwOSwicGF0aCI6Ii8yODgyMzI0NS8zMzg4OTQ0NTktYzNmN2FiZDgtYmJlNy00Nzk0LWFkNmYtYTJkNjdmZTMxMjQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MDAwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIzMTA2YWMyN2IyNDgzMTliMzVkYmMzNGNiNWRkMGZlMDFjMmFlNzhjNzM0YWM3MzM5MTFmOWYzZjg5ODMzMmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XbM8ovibnjRUFMGQQvlN0A6WPEHTvDxJP4UE_fZHa9g)
Every decoding step could acclerate about 4x comparing with the original decoder.
Norm whisper: 32 decoder layers
Distill-whisper: 2 decoder layers
For a quick test: https://huggingface.co/yuekai/icefall_asr_multi-hans-zh_whisper/blob/main/test_model.py