Safetensors
Danish
whisper
File size: 2,949 Bytes
914da87
 
 
 
 
 
 
 
c4f30a3
1f966a5
 
 
914da87
 
 
1f966a5
914da87
f406af7
914da87
 
 
f406af7
 
914da87
 
 
7c31c50
914da87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f966a5
914da87
812295d
2c71c11
812295d
914da87
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
license: openrail
datasets:
- alexandrainst/coral
- mozilla-foundation/common_voice_17_0
language:
- da
base_model:
- openai/whisper-large-v3
metrics:
- wer
- cer
---

# Hviske v2
Hviske v2 er en *state of the art* dansk transskriptionsmodel der er trænet af [syv.ai](https://syv.ai). Modellen er gratis at bruge, men sørg for at være opmærksom på at brugen falder indenfor licensen.

Hviske v2 er en yderligere finetunet version af Whisper v3, med Coral & common voice datasæt.

Modellen er trænet over 10 dage med et enkelt Nvidia A100.

Du kan prøve modellen gratis via [Ludwig.syv.ai](https://ludwig.syv.ai).

## Sådan kommer du i gang

Installér transformers:
`pip install transformers datasets`

Kør koden:
```python
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset


device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

model_id = "syvai/hviske-v2"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    torch_dtype=torch_dtype,
    device=device,
)

dataset = load_dataset("alexandrainst/coral", split="test")
sample = dataset[0]["audio"]

result = pipe(sample)
print(result["text"])
```

## Resultater

| Model                                 | Antal parametre      | CoRal CER          | CoRal WER          |
|---------------------------------------|----------------------|--------------------|--------------------|
| syvai/hviske-v2                       | 1540M                | **4.7% ± 0.07%**   | **11.8% ± 0.3%**   |
| alexandrainst/roest-315               | 315M                 | 6.6% ± 0.2%        | 17.0% ± 0.4%       |
| chcaa/xls-r-300m-danish-nst-cv9       | 315M                 | 14.4% ± 0.3%       | 36.5% ± 0.6%       |
| mhenrichsen/hviske                    | 1540M                | 14.2% ± 0.5%       | 33.2% ± 0.7%       |
| openai/whisper-large-v3               | 1540M                | 11.4% ± 0.3%       | 28.3% ± 0.6%       |

Hviske-v2 er ca. 30% bedre målt på WER end [roest](https://huggingface.co/alexandrainst/roest-315m) og ca. 64% bedre end Hviske-v1.

Visualiseret:
<img src="benchmark.png" alt="benchmark" width="800"/>

## Tak til
[Innovationsfonden](https://innovationsfonden.dk/da) og alle de parter der har været med til at lave CoRal datasættet. Det er virkelig et fantastisk stykke arbejde.


## Skal din virksomhed have hjælp?
[syv.ai](https://syv.ai) er Danmarks mest nørdede AI konsulenthus. Vi laver alt fra rådgivning af mindre virksomheder til AI udvikling hos verdens største virksomheder.