/ Модель

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

Параметры
18,9 млн
Лицензия
Apache 2.0
Архитектура
dual_ctc · dense
Базовая модель
distilhubert
Библиотека
transformers
Опубликована
6 мар 2026

distilhubert-hiragana-ctc

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

Компактная японская модель распознавания речи, преобразующая аудио в последовательности хираганы или фонем с помощью двух CTC-голов.

85скачиваний за 30 дней1лайквеса обновлены6 мар 2026

Бенчмарки

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

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

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

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

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

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

TylorShine разработал лёгкую японскую модель распознавания речи на основе DistilHuBERT с двумя CTC-головами: одна выводит хирагану, другая — фонемы. Модель содержит 18,9 млн параметров и принимает аудио с частотой дискретизации 16 кГц. Автoreгрессивного декодера нет, поэтому модель стабильно выдаёт последовательности хираганы или фонем без повторяющихся галлюцинаций декодера.

Архитектура использует промежуточное представление энкодера DistilHuBERT и две CTC-головы; для хираганы указано 84 класса, для фонем — 44. В приведённых оценках ошибка распознавания хираганы составляет 9,09% на JSUT-BASIC5000 и 12,5% на наборе JVS pallarel100; на шёпоте из JVS whisper10 она выше — 39,4%. Для загрузки в Transformers требуется разрешить пользовательский код через trust_remote_code=True. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

Модель выводит хирагану и фонемы, а не произвольный текст японской письменности; качество заметно ниже на шёпоте (KER 39,4% в указанной оценке). Для загрузки требуется trust_remote_code=True.

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

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

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

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

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

Открыть на Hugging Face

distilhubert-hiragana-ctc

DistilHuBERTをベースに、ひらがなと音素のデュアルCTC(Dual CTC)ヘッドを搭載した軽量な日本語音声認識(ASR)モデルです。
自己回帰デコーダを持たないため繰り返すハルシネーションを起こさず、ひらがな(および音素)のみを安定して出力します。

このモデルはカスタムアーキテクチャを採用しており、Hugging Faceの AutoModel (trust_remote_code=True) を使用して簡単に読み込むことができます。

🚀 元モデルからの変更点

オリジナルである japanese-wav2vec2-large-hiragana-ctc から以下の点を変更しています。

  1. ベースモデルを DistilHubert に変更 よりコンパクトで軽量な DistilHuBERT をエンコーダに採用しました。
  2. Head位置の変更とMLP化 DistilHuBERTに合わせて、音素CTCとかなCTCの両方を3層目に配置し、音素はノーマライズ->ドロップアウト->線形層に、かなはノーマライズ->線形層->アクティベーション->ドロップアウト->線形層としました。
  3. Hugging Face AutoModel ネイティブ対応 カスタムモジュール (modeling_dual_ctc.py) を同梱したため、ローカルのチェックポイントファイルを意識することなく、transformers から直接モデルをロードして推論できるようになりました。

🏗 Architecture

Audio (16kHz) → DistilHuBERT Encoder
                  ├── Intermediate Layer 2 → Kana CTC Head (84 classes)
                  └── Intermediate Layer 2 → Phoneme CTC Head (44 classes)

💻 Usage

本モデルはカスタムコード(DualCTCModel)を使用しているため、ロード時に trust_remote_code=True を指定する必要があります。

インストール

pip install torch torchaudio transformers

推論コードの例

import torch
import torchaudio
from transformers import AutoFeatureExtractor, AutoModel, PreTrainedTokenizerFast

model_id = "TylorShine/distilhubert-hiragana-ctc"

# 特徴量抽出器とモデルのロード
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id, trust_remote_code=True)
model.eval()

# トークナイザーのロード
kana_tokenizer = PreTrainedTokenizerFast.from_pretrained(model_id, subfolder="kana_tokenizer")
phoneme_tokenizer = PreTrainedTokenizerFast.from_pretrained(model_id, subfolder="phoneme_tokenizer")

# 音声ファイルの読み込み (16kHzにリサンプリング)
waveform, sample_rate = torchaudio.load("nihongo_no_onsei.wav")
if sample_rate != 16000:
    resampler = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=16000)
    waveform = resampler(waveform)

# 前処理
inputs = processor(waveform.squeeze().numpy(), sampling_rate=16000, return_tensors="pt")

# 推論
with torch.no_grad():
    outputs = model(**inputs)

# ひらがなと音素のロジットを取得
kana_logits = outputs["kana_logits"]
phoneme_logits = outputs["phoneme_logits"]

# Greedy Decoding
kana_preds = torch.argmax(kana_logits, dim=-1).tolist()
phoneme_preds = torch.argmax(phoneme_logits, dim=-1).tolist()

# print("Kana Token IDs:", kana_preds[0])
# print("Phoneme Token IDs:", phoneme_preds[0])

# `model.ctc_decode()` でトークンをテキストに変換
kana_text = model.ctc_decode(kana_preds, kana_tokenizer, is_kana=True)
phoneme_text = model.ctc_decode(phoneme_preds, phoneme_tokenizer, is_kana=False)

print("Kana:", kana_text)
print("Phoneme:", phoneme_text)

📊 Model Details & Evaluation

PropertyValue
ArchitectureDistilHuBERT + Dual CTC (Kana & Phoneme)
PrecisionBF16
Kana vocab84 tokens
Phoneme vocab44 tokens
DatasetConditionKERPER
JSUT-BASIC5000スタジオ収録、単一話者9.09%8.26%
JVS pallarel100100話者12.5%8.65%
JVS whisper10100話者、ささやき声39.4%28.6%
ReazonSpeech (20k samples from medium subset)TV音声30.5%25.3%

📜 License

Apache 2.0 license. See LICENSE for details.

🎓️ References / Acknowledgements

本モデルのベースとさせていただいたプロジェクト(Wav2Vec 2.0版)に関する詳細は、以下をご参照ください。

エンコーダーモデル違いで、モデルサイズが少し大きく、ノイズ耐性の良好な wavlm-base-plus-hiragana-ctc もあります。

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

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

GPU в ailist

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

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

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

Класс архитектуры
DualCTCModel
Ревизия весов
01ffc3e

0 моделей