/ Модель

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

Лицензия
Apache 2.0
Архитектура
speech-encoder-decoder · dense
Опубликована
2 мар 2022

wav2vec2-xls-r-2b-22-to-16

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

Многоязычная модель Facebook, которая переводит устную речь из аудио в письменный текст на одном из 16 целевых языков.

32скачиваний за 30 дней14лайковвеса обновлены24 янв 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

facebook/wav2vec2-xls-r-2b-22-to-16 — модель перевода речи, разработанная Facebook. Это связка кодировщика и декодера: кодировщик инициализирован контрольной точкой facebook/wav2vec2-xls-r-2b, а декодер — facebook/mbart-large-50; модель дообучена на парах перевода из набора CoVoST 2. Она принимает аудио на одном из 22 исходных языков и генерирует письменный перевод на один из 16 целевых языков: английский, немецкий, турецкий, персидский, шведский, монгольский, китайский, валлийский, каталанский, словенский, эстонский, индонезийский, арабский, тамильский, латышский или японский.

Подходит для перевода аудиозаписей и устных высказываний без отдельного этапа распознавания и последующего текстового перевода. Репозиторий содержит веса PyTorch, лицензия — Apache-2.0. Качество может зависеть от языковой пары и характеристик аудио; карточка не приводит количественных оценок качества.

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

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

Ограничения

Модель переводит только в перечисленные в карточке целевые языки; качество может различаться между языковыми парами и зависеть от качества записи. В карточке не приведены количественные оценки качества.

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

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

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

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

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

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

Открыть на Hugging Face

Wav2Vec2-XLS-R-2B-22-16 (XLS-R-Any-to-Any)

Facebook's Wav2Vec2 XLS-R fine-tuned for Speech Translation.

model image

This is a SpeechEncoderDecoderModel model. The encoder was warm-started from the facebook/wav2vec2-xls-r-2b checkpoint and the decoder from the facebook/mbart-large-50 checkpoint. Consequently, the encoder-decoder model was fine-tuned on {input_lang} -> {output_lang} translation pairs of the Covost2 dataset.

The model can translate from the following spoken languages {input_lang} to the following written languages {output_lang}:

{input_lang} -> {output_lang}

with {input_lang} one of:

{en, fr, de, es, ca, it, ru, zh-CN, pt, fa, et, mn, nl, tr, ar, sv-SE, lv, sl, ta, ja, id, cy}

and {output_lang}:

{en, de, tr, fa, sv-SE, mn, zh-CN, cy, ca, sl, et, id, ar, ta, lv, ja}

Usage

Demo

The model can be tested on this space. You can select the target language, record some audio in any of the above mentioned input languages, and then sit back and see how well the checkpoint can translate the input.

Example

As this a standard sequence to sequence transformer model, you can use the generate method to generate the transcripts by passing the speech features to the model.

You can use the model directly via the ASR pipeline. By default, the checkpoint will translate spoken English to written German. To change the written target language, you need to pass the correct forced_bos_token_id to generate(...) to condition the decoder on the correct target language.

To select the correct forced_bos_token_id given your choosen language id, please make use of the following mapping:

MAPPING = {
    "en": 250004,
    "de": 250003,
    "tr": 250023,
    "fa": 250029,
    "sv": 250042,
    "mn": 250037,
    "zh": 250025,
    "cy": 250007,
    "ca": 250005,
    "sl": 250052,
    "et": 250006,
    "id": 250032,
    "ar": 250001,
    "ta": 250044,
    "lv": 250017,
    "ja": 250012,
}

As an example, if you would like to translate to Swedish, you can do the following:

from datasets import load_dataset
from transformers import pipeline

# select correct `forced_bos_token_id`
forced_bos_token_id = MAPPING["sv"]

# replace following lines to load an audio file of your choice
librispeech_en = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
audio_file = librispeech_en[0]["file"]

asr = pipeline("automatic-speech-recognition", model="facebook/wav2vec2-xls-r-2b-22-to-16", feature_extractor="facebook/wav2vec2-xls-r-2b-22-to-16")

translation = asr(audio_file, forced_bos_token_id=forced_bos_token_id)

or step-by-step as follows:

import torch
from transformers import Speech2Text2Processor, SpeechEncoderDecoderModel
from datasets import load_dataset

model = SpeechEncoderDecoderModel.from_pretrained("facebook/wav2vec2-xls-r-2b-22-to-16")
processor = Speech2Text2Processor.from_pretrained("facebook/wav2vec2-xls-r-2b-22-to-16")

ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")

# select correct `forced_bos_token_id`
forced_bos_token_id = MAPPING["sv"]

inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["array"]["sampling_rate"], return_tensors="pt")
generated_ids = model.generate(input_ids=inputs["input_features"], attention_mask=inputs["attention_mask"], forced_bos_token_id=forced_bos_token)
transcription = processor.batch_decode(generated_ids)

More XLS-R models for {lang} -> en Speech Translation

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей