/ Модель

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

Базовая модель
wav2vec2-xls-r-300m
Библиотека
transformers
Опубликована
25 ноя 2025

wav2vec2-xls-r-300m-rinpoche

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

Дообученная wav2vec 2.0 модель для распознавания тибетской речи Гарчена Ринпоче в аудиозаписях.

104скачиваний за 30 дней0лайковвеса обновлены17 сен 2026

Бенчмарки

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

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

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

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

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

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

wav2vec2-xls-r-300m-rinpoche — модель распознавания тибетской речи, разработанная GarchenArchive для транскрибирования выступлений Гарчена Ринпоче. Это дообученная на базе facebook/wav2vec2-xls-r-300m модель с CTC-выходом и символьным словарём из 129 токенов; для декодирования также доступна языковая модель KenLM на 5-граммах. На вход принимает монофоническое аудио с частотой 16 кГц, на выходе формирует текст без заданного максимума длины.

Модель обучена на записях одного диктора и специфическом речевом регистре. На тестовом наборе из 1 394 высказываний CER составляет 0,1867 при жадном декодировании и 0,1856 с KenLM; качество выше на длинных фрагментах, чем у сравниваемой Whisper-модели, и ниже на коротких. KenLM построена на более ранних расшифровках, а часть тибетских символов отображается в неизвестный токен; модель также склонна к близким по написанию ошибкам. Лицензия в предоставленных данных не указана.

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

  • Транскрибирование выступлений Гарчена Ринпоче на тибетском языке
  • Получение текстовых расшифровок из монофонических аудиозаписей 16 кГц
  • Декодирование распознанной речи с использованием KenLM
  • Подготовка черновых субтитров для записей одного диктора

Ограничения

Модель настроена на одного диктора и специфический регистр речи, поэтому обобщение на другие голоса и тибетские корпуса может быть слабым. KenLM обучена на более ранних расшифровках, а некоторые символы тибетского письма отображаются в [UNK]; в транскрипциях встречаются близкие по написанию ошибки.

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

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

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

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

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

Открыть на Hugging Face

wav2vec2-xls-r-300m-rinpoche

Tibetan speech-to-text for Garchen Rinpoche's speech, fine-tuned from facebook/wav2vec2-xls-r-300m with a CTC head over a 129-token character vocabulary. A 5-gram KenLM (kenlm_5gram.bin) is included for beam-search decoding.

  • Task: automatic speech recognition
  • Language: Tibetan (bo)
  • Input: 16 kHz mono audio
  • Output rate: 50 frames/sec (20 ms stride); no maximum output length

Usage

import json, torch
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from huggingface_hub import hf_hub_download
from pyctcdecode import build_ctcdecoder

REPO = "GarchenArchive/wav2vec2-xls-r-300m-rinpoche"
processor = Wav2Vec2Processor.from_pretrained(REPO)
model = Wav2Vec2ForCTC.from_pretrained(REPO).eval()

kenlm_path = hf_hub_download(REPO, "kenlm_5gram.bin")
cfg = json.load(open(hf_hub_download(REPO, "decoder_config.json")))

# Labels straight from the vocab. pyctcdecode wants the CTC blank as "" and the
# word delimiter "|" as " ". The tsheg (་) is an ordinary character -- leave it.
vocab = processor.tokenizer.get_vocab()
labels = [tok for tok, _ in sorted(vocab.items(), key=lambda kv: kv[1])]
labels = ["" if t == "[PAD]" else " " if t == "|" else "⁇" if t == "[UNK]" else t
          for t in labels]

decoder = build_ctcdecoder(labels=labels, kenlm_model_path=kenlm_path,
                           alpha=cfg["alpha"], beta=cfg["beta"])

def transcribe(waveform, sampling_rate=16000):
    inputs = processor(waveform, sampling_rate=sampling_rate, return_tensors="pt")
    with torch.no_grad():
        logits = model(inputs.input_values).logits[0].cpu().numpy()
    return decoder.decode(logits, beam_width=cfg["beam_width"],
                          beam_prune_logp=cfg["beam_prune_logp"],
                          token_min_logp=cfg["token_min_logp"])

