Downloads · 30 days
44
45% of all-time downloads
rasgaard/whisper-large-v3-turbo-encoder-pruned
whisper-large-v3-turbo-encoder-pruned is a automatic speech recognition model from rasgaard. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as mit.
A pruned and distilled variant of openai/whisper-large-v3-turbo with 6 encoder layers removed (layers 5, 6, 7, 9, 11, 12) and recovered via label-free knowledge distillation.
Downloads · 30 days
44
45% of all-time downloads
All-time downloads
98
Public
Parameters
691M
2.8 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors1.4 GB · 100%
From the Hugging Face model README
A pruned and distilled variant of openai/whisper-large-v3-turbo with 6 encoder layers removed (layers 5, 6, 7, 9, 11, 12) and recovered via label-free knowledge distillation.
Paper: Six Layers Less: Encoder Pruning for Whisper with Label-Free Recovery
Code: https://github.com/rasgaard/whisper-encoder-layer-prune
The 32-layer Whisper encoder contains redundant middle layers. This model removes the 6 least important layers (identified via leave-one-out ΔWER ranking), then re-aligns the pruned encoder to the original using MSE distillation on unlabelled speech — no transcriptions required.
The result is a drop-in replacement: same architecture family, same tokenizer, same decoder — just a shallower encoder.
| Language | Baseline | Zero-shot pruned | After distillation |
|---|---|---|---|
| Danish | 23.9% | 32.1% (+8.2 pp) | 27.3% (+3.4 pp) |
| English | 15.4% | 16.6% (+1.2 pp) | 16.1% (+0.7 pp) |
| German | 17.1% | 18.3% (+1.2 pp) | 18.1% (+1.0 pp) |
| French | 16.3% | 20.7% (+4.4 pp) | 18.7% (+2.5 pp) |
| Mean | +3.8 pp | +1.9 pp |
Evaluated on FLEURS test splits. Parentheses show absolute change in percentage points.
| Metric | Full model | This model |
|---|---|---|
| Encoder layers | 32 | 26 |
| Encoder parameters | 637M | 519M (−18.5%) |
| Model size (bf16) | 1543 MB | 1318 MB (−225 MB) |
| Encoder speedup | 1.00× | 1.22× |
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
import torch
model = AutoModelForSpeechSeq2Seq.from_pretrained(
"rasgaard/whisper-large-v3-turbo-encoder-pruned",
torch_dtype=torch.bfloat16,
)
processor = AutoProcessor.from_pretrained(
"rasgaard/whisper-large-v3-turbo-encoder-pruned"
)
@misc{aagaard2026layerslessencoderpruning,
title={Six Layers Less: Encoder Pruning for Whisper with Label-Free Recovery},
author={Rasmus Aagaard and Nicki Skafte Detlefsen},
year={2026},
eprint={2609.27980},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2609.27980},
}