Interfaze、diffusion-gemma-asr-smallをリリース:DiffusionGemmaの並列デノイジングデコーダを利用した6言語を認識するオープンソース拡散ASRモデル
Interfazeは、拡散デコーダを採用した多言語ASRモデル「diffusion-gemma-asr-small」をオープンソース化した。Googleの凍結されたDiffusionGemmaに約42Mパラメータのアダプタを追加し、6言語を認識する。転写コストはデノイジングステップ数に比例し、転写長には依存しない。LibriSpeech test-cleanで6.6%のWERを達成し、他の拡散ASRモデルをリードするが、自己回帰型Whisperには及ばない。
Interfaze(YC出身のスタートアップ)は、新しい音声認識モデル「diffusion-gemma-asr-small」をオープンソース化しました。このモデルは、自己回帰デコーダではなく拡散デコーダを使用して音声をテキストに変換します。多言語オーディオ拡散ASRモデルとしては初めてのものとされています。単一のアダプタで6言語を処理し、研究チームは凍結された26Bのバックボーンネットワーク上で約42Mパラメータ(モデル重みの約0.16%)のみを訓練しました。
まず、2つの用語を明確にします。自己回帰モデルはトークンを1つずつ生成しますが、拡散モデルはすべてのトークンを並列に洗練します。本モデルは音声からテキストへの変換に拡散アプローチを採用しています。
主な特徴
- Interfazeチームによると、初のオープンソース多言語拡散ASR:単一の約42Mパラメータのアダプタで6言語をカバー。
- DiffusionGemmaの拡散デコーダを介して転写を実行。一様ランダムトークン拡散を使用し、吸収方式は採用しない。
- 転写コストはデノイジングステップ数に比例し、転写長には依存しない。
- LibriSpeechで6.6%のWERを達成し、拡散モデルでトップ(Whisfusionの8.3%を上回る)だが、自己回帰型Whisperには劣る。
- アダプタはApache-2.0ライセンスで提供。DiffusionGemma(Gemma条項)とwhisper-small(MIT)は別途ロード。
diffusion-gemma-asr-smallとは
diffusion-gemma-asr-smallは、オーディオネイティブなASRモデルです。離散拡散デコーダを使用して音声をテキストに変換します。このデコーダはGoogleの26B混合エキスパートモデルDiffusionGemmaに属します。DiffusionGemmaは4Bパラメータを活性化し、128エキスパートとtop-8ルーティングを使用します。自己回帰ではなく離散拡散によりテキストを生成します。
拡散の詳細は特殊的です。ほとんどの拡散LLMは吸収方式を使用しますが、DiffusionGemmaは一様ランダムトークン拡散を採用します。固定長のキャンバスにランダムな語彙トークンを埋め、各ステップで確信度の高い予測を保持し、残りを再ランダム化します。数ステップ後、ノイズがテキストに収束します。
Interfazeはこのテキスト専用モデルに音声機能を追加しました。標準のDiffusionGemmaはテキスト、画像、ビデオを処理できますが、音声は処理できません。本リポジトリは訓練されたアダプタ(約42Mパラメータ)のみを提供し、凍結されたバックボーンは各リポジトリから個別にダウンロードします。
動作原理
モデルは生波形をLLMに直接入力しません。初期の試みはこれを行い失敗しました。凍結されたLLMはスペクトログラムを見たことがなく、埋め込み空間にフォルマントや音素の概念がありません。モデルは音声を無視して流暢なナンセンスを幻覚することを学習しました。
有効な設計では、凍結されたwhisper-smallエンコーダを特徴抽出器として使用し、デコーダとしては使用しません。Whisperは30秒の音声を1500フレームに変換し、各フレームは768次元の音響特徴を持ちます。次に、小さな訓練可能なプロジェクタがこれらのフレームを圧縮します。8倍ダウンサンプリングの畳み込み層と線形マッピングを使用し、出力は2816次元の188個の「オーディオトークン」になります。これらのトークンはプロンプトの予約スロットに分散されます。LoRAアダプタにより、バックボーンがこの新しいモダリティに注意を向けられるようになります。その後、デコーダは192トークンの転写キャンバスを約16ステップで双方向にデノイズします。
パイプラインは以下の通りです: 生音声 → whisper-smallエンコーダ(凍結)→ プロジェクタ(訓練、約19M)→ DiffusionGemmaエンコーダのトークンスロットに分散 → DiffusionGemmaデコーダが192トークンキャンバスをデノイズ(双方向、オーディオにクロスアテンション)→ 転写テキスト
訓練のブレークスルー
初期の訓練は停滞し、損失は8付近で横ばいでした。失敗は循環的でした。プロジェクタがランダムに初期化されたため、出力はノイズでした。アテンションはそれを無視することを学習し、プロジェクタにほとんど勾配が届きませんでした。モデルは学習しませんでした。
解決策はプロジェクタを直接監視することでした。研究チームは188個のオーディオトークンを凍結されたDiffusionGemmaのlm_headに通し、転写テキストに対してCTC損失を適用しました。CTC(Connectionist Temporal Classification)は、アテンションを必要とせずに音響特徴をテキストにアライメントします。これにより膠着状態を回避できました。オーディオ埋め込みは正しい単語を線形に予測できるようになり、CTC損失は300ステップで24から8.6に低下しました。LibriSpeech test-cleanでは、英語WERが10エポックで90%→52%→14.6%→6.6%と改善しました。
パフォーマンスとベンチマーク
WER(Word Error Rate)は低いほど良いです。モデルはFLEURS、LibriSpeech、VoxPopuliで訓練されました。以下のスコアはWhisperテキスト正規化器を使用し、16拡散ステップです。
| ベンチマーク | 指標 | スコア | | --- | --- | --- | | LibriSpeech test-clean (en) | WER | 6.6% | | FLEURS 英語 | WER | 15.7% | | VoxPopuli 英語 | WER | 18.5% | | FLEURS ヒンディー語 | CER | 15.8% | | FLEURS 中国語 | CER | 29.6% |
他の拡散または非自己回帰ASRと比較してリードしています。
| モデル | アプローチ | LibriSpeech test-clean | | --- | --- | --- | | TransFusion (2022) | 多項拡散 | ~6–7%(概念実証) | | Whisfusion (2025年8月) | Whisper-large-v3 + マスク拡散 | 8.3% | | diffusion-gemma-asr-small (2026) | Whisper-small + DiffusionGemma | 6.6% |
自己回帰型Whisperと比較すると劣ります。チームはこのギャップをアーキテクチャではなくデータの問題と位置づけています。
| ベンチマーク | 本モデル | Whisper-small | Whisper-large-v3 | | --- | --- | --- | --- | | LibriSpeech clean | 6.6% | ~3.4% | ~2.0% | | FLEURS-en | 15.7% | ~9–10% | ~4–5% | | VoxPopuli-en | 18.5% | ~9–11% | ~7–10% |
デノイジングステップのスイープでは、ほぼ平坦な曲線が示されました。
| ステップ数 | FLEURS-en WER | 速度 | | --- | --- | --- | | 8 | 15.7% | 14.9× リアルタイム | | 16 | 15.6% | 10.3× | | 32 | 15.2% | 6.5× | | 48 | 15.6% | 4.7× |
8ステップから48ステップに増やしてもWERは約0.1ポイントしか改善せず、レイテンシは約3倍になります。モデルは約8回の並列パスで収束し、10秒のクリップに対して約0.7~1.5秒のモデル時間です。
使用例
バッチ転写パイプラインは並列デコードの恩恵を受け、コストはクリップ長ではなくデノイジングステップ数で決まります。10秒のクリップも短いクリップとほぼ同じパス数で済みます。
多言語転写は単一のアダプタで実行でき、英語、ドイツ語、フランス語、スペイン語、ヒンディー語、中国語(マンダリン)をカバーします。チームは言語ごとに別のモデルをロードする必要がありません。
非自己回帰ASR研究の再現可能なベースラインとなります。このレシピは小さなアダプタで凍結LLMを接地します。研究者はより多くの音声データや大きなエンコーダで拡張できます。
はじめ方
モデルはHubで提供されています。アダプタ、model.py、audio.py、実行可能なinference.pyが含まれます。DiffusionGemmaのサポートには、transformersをメインブランチからインストールする必要があります。
pip install torch peft soundfile librosa huggingface_hub \
"transformers @ git+https://github.com/huggingface/transformers.git"Pythonで転写:
import sys, soundfile as sf
from huggingface_hub import snapshot_download
repo = snapshot_download("interfaze-ai/diffusion-gemma-asr-small") # アダプタ、約170MB
sys.path.insert(0, repo)
from inference import load, transcribe
model, tok, fe = load(f"{repo}/diffusion_asr_small.pt", device="cuda")
wav, sr = sf.read("audio.wav") # 16kHz モノラル float32
print(transcribe(wav, model, tok, fe, max_steps=16))ダウンロードしたリポジトリ内からコマンドラインでも実行できます:
python inference.py audio.wavmax_steps引数は速度と精度のトレードオフを設定します。チームによると8ステップがほぼ最適で最速、デフォルトは16です。ベースモデルは各々のライセンスに従ってロードされます:DiffusionGemmaはGemma条項、whisper-smallはMITです。