/ Модель

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

Контекст
1 000 токенов
Лицензия
MIT
Архитектура
gigaam-ctc · dense
Библиотека
transformers
Опубликована
13 мая 2025

gigaam-ctc-with-lm

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

Неофициальная обёртка GigaAM-v2-CTC распознаёт русскую речь из аудио, используя beam search и внешнюю n-граммную языковую модель.

61скачиваний за 30 дней9лайковвеса обновлены14 июл 2025

Бенчмарки

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

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

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

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

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

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

Это неофициальная обёртка для Transformers модели GigaAM-v2-CTC, первоначально выпущенной SberDevices. Она предназначена для распознавания русской речи из аудио с декодированием beam search и повторным ранжированием гипотез внешней n-граммной языковой моделью. Обёртка поддерживает извлечение временных меток слов; для этой реализации указан шаг 40 мс. Модель использует архитектуру Conformer с CTC-декодированием и доступна через интерфейс библиотеки Transformers.

Модель подходит для транскрибации русской речи, в том числе с получением временных границ слов. Для работы требуются PyTorch, torchaudio и Transformers; в карточке приведены версии 2.7.1, 2.7.1 и 4.49.0 соответственно. Репозиторий распространяется по лицензии MIT. Качество распознавания может зависеть от акустических условий и соответствия речи обучающим данным; количественные оценки качества в карточке не приведены.

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

  • транскрибация русской речи в аудио
  • получение временных меток слов в записи
  • распознавание речи с декодированием beam search
  • повторное ранжирование гипотез распознавания с n-граммной языковой моделью

Ограничения

Карточка не приводит количественных оценок качества. Для работы требуются совместимые версии PyTorch, torchaudio и Transformers; указан шаг временных меток 40 мс.

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

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

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

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

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

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

Открыть на Hugging Face

Use In Colab

GigaAM-v2-CTC with ngram LM and beamsearch 🤗 Hugging Face transformers

This is an unofficial Transformers wrapper for the original GigaAM model released by SberDevices.

Russian ASR model GigaAM-v2-CTC with external ngram LM and beamsearch decoding.

Model info

This is GigaAM-v2-CTC with transformers library interface, beamsearch decoding and hypothesis rescoring with external ngram LM. In addition it can be use to extract word-level timestamps.

File gigaam_transformers.py contains model, feature extractor and tokenizer classes with usual transformers methods. Model can be initialized with transformers auto classes (see an example below).

Installation

my lib versions:

  • torch 2.7.1
  • torchaudio 2.7.1
  • transformers 4.49.0

You need to install kenlm and pyctcdecode:

pip install kenlm
pip install pyctcdecode

Usage

Usage is same as other transformers ASR models.

from transformers import AutoModel, AutoProcessor
import torch
import torchaudio

# load audio
wav, sr = torchaudio.load("audio.wav")
# resample if necessary
wav = torchaudio.functional.resample(wav, sr, 16000)

# load model and processor
processor = AutoProcessor.from_pretrained("waveletdeboshir/gigaam-ctc-with-lm", trust_remote_code=True)
model = AutoModel.from_pretrained("waveletdeboshir/gigaam-ctc-with-lm", trust_remote_code=True)
model.eval()

input_features = processor(wav[0], sampling_rate=16000, return_tensors="pt")

# predict
with torch.no_grad():
    logits = model(**input_features).logits

# decoding with beamseach and LM (tune alpha, beta, beam_width for your data)
transcription = processor.batch_decode(
    logits=logits.numpy(),
    beam_width=64,
    alpha=0.5,
    beta=0.5,
).text[0]

Decoding with timestamps

We can use decoder to extract word-level timestamps. For this we need to know model stride and set parameter output_word_offsets=True.

In our case (Conformer) MODEL_STRIDE = 40 ms per timestamp.

MODEL_STRIDE = 40
outputs = processor.batch_decode(
    logits=logits.numpy(),
    beam_width=64,
    alpha=0.5,
    beta=0.5,
    output_word_offsets=True
)
word_ts = [
    {
        "word": d["word"],
        "start": round(d["start_offset"] * MODEL_STRIDE / 1000, 2),
        "end": round(d["end_offset"] * MODEL_STRIDE / 1000, 2),
    }
    for d in outputs.word_offsets[0]
]

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Ревизия весов
07d97cf

0 моделей