automatic-speech-recognition whisper

Whisper Finetune 1 Notebook

In this experiment, Whisper (base) is finetuned on VinBigData 100h dataset, but with special pre-processing:

As state in the paper:

Recent research has shown that training on datasets of mixed human and machine-generated data can significantly impair the performance of translation systems (Ghorbani et al., 2021). In order to avoid learning “transcript-ese”, we developed many heuristics to detect and remove machine-generated transcripts from the training datase

Whisper output is already in written form, and we would want to keep this ability by doing the last 2 preprocessing step. However, the result is not perfect.

Usage

from transformers import WhisperProcessor, WhisperForConditionalGeneration

model_trained = WhisperForConditionalGeneration.from_pretrained('hkab/whisper-base-vietnamese-finetuned')
processor = WhisperProcessor.from_pretrained("hkab/whisper-base-vietnamese-finetuned")

forced_decoder_ids = processor.get_decoder_prompt_ids(language="vi", task="transcribe")

input_speech, rate = librosa.load('/path/to/audio.wav', sr=16000)
input_features = processor(input_speech, sampling_rate=rate, return_tensors="pt").input_features

predicted_ids = model_trained.generate(input_features, forced_decoder_ids=forced_decoder_ids)

print(f'Prediction: {processor.batch_decode(predicted_ids, skip_special_tokens=True)}')

Installation

In case you don't know how to use nguyenvulebinh/spoken-norm. Use this Docker and this Inference code

Sample results

Origin pred Finetune pred References
Văn hóa và bộ lạc cổ sưa đã bắt đầu dữ những công bật này để dễ lấy sữa tóc, thịt và da. Văn hóa và bộ lạc cổ xưa đã bắt đầu giữ những con vật này để dễ lấy sữa tóc thực và gia. Văn hóa và bộ lạc cổ xưa đã bắt đầu giữ những con vật này để dễ lấy sữa, tóc, thịt, và da.
Nói My Spring Book, Tăng này đã giúp đời tiếng các thúc chối thuân 5 chẳng liền. Đối với Sờ riêng Búc, trận này đã giúp đỡ tiếng các tốc chúi thua 5 chặng liền. Đối với Springboks, trận này đã giúp đội tuyển kết thúc chuỗi thua 5 trận liền.
Nó cũng tấn công mọi thứ trong nước, ngày cả khủng lòng khẩn lò như tí vết cũng không phải là đối thủ với nó. Nó cũng tấn công mọi thứ trong nước, ngay cả khủng long khổng lồ như Tricic cũng không phải là đối thủ bên nó. Nó cũng tấn công mọi thứ trong nước; ngay cả khủng long khổng lồ như T. rex cũng không phải là đối thủ với nó.
Xong người có mặt quá lớn nên việc mọi người tới được nơi tổ chức lễ tan tại Quảng Trường Thánh Bí Tơ là không thể. Số người có mặt quá lớn nên việc mọi người tới được nơi tổ chức lễ tang tại Quảng Trường Thánh B tơ là không thể. Số người có mặt quá lớn nên việc mọi người tới được nơi tổ chức lễ tang tại Quảng trường Thánh Peter là không thể.
Cho ó là lục địa tương nói nhỏ nhưng có nhiều quốc gia đục lập. Thông thường, việc đi qua nhiều quốc gia đồng nghỉa với việc phải xinh thị thức và sách, họ chứ nhiều lần. Cho là lục địa tương đối nhỏ nhưng có nhiều quốc gia độc lập, thông thường việc đi qua nhiều quốc gia đồng nghĩa với việc phải xin thị thực và xét hoàn chiếu nhiều lần. Châu Âu là lục địa tương đối nhỏ nhưng có nhiều quốc gia độc lập. Thông thường, việc đi qua nhiều quốc gia đồng nghĩa với việc phải xin thị thực và xét hộ chiếu nhiều lần.

Performance on Fleurs (800 test audio)

Metric openai/whisper-base whisper-base finetuned
Un-normalized text WER 51% 35%

Training parameters (full in train.py):

batch_size = 16
num_epochs = 10
learning_rate=5e-4
warmup_steps=2000,