/ Модель

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

Контекст
1 024 токена
Параметры
153 млн
Лицензия
Apache 2.0
Архитектура
whisper · dense
Библиотека
transformers
Опубликована
5 янв 2023

whisper-small-cv11-french

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

Дообученная версия Whisper-small для распознавания французской речи с восстановлением регистра и пунктуации.

134скачиваний за 30 дней6лайковвеса обновлены4 апр 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bofenghuang/whisper-small-cv11-french — модель автоматического распознавания речи, полученная дообучением openai/whisper-small на французской части набора Mozilla Common Voice 11.0. Она принимает аудио и выдаёт расшифровку на французском языке, включая регистр букв и пунктуацию. Для распознавания входную речь следует подавать с частотой дискретизации 16 кГц.

Модель построена на архитектуре Whisper и содержит 153,1 млн параметров. В карточке приведены результаты WER для Common Voice 11.0, Multilingual LibriSpeech, VoxPopuli и Fleurs; тестовые данные были отфильтрованы и предобработаны, поэтому эти оценки не обязательно отражают качество на произвольной речи. Модель распространяется по лицензии Apache-2.0.

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

  • транскрибация французских аудиозаписей
  • распознавание французской речи в приложениях
  • создание субтитров для французских аудио и видео
  • преобразование французских интервью и подкастов в текст

Ограничения

Для входного аудио требуется частота дискретизации 16 кГц. Приведённые оценки получены на отфильтрованных и предобработанных тестовых наборах и могут не соответствовать качеству на произвольной речи.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Model architecture Model size Language

Fine-tuned whisper-small model for ASR in French

This model is a fine-tuned version of openai/whisper-small, trained on the mozilla-foundation/common_voice_11_0 fr dataset. When using the model make sure that your speech input is also sampled at 16Khz. This model also predicts casing and punctuation.

Performance

Below are the WERs of the pre-trained models on the Common Voice 9.0, Multilingual LibriSpeech, Voxpopuli and Fleurs. These results are reported in the original paper.

ModelCommon Voice 9.0MLSVoxPopuliFleurs
openai/whisper-small22.716.215.715.0
openai/whisper-medium16.08.912.28.7
openai/whisper-large14.78.911.07.7
openai/whisper-large-v213.97.311.48.3

Below are the WERs of the fine-tuned models on the Common Voice 11.0, Multilingual LibriSpeech, Voxpopuli, and Fleurs. Note that these evaluation datasets have been filtered and preprocessed to only contain French alphabet characters and are removed of punctuation outside of apostrophe. The results in the table are reported as WER (greedy search) / WER (beam search with beam width 5).

ModelCommon Voice 11.0MLSVoxPopuliFleurs
bofenghuang/whisper-small-cv11-french11.76 / 10.999.65 / 8.9114.45 / 13.6610.76 / 9.83
bofenghuang/whisper-medium-cv11-french9.03 / 8.546.34 / 5.8611.64 / 11.357.13 / 6.85
bofenghuang/whisper-medium-french9.03 / 8.734.60 / 4.449.53 / 9.466.33 / 5.94
bofenghuang/whisper-large-v2-cv11-french8.05 / 7.675.56 / 5.2811.50 / 10.695.42 / 5.05
bofenghuang/whisper-large-v2-french8.15 / 7.834.20 / 4.039.10 / 8.665.22 / 4.98

Usage

Inference with 🤗 Pipeline

import torch

from datasets import load_dataset
from transformers import pipeline

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

# Load pipeline
pipe = pipeline("automatic-speech-recognition", model="bofenghuang/whisper-small-cv11-french", device=device)

# NB: set forced_decoder_ids for generation utils
pipe.model.config.forced_decoder_ids = pipe.tokenizer.get_decoder_prompt_ids(language="fr", task="transcribe")

# Load data
ds_mcv_test = load_dataset("mozilla-foundation/common_voice_11_0", "fr", split="test", streaming=True)
test_segment = next(iter(ds_mcv_test))
waveform = test_segment["audio"]

# Run
generated_sentences = pipe(waveform, max_new_tokens=225)["text"]  # greedy
# generated_sentences = pipe(waveform, max_new_tokens=225, generate_kwargs={"num_beams": 5})["text"]  # beam search

# Normalise predicted sentences if necessary

Inference with 🤗 low-level APIs

import torch
import torchaudio

from datasets import load_dataset
from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq

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

# Load model
model = AutoModelForSpeechSeq2Seq.from_pretrained("bofenghuang/whisper-small-cv11-french").to(device)
processor = AutoProcessor.from_pretrained("bofenghuang/whisper-small-cv11-french", language="french", task="transcribe")

# NB: set forced_decoder_ids for generation utils
model.config.forced_decoder_ids = processor.get_decoder_prompt_ids(language="fr", task="transcribe")

# 16_000
model_sample_rate = processor.feature_extractor.sampling_rate

# Load data
ds_mcv_test = load_dataset("mozilla-foundation/common_voice_11_0", "fr", split="test", streaming=True)
test_segment = next(iter(ds_mcv_test))
waveform = torch.from_numpy(test_segment["audio"]["array"])
sample_rate = test_segment["audio"]["sampling_rate"]

# Resample
if sample_rate != model_sample_rate:
    resampler = torchaudio.transforms.Resample(sample_rate, model_sample_rate)
    waveform = resampler(waveform)

# Get feat
inputs = processor(waveform, sampling_rate=model_sample_rate, return_tensors="pt")
input_features = inputs.input_features
input_features = input_features.to(device)

# Generate
generated_ids = model.generate(inputs=input_features, max_new_tokens=225)  # greedy
# generated_ids = model.generate(inputs=input_features, max_new_tokens=225, num_beams=5)  # beam search

# Detokenize
generated_sentences = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]

# Normalise predicted sentences if necessary

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
83d7df2

0 моделей