For greedy decoding, skip the decoder:

ids = logits.argmax(-1)
text = processor.tokenizer.decode(ids, skip_special_tokens=True)

Do not replace spaces with tshegs. The tokenizer encodes a real space in the transcripts as |, so a space in the output is a genuine space — 94 % of them follow a shad (། ). An earlier version of this card recommended .replace(" ", "་") and a tsheg-as-word-separator decoder alphabet. Both are harmful: on this model's test set they raise SER from 0.3682 to 0.4351 and 0.3840 respectively.

Evaluation

Measured on the test split of GarchenArchive/stt-rinpoche-202609 (1,394 utterances). That split contains the 554 utterances of the earlier stt-rinpoche-202605 test split verbatim, so the middle columns are directly comparable with the previous release.

CER via jiwer; WER and SER (syllable error rate) via tibetan_wer, micro averages.

Decodingfull (1,394) CER / WER / SER202605 subset (554)round-2 rows (840)
Greedy0.1867 / 0.3743 / 0.37190.1654 / 0.3365 / 0.33060.2150 / 0.4222 / 0.4258
Beam + KenLM0.1856 / 0.3716 / 0.36820.1647 / 0.3338 / 0.32730.2134 / 0.4194 / 0.4215

The KenLM's contribution is small but consistent: SER −0.004, WER −0.003, CER −0.001 against greedy.

Change from the previous release

Same 554 utterances, both decoded with beam + KenLM as above:

previousthis release
CER0.17170.1647
WER0.34290.3338
SER0.33600.3273

The previous release remains available as revision 8a9592c0 of this repo. Note that billingsmoore/garchen-stt is a redirect to this repo, not a separate copy: anything loading that name unpinned now gets these weights. Pin revision="8a9592c0a20fb8dba3ecaa5c6973c67694cb0146" to keep the previous model.

Relative to the encoder-decoder model

Against GarchenArchive/whisper-large-v3-turbo-rinpoche (beam 5), which has a 448-token output ceiling:

subset (mean clip length)this model CER / SERwhisper CER / SER
202605 rows (7.0 s)0.1647 / 0.32730.2192 / 0.3296
round-2 rows (4.0 s)0.2134 / 0.42150.1796 / 0.3268

This model is stronger on longer clips; whisper is stronger on shorter ones. The two are complementary, and LLM-mediated fusion of their outputs reaches CER 0.1633, WER 0.2804, SER 0.2846 on the full split.

Limitations

The KenLM is stale. It was built on the 202605 transcripts and has not been rebuilt for this release. Rebuilding it on the 202609 transcripts is outstanding.

Substitution-heavy. The model tends to emit near-miss spellings that are close in edit distance without being real words — the complement of the encoder-decoder model's tendency to drop material, which is why fusing the two works.

Vocabulary contains stray symbols. The 129-token vocab includes å, «, ^, ~ and ASCII digits alongside Tibetan. It was not changed for this release, so a few characters in the new material (notably ཿ, ཽ, ཻ) map to [UNK] — about 0.07 % of characters.

Domain. Fine-tuned on a single speaker in a specific register. Prior experiments found that fine-tuning on general Tibetan corpora (Kham, NICTTIB1) degrades performance substantially.

Training

Continued from the previous release on GarchenArchive/stt-rinpoche-202609 (train split: 14,426 utterances, 21.9 h).

methodfull fine-tune, feature encoder frozen
learning rate1e-5, linear, 500 warmup steps
batch8, gradient checkpointing, bf16 autocast
selectionbest eval CER (step 7,000 of 8,000)

The 1e-5 rate is an order of magnitude below the 1e-4 used for fine-tuning from the pretrained base, because this run continues from an already-converged model with a cold optimizer state. Eval CER was still improving when training stopped, so a longer run would likely do better.

Transcriber annotations that were never spoken (❓, parenthesised alternate readings, ༼ ༽) were stripped from the training text.

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

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

GPU в ailist

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

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

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
254e195

0 моделей