Downloads · 30 days
97
82% of all-time downloads
aman4014/whisper-twophase-multitask-80K-10WER-ct2
whisper-twophase-multitask-80K-10WER-ct2 is a automatic speech recognition model from aman4014. Use it when you need speech turned into text. The card lists the license as mit.
[](https://hpi.de/) [](https://opensource.org/licenses/MIT) [](https://github.com/OpenNMT/CTranslate2)
Downloads · 30 days
97
82% of all-time downloads
All-time downloads
119
Public
Repo size
814 MB
Likes
1
Trending 1
Click a slice to open those files.
.bin814 MB · 99%
From the Hugging Face model README
CT2 INT8-FP16 | OpenAI Whisper-large-v3-turbo | Bidirectional De-En Speech Translation & Transcription
Developed at the Hasso Plattner Institute (HPI) with computational resources provided by the HPI High-Performance Computing (HPC) cluster. Fine-tuned from openai/whisper-large-v3-turbo on the aman4014/translated-german-english-asr dataset — a curated parallel German-English speech corpus totalling approximately 4.65 million samples across 12 training splits — using a two-phase multitask schedule (80,000 steps). Optimized with CTranslate2 INT8-FP16 quantization for efficient, real-time bidirectional speech translation and transcription between German and English.
aman4014/whisper-twophase-multitask-80K-10WER-ct2aman4014/whisper-twophase-multitask-80K-10WERThis model is a CTranslate2-optimized fine-tune of OpenAI's Whisper Large V3 Turbo, fine-tuned for bidirectional German-English speech translation and bilingual transcription. Quantized using INT8 weights and FP16 activations, it achieves an optimal balance between translation quality, low latency, reduced memory footprint, and bidirectional capability (De $\leftrightarrow$ En).
The model extends Whisper's standard task vocabulary with a custom <|en_to_de|> task token, enabling English-to-German speech translation directly within Whisper's autoregressive decoder — a capability absent in vanilla Whisper models.
task="translate") and English-to-German (task="en_to_de").faster-whisper and CTranslate2.<|en_to_de|> task token (ID: 51866) initialized from a blend of <|translate|> and <|de|> embeddings.| Parameter | Value |
|---|---|
| Base Model | openai/whisper-large-v3-turbo |
| Parameters | ~809M |
| Encoder Layers | 32 |
| Decoder Layers | 4 (Turbo architecture) |
| Hidden Size ($d_{\text{model}}$) | 1,280 |
| Attention Heads | 20 (Encoder) / 20 (Decoder) |
| Quantization | INT8 (weights) + FP16 (activations) |
| Model Size | ~814 MB (CT2 INT8-FP16) vs. ~3.24 GB (FP32) |
| Vocabulary Size | 51,867 tokens (including custom <|en_to_de|>) |
| Sample Rate | 16 kHz |
| Framework | CTranslate2 / PyTorch |
This model extends Whisper's vocabulary with:
| Token | ID | Description |
|---|---|---|
<|en_to_de|> | 51866 | New — English audio to German text translation |
<|transcribe|> | 50360 | Standard — Speech-to-text in source language |
<|translate|> | 50359 | Standard — Any speech to English text translation |
The model was trained on an NVIDIA H100 80GB HBM3 GPU (effective batch size: 32) using a two-phase schedule:
<|en_to_de|> token and output text distributions.checkpoint-74000 (evaluated at 80,000 steps).<|en_to_de|>): 35%Fine-tuned on the aman4014/translated-german-english-asr dataset, aggregating parallel German-English speech data:
| Source | Samples |
|---|---|
| train_emilia_yodas0 | 1,980,000 |
| train_mozilla_english_asr | 1,150,000 |
| train_cv19_0 | 547,000 |
| train_eurospeech | 503,000 |
| train_mls_0 | 391,000 |
| train_tuda_0 | 42,800 |
| TV_2021.02_Neutral | 22,700 |
| TV_2022.10_Neutral | 12,500 |
| TV_2023.09_Hessisch | 2,110 |
| TV_2021.06_Emotional | 2,020 |
| train_de_DE_kerstin | 1,370 |
| train_el_tts | 495 |
From the training evaluation (checkpoint-74000 at 80,000 steps):
| Evaluation Task | Metric | Score |
|---|---|---|
| German Transcription (ASR) | WER | 10.32% |
| German Transcription (ASR) | CER | 5.23% |
| German $\to$ English Translation | BLEU | 70.13 |
| German $\to$ English Translation | chrF | 82.47 |
English $\to$ German Translation (<|en_to_de|>) | BLEU | 51.82 |
English $\to$ German Translation (<|en_to_de|>) | chrF | 74.22 |
| Overall Combined Translation | BLEU | 63.65 |
Benchmarked against 11 baseline systems spanning quality ceilings, size-matched peers, and cascade architectures:
| Model | Tier | BLEU | ChrF | TER | COMET | RTF Mean | RTF p95 | Quality / Latency (COMET / RTF) |
|---|---|---|---|---|---|---|---|---|
| Whisper-large-v3 | Quality ceiling | 12.07 | 32.46 | 83.41 | 0.6506 | 0.101 | 0.152 | 6.4 |
| Whisper-medium | Fair peer | 11.73 | 31.87 | 83.99 | 0.6401 | 0.072 | 0.101 | 8.9 |
| Cascade-Small-OpusMT-De2En | Cascade | 11.62 | 32.17 | 82.71 | 0.6302 | 0.060 | 0.076 | 10.5 |
| SeamlessM4T-v2-large | Quality ceiling | 11.61 | 33.09 | 81.20 | 0.6591 | 0.079 | 0.136 | 8.3 |
| FasterWhisper-medium-CT2 | Fair peer | 11.48 | 32.03 | 82.48 | 0.6379 | 0.038 | 0.067 | 16.8 |
| Whisper-small | Fair peer | 9.50 | 29.18 | 89.19 | 0.5901 | 0.039 | 0.054 | 15.1 |
| CT2-Whisper-Twophase (This Model) | This model | 8.91 | 30.75 | 83.15 | 0.6089 | 0.030 | 0.067 | 20.3 (Rank 1 / 12) |
| BERT2BERT-cascade | Cascade | 8.48 | 28.85 | 86.65 | 0.5711 | 0.189 | 0.281 | 3.0 |
| Whisper-base | Lower bound | 4.52 | 22.84 | 133.85 | 0.4996 | 0.031 | 0.037 | 16.1 |
| Distil-Whisper-large-v3 | Fair peer | 2.22 | 14.93 | 99.23 | 0.3838 | 0.026 | 0.055 | 14.8 |
| Whisper-tiny | Lower bound | 1.16 | 15.55 | 272.83 | 0.4243 | 0.042 | 0.205 | 10.1 |
| Whisper-large-v3-turbo | Quality ceiling | 0.26 | 16.09 | 107.46 | 0.5463 | 0.036 | 0.058 | 15.2 |
Quality/Latency = COMET / RTF_mean. Higher is better. Measures semantic translation quality delivered per unit of compute time.
| Audio Duration | Predicted RTF | Predicted Inference Time |
|---|---|---|
| 1 s | ~0.119 | ~0.119 s |
| 3 s | ~0.044 | ~0.131 s |
| 5 s | ~0.028 | ~0.142 s |
| 10 s | ~0.017 | ~0.170 s |
| 30 s | ~0.009 | ~0.282 s |
faster-whisper (Recommended)pip install faster-whisper
from faster_whisper import WhisperModel
model = WhisperModel(
"aman4014/whisper-twophase-multitask-80K-10WER-ct2",
device="cuda", # or "cpu"
compute_type="int8_float16" # use "int8" for CPU
)
# 1. German to English Speech Translation
segments, info = model.transcribe(
"german_audio.wav",
language="de",
task="translate",
beam_size=5
)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
# 2. English to German Speech Translation (Custom Task Token)
segments, info = model.transcribe(
"english_audio.wav",
language="de",
task="en_to_de",
beam_size=5
)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
# 3. German Speech-to-Text Transcription (ASR)
segments, info = model.transcribe(
"german_audio.wav",
language="de",
task="transcribe",
beam_size=5
)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
transformerspip install transformers torch accelerate
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
model_id = "aman4014/whisper-twophase-multitask-80K-10WER"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForSpeechSeq2Seq.from_pretrained(
model_id,
torch_dtype=torch.float16,
low_cpu_mem_usage=True,
device_map="cuda"
)
pipe = pipeline(
"automatic-speech-recognition",
model=model,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
torch_dtype=torch.float16,
device="cuda",
)
# German transcription
result = pipe("german_audio.wav", generate_kwargs={"task": "transcribe", "language": "de"})
print(result["text"])
| Source Audio | Target Output | Task Parameter | Purpose |
|---|---|---|---|
| German | English Text | task="translate" | German-to-English Speech Translation |
| German | German Text | task="transcribe", language="de" | German Automatic Speech Recognition |
| English | German Text | task="en_to_de" | English-to-German Speech Translation |
| English | English Text | task="transcribe", language="en" | English Automatic Speech Recognition |
This model uses INT8-FP16 mixed precision quantization via CTranslate2:
| Metric | FP32 | INT8-FP16 | Improvement |
|---|---|---|---|
| Model Size | ~3.24 GB | ~814 MB | 4x smaller |
| Memory Usage | ~4.5 GB | ~1.5 GB | 3x reduction |
| Inference Speed (GPU) | 1.0x | 2.5–3x | Faster |
| Inference Speed (CPU) | 1.0x | 1.8–2.2x | Faster |
# Model configuration
export WHISPER_MODEL_REPO_ID="aman4014/whisper-twophase-multitask-80K-10WER-ct2"
export WHISPER_MODEL_REVISION="main"
export WHISPER_EN_DE_TASK_TOKEN="<|en_to_de|>"
# Decoding parameters
export WHISPER_FINAL_BEAM_SIZE=6
export WHISPER_FINAL_MAX_NEW_TOKENS=224
export WHISPER_DECODE_PATIENCE=1.15
export WHISPER_DECODE_LENGTH_PENALTY=1.0
export WHISPER_DECODE_REPETITION_PENALTY=1.08
export WHISPER_DECODE_NO_REPEAT_NGRAM_SIZE=3
# Audio preprocessing
export WHISPER_SILENCE_TRIM_ENABLED=1
export WHISPER_SILERO_VAD_ENABLED=1
export WHISPER_SILERO_VAD_THRESHOLD=0.44
Das zugrunde liegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung (BMBF) unter dem Förderkennzeichen "KI-Servicezentrum Berlin-Brandenburg" 16IS22092 gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.
This project was funded by the German Federal Ministry of Education and Research (BMBF) under the funding code "KI-Servicezentrum Berlin-Brandenburg" 16IS22092. Responsibility for the content of this publication remains with the author.
This model is released under the MIT License.
MIT License
Copyright (c) 2024 Aman Raut, Hasso Plattner Institute
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.