/ Модель

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

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

sew-tiny-100k-ft-ls100h

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

SEW-tiny — компактная англоязычная модель ASR для транскрибирования речи, дообученная на LibriSpeech и принимающая аудио с частотой 16 кГц.

383скачиваний за 30 дней0лайковвеса обновлены28 июн 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SEW-tiny-100k-ft-ls100h — модель распознавания речи от ASAPP Research, основанная на архитектуре Squeezed and Efficient Wav2vec (SEW) и дообученная для автоматической транскрипции на LibriSpeech. Это акустическая модель SEWForCTC с 50,3 млн параметров; она принимает речь в виде аудио с частотой дискретизации 16 кГц и выдаёт текст. В карточке также описаны возможные направления дообучения базовой архитектуры для идентификации говорящего, классификации намерений и распознавания эмоций, но этот чекпойнт предназначен для ASR.

Модель рассчитана на распознавание англоязычной речи. Для SEW в исследовательской работе заявлены улучшения скорости вывода и качества распознавания относительно wav2vec 2.0; конкретные показатели в README относятся к экспериментам статьи, а не гарантируют результат для каждого сценария. Для использования применяется библиотека Transformers. Лицензия — Apache-2.0.

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

  • транскрибирование англоязычных аудиозаписей
  • распознавание речи в аудио с частотой 16 кГц
  • создание текстовых расшифровок записей LibriSpeech
  • эксперименты с эффективными моделями распознавания речи

Ограничения

Для корректной работы входную речь следует подавать с частотой дискретизации 16 кГц. Модель предназначена для ASR; заявленные в статье показатели скорости и качества зависят от экспериментальных условий.

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

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

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

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

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

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

Открыть на Hugging Face

SEW-tiny

SEW by ASAPP Research

The base model pretrained on 16kHz sampled speech audio. When using the model make sure that your speech input is also sampled at 16Khz. Note that this model should be fine-tuned on a downstream task, like Automatic Speech Recognition, Speaker Identification, Intent Classification, Emotion Recognition, etc...

Paper: Performance-Efficiency Trade-offs in Unsupervised Pre-training for Speech Recognition

Authors: Felix Wu, Kwangyoun Kim, Jing Pan, Kyu Han, Kilian Q. Weinberger, Yoav Artzi

Abstract This paper is a study of performance-efficiency trade-offs in pre-trained models for automatic speech recognition (ASR). We focus on wav2vec 2.0, and formalize several architecture designs that influence both the model performance and its efficiency. Putting together all our observations, we introduce SEW (Squeezed and Efficient Wav2vec), a pre-trained model architecture with significant improvements along both performance and efficiency dimensions across a variety of training setups. For example, under the 100h-960h semi-supervised setup on LibriSpeech, SEW achieves a 1.9x inference speedup compared to wav2vec 2.0, with a 13.5% relative reduction in word error rate. With a similar inference time, SEW reduces word error rate by 25-50% across different model sizes.

The original model can be found under https://github.com/asappresearch/sew#model-checkpoints .

Usage

To transcribe audio files the model can be used as a standalone acoustic model as follows:

from transformers import Wav2Vec2Processor, SEWForCTC
from datasets import load_dataset
import soundfile as sf
import torch
 
# load the model and preprocessor
processor = Wav2Vec2Processor.from_pretrained("asapp/sew-tiny-100k-ft-ls100h")
model = SEWForCTC.from_pretrained("asapp/sew-tiny-100k-ft-ls100h")

# load the dummy dataset with speech samples
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
 
# preprocess
input_values = processor(ds[0]["audio"]["array"], return_tensors="pt").input_values  # Batch size 1

# retrieve logits
logits = model(input_values).logits
 
# take argmax and decode
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)

Evaluation

This code snippet shows how to evaluate asapp/sew-tiny-100k-ft-ls100h on LibriSpeech's "clean" and "other" test data.

from datasets import load_dataset
from transformers import SEWForCTC, Wav2Vec2Processor
import torch
from jiwer import wer

librispeech_eval = load_dataset("librispeech_asr", "clean", split="test")

model = SEWForCTC.from_pretrained("asapp/sew-tiny-100k-ft-ls100h").to("cuda")
processor = Wav2Vec2Processor.from_pretrained("asapp/sew-tiny-100k-ft-ls100h")

def map_to_pred(batch):
    input_values = processor(batch["audio"][0]["array"], sampling_rate=16000, 
                             return_tensors="pt", padding="longest").input_values
    with torch.no_grad():
        logits = model(input_values.to("cuda")).logits

    predicted_ids = torch.argmax(logits, dim=-1)
    transcription = processor.batch_decode(predicted_ids)
    batch["transcription"] = transcription
    return batch

result = librispeech_eval.map(map_to_pred, batched=True, batch_size=1, remove_columns=["audio"])

print("WER:", wer(result["text"], result["transcription"]))

Result (WER):

"clean""other"
10.6123.74

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
SEWForCTC
Ревизия весов
282405e

0 моделей