/ Модель

Характеристики

Параметры
403 млн
Лицензия
Apache 2.0
Архитектура
wav2vec2 · dense
Опубликована
2 мар 2022

wav2vec2-xls-r-300m-khmer

Распознавание речиАудио → текст4 профессии

Дообученная wav2vec 2.0 модель для преобразования кхмерской речи в текст.

706скачиваний за 30 дней6лайковвеса обновлены13 мая 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель vitouphy/wav2vec2-xls-r-300m-khmer — система автоматического распознавания речи на кхмерском языке. Это дообученная на данных OpenSLR версия facebook/wav2vec2-xls-r-300m, построенная на архитектуре Wav2Vec2ForCTC; в метаданных указано 402,7 млн параметров. Модель принимает аудио и преобразует речь в текст, её можно использовать через pipeline библиотеки Transformers. Для декодирования с языковой моделью README описывает поддержку pyctcdecode.

На тестовом разбиении OpenSLR автор сообщает WER 0,322 и CER 0,087 без языковой модели; с языковой моделью — WER 0,257 и CER 0,070. Обучающие данные составляют около 3,2 часа записей, поэтому покрытие словаря ограничено: редкие кхмерские символы распознаются хуже, а речь должна быть чёткой и разборчивой. Лицензия — Apache-2.0.

Сценарии применения

  • транскрибация записей на кхмерском языке
  • распознавание чёткой кхмерской речи в аудиозаписях
  • получение субтитров для кхмерских аудио- и видеоматериалов

Ограничения

Обучение проводилось примерно на 3,2 часах записей, поэтому редкие слова и символы могут распознаваться плохо. Для лучшего результата требуется чёткая, разборчивая речь.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

This model is a fine-tuned version of facebook/wav2vec2-xls-r-300m on the openslr dataset. It achieves the following results on the evaluation set:

  • Loss: 0.3281
  • Wer: 0.3462

Evaluation results on OpenSLR "test" (self-split 10%) (Running ./eval.py):

  • WER: 0.3216977389924633
  • CER: 0.08653361193169537

Evaluation results with language model on OpenSLR "test" (self-split 10%) (Running ./eval.py):

  • WER: 0.257040856802856
  • CER: 0.07025001801282513

Installation

Install the following libraries on top of HuggingFace Transformers for the supports of language model.

pip install pyctcdecode
pip install https://github.com/kpu/kenlm/archive/master.zip

Usage

Approach 1: Using HuggingFace's pipeline, this will cover everything end-to-end from raw audio input to text output.

from transformers import pipeline

# Load the model
pipe = pipeline(model="vitouphy/wav2vec2-xls-r-300m-khmer")

# Process raw audio
output = pipe("sound_file.wav", chunk_length_s=10, stride_length_s=(4, 2))

Approach 2: More custom way to predict phonemes.

from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC 
import librosa
import torch

# load model and processor
processor = Wav2Vec2Processor.from_pretrained("vitouphy/wav2vec2-xls-r-300m-khmer")
model = Wav2Vec2ForCTC.from_pretrained("vitouphy/wav2vec2-xls-r-300m-khmer")

# Read and process the input
speech_array, sampling_rate = librosa.load("sound_file.wav", sr=16_000)
inputs = processor(speech_array, sampling_rate=16_000, return_tensors="pt", padding=True)

with torch.no_grad():
    logits = model(inputs.input_values, attention_mask=inputs.attention_mask).logits

predicted_ids = torch.argmax(logits, axis=-1)      
predicted_sentences = processor.batch_decode(predicted_ids)
print(predicted_sentences)

Intended uses & limitations

The data used for this model is only around 4 hours of recordings.

  • We split into 80/10/10. Hence, the training hour is 3.2 hours, which is very very small.
  • Yet, its performance is not too bad. Quite interesting for such small dataset, actually. You can try it out.
  • Its limitation is:
    • Rare characters, e.g. ឬស្សី ឪឡឹក
    • Speech needs to be clear and articulate.
  • More data to cover more vocabulary and character may help improve this system.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 5e-05
  • train_batch_size: 8
  • eval_batch_size: 8
  • seed: 42
  • gradient_accumulation_steps: 4
  • total_train_batch_size: 32
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 1000
  • num_epochs: 100
  • mixed_precision_training: Native AMP

Training results

Training LossEpochStepValidation LossWer
5.07955.474004.41211.0
3.565810.958003.52031.0
3.368916.4312002.89840.9996
2.0121.9116001.00410.7288
1.678327.3920000.69410.5989
1.52732.8724000.55990.5282
1.427838.3528000.48270.4806
1.345843.8332000.44290.4532
1.289349.3136000.41560.4330
1.244154.7940000.40200.4040
1.18860.2744000.37770.3866
1.162865.7548000.36070.3858
1.132471.2352000.35340.3604
1.096976.7156000.34280.3624
1.089782.1960000.33870.3567
1.062587.6664000.33390.3499
1.060193.1568000.32880.3446
1.047498.6272000.32810.3462

Framework versions

  • Transformers 4.17.0.dev0
  • Pytorch 1.10.2+cu102
  • Datasets 1.18.2.dev0
  • Tokenizers 0.11.0

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
Wav2Vec2ForCTC
Ревизия весов
a70aa6a

0 моделей