Training
- Base:
openai/whisper-medium (769M), German decoding, VAD, repetition mitigation
- LoRA: r=32, alpha=64, dropout=0.05
- Targets:
q_proj, k_proj, v_proj, out_proj, fc1, fc2
- Data:
StiAna (452 synthetic consultations), partly voice-cloned from consenting
actors' voices. Scripts and records are public under CC BY 4.0 in the
conversim repository; the audio is not,
as the speakers did not consent to its distribution.
- Decoding uses a curated STI/HIV terminology list as hotword bias
Evaluation
On StiReal, 28 held-out human-recorded consultations (2.5h audio, 22.5k reference words):
Table with columns: Metric, Baseline, Adapted| Metric | Baseline | Adapted |
|---|
| nWER | 4.75 | 2.84 |
| Terminology accuracy | 88.75 | 97.04 |
| SeMaScore | 95.92 | 97.56 |
The gain is significant under a paired bootstrap over dialogues (p<0.001).
Usage
from transformers import WhisperForConditionalGeneration, WhisperProcessorfrom peft import PeftModel base = WhisperForConditionalGeneration.from_pretrained("openai/whisper-medium")model = PeftModel.from_pretrained(base, "Superkon3000/whisper-medium-sti-anamnese-lora")processor = WhisperProcessor.from_pretrained("openai/whisper-medium")
Merge with model.merge_and_unload(), or convert to CTranslate2 for faster-whisper.
Limitations
Trained on synthetic and acted speech, not real consultations. Spontaneous clinical
speech with overlap, hesitation and background noise is untested. One German clinical
domain, 28 evaluation dialogues.
License
MIT, following the base model.