/ Модель

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

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

whisper-medium-french

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

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

367скачиваний за 30 дней20лайковвеса обновлены13 янв 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bofenghuang/whisper-medium-french — модель распознавания французской речи, полученная дообучением openai/whisper-medium. Она предназначена для преобразования аудиозаписей на французском языке в текст и обучена на составном наборе данных с более чем 2200 часами речи, включая Common Voice, Multilingual LibriSpeech, VoxPopuli, Fleurs, Multilingual TEDx, MediaSpeech и African Accented French. Модель построена на архитектуре Whisper и содержит около 455,8 млн параметров; для входного аудио требуется частота дискретизации 16 кГц.

В README приведены результаты оценки на французских поднаборах 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-medium model for ASR in French

This model is a fine-tuned version of openai/whisper-medium, trained on a composite dataset comprising of over 2200 hours of French speech audio, using the train and the validation splits of Common Voice 11.0, Multilingual LibriSpeech, Voxpopuli, Fleurs, Multilingual TEDx, MediaSpeech, and African Accented French. When using the model make sure that your speech input is sampled at 16Khz. This model doesn't predict casing or 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-medium-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-medium-french").to(device)
processor = AutoProcessor.from_pretrained("bofenghuang/whisper-medium-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
Ревизия весов
0627400

0 моделей