/ Модель

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

Параметры
113 млн
Лицензия
Apache 2.0
Архитектура
wav2vec2 · dense

wav2vec2-base-superb-ks

Классификация текстаТекст → label3 профессии

Модель Wav2Vec2-base классифицирует короткие речевые аудиозаписи на ключевые слова, тишину и неизвестные слова.

7 992скачиваний за 30 дней19лайковвеса обновлены4 ноя 2021

Бенчмарки

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

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

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

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

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

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

Это версия модели S3PRL Wav2Vec2, перенесённая для задачи обнаружения ключевых слов в рамках бенчмарка SUPERB. Она классифицирует аудио высказывания по заранее заданным словам, а также по классам тишины и неизвестных слов; обучение проводилось на Speech Commands v1.0. Модель построена на Wav2Vec2-base и содержит 113,3 млн параметров.

Модель принимает речевое аудио с частотой дискретизации 16 кГц и выдаёт метки классов. Она подходит для распознавания команд и ключевых слов, в том числе в сценариях с быстрым локальным откликом. В README приведена точность 0,9643 при оценке через Transformers; фактические скорость и размер могут быть важны для развёртывания на устройстве.

Модель использует формат PyTorch и лицензию Apache-2.0. Карточка описывает поддержку английского языка; распознаваемый набор ограничен заранее заданными классами датасета Speech Commands, поэтому это не универсальная система распознавания речи.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Wav2Vec2-Base for Keyword Spotting

Model description

This is a ported version of S3PRL's Wav2Vec2 for the SUPERB Keyword Spotting task.

The base model is wav2vec2-base, which is pretrained on 16kHz sampled speech audio. When using the model make sure that your speech input is also sampled at 16Khz.

For more information refer to SUPERB: Speech processing Universal PERformance Benchmark

Task and dataset description

Keyword Spotting (KS) detects preregistered keywords by classifying utterances into a predefined set of words. The task is usually performed on-device for the fast response time. Thus, accuracy, model size, and inference time are all crucial. SUPERB uses the widely used Speech Commands dataset v1.0 for the task. The dataset consists of ten classes of keywords, a class for silence, and an unknown class to include the false positive.

For the original model's training and evaluation instructions refer to the S3PRL downstream task README.

Usage examples

You can use the model via the Audio Classification pipeline:

from datasets import load_dataset
from transformers import pipeline

dataset = load_dataset("anton-l/superb_demo", "ks", split="test")

classifier = pipeline("audio-classification", model="superb/wav2vec2-base-superb-ks")
labels = classifier(dataset[0]["file"], top_k=5)

Or use the model directly:

import torch
from datasets import load_dataset
from transformers import Wav2Vec2ForSequenceClassification, Wav2Vec2FeatureExtractor
from torchaudio.sox_effects import apply_effects_file

effects = [["channels", "1"], ["rate", "16000"], ["gain", "-3.0"]]
def map_to_array(example):
    speech, _ = apply_effects_file(example["file"], effects)
    example["speech"] = speech.squeeze(0).numpy()
    return example

# load a demo dataset and read audio files
dataset = load_dataset("anton-l/superb_demo", "ks", split="test")
dataset = dataset.map(map_to_array)

model = Wav2Vec2ForSequenceClassification.from_pretrained("superb/wav2vec2-base-superb-ks")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("superb/wav2vec2-base-superb-ks")

# compute attention masks and normalize the waveform if needed
inputs = feature_extractor(dataset[:4]["speech"], sampling_rate=16000, padding=True, return_tensors="pt")

logits = model(**inputs).logits
predicted_ids = torch.argmax(logits, dim=-1)
labels = [model.config.id2label[_id] for _id in predicted_ids.tolist()]

Eval results

The evaluation metric is accuracy.

s3prltransformers
test0.96230.9643

BibTeX entry and citation info

@article{yang2021superb,
  title={SUPERB: Speech processing Universal PERformance Benchmark},
  author={Yang, Shu-wen and Chi, Po-Han and Chuang, Yung-Sung and Lai, Cheng-I Jeff and Lakhotia, Kushal and Lin, Yist Y and Liu, Andy T and Shi, Jiatong and Chang, Xuankai and Lin, Guan-Ting and others},
  journal={arXiv preprint arXiv:2105.01051},
  year={2021}
}

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

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

GPU в ailist

Универсальный рантайм · text-classification

Нельзя запустить

Для архитектуры wav2vec2 нет загрузчика под задачу text-classification.

Класс архитектуры
Wav2Vec2ForSequenceClassification
Ревизия весов
372e048

0 моделей