Phonon-2.5:156 MBの音声文字起こしモデル、25言語に対応 平均スコアでWhisper large-v3を上回る
Fermion Researchが新世代のローカル音声認識モデルを公開:極小ファイルがどのように認識精度を維持しているのか、そして20秒で1時間の音声を文字起こしする条件を読み解く。
Fermion Researchは、軽量なオンデバイス音声認識(ASR:人間の音声をテキストに自動変換する技術)モデル「Phonon-2.5」、および英語に特化した「Phonon-2.5 English」を公開した。
主な特徴は以下の通りである:
- 小型かつ単一ファイルで多言語対応:モデルのダウンロードサイズは 156 MB(ディスク展開時は 178 MB)。単一ファイルで 25 言語を自動識別・認識できる(主にヨーロッパおよび地中海沿岸の言語であり、中国語には非対応)。
- 低エラー率と小型化の両立:FLEURS の 25 言語ベンチマークテストにおいて、平均単語エラー率(WER)は 11.71% を記録。サイズが近い Parakeet Redux(12.18%)や、16 倍のサイズを持つ非圧縮ベースモデル Parakeet TDT 0.6B v3(13.26%)を下回る。
- クロスプラットフォームでのローカルオフライン動作:前世代のアーキテクチャと推論エンジンを踏襲し、Apple silicon、一般的な x86-64 / Arm CPU、および NVIDIA GPU をサポート。音声をネットワーク経由でアップロードする必要がない。
- 重みのオープン化とクレジット表示による商用利用の許諾:モデルの重みは CC-BY-4.0 ライセンスで公開され、クレジット表示を条件に商用利用、改変、再配布が認められている。コマンドラインツールは Apache 2.0 ライセンスを採用している。
同一のFLEURS 25言語ベンチマークによる比較:ファイルサイズと認識エラー率は分けて確認する。どちらのバーも短いほど優れている。
バーの長さはそれぞれ3,200 MBと15%のリニアスケールで描画。データは公式公開チャートによる。ダウンロードサイズは実行時メモリを表すものではない。
横軸はダウンロードサイズ(対数目盛)、縦軸は FLEURS 25 言語平均単語エラー率(低いほど良く、上方向がより優れる)。チャートは各モデルのサイズと精度のトレードオフ関係を示しており、Phonon-2.5 は同等の極小サイズにおいてより低いエラー率を達成している。出典:Fermion Research 公開チャート。
156 MBは何をもたらすのか
一般的な高精度音声認識モデルのサイズは数 GB に達することが多い。たとえば OpenAI の Whisper large-v3 のダウンロードサイズは約 3.1 GB、Whisper large-v3-turbo は約 1.6 GB、Meta の MMS-1B-all も 4 GB 近くに達する。一方、同じ数百 MB 規模の小型モデルでは、従来は認識精度の確保が困難だった。チームが公表した比較チャートによると、Phonon-2.5 とサイズが近い Whisper base の平均単語エラー率は 53.71% に達し、エラー率は Phonon-2.5(11.71%)の約 4.6 倍である。サイズが同等でありながら性能に大きな隔たりがあることは、単にサイズを小さくするだけであれば珍しくなく、極小サイズを維持しながら実用的な認識性能を保てるかどうかが難所であることを示している。
これは実際の運用において明確な役割分担の違いをもたらす。具体的なタスクを例に挙げると、ユーザーが対応言語のインタビュー録音をローカルで動作する推論エンジンに渡すと、句読点、大文字・小文字、単語ごとのタイムスタンプが付与されたテキストが直接文字起こしされる。プロセス全体がローカルかつオフラインで完結し、音声をクラウドの文字起こしサービスにアップロードする必要がない。
モデルファイルはいったん PC にダウンロードされてから、録音データをオフラインで処理する:
- 配布とストレージのハードル低減:156 MB のダウンロードファイル(英語特化版は 158 MB、ディスク占有量は 178 MB)により、ネットワークのダウンロード時間とストレージ容量の消費が大幅に抑えられ、エッジデバイスやパーソナルコンピュータへの迅速な配布が容易になる。
- ダウンロードサイズと実行時メモリは別物:極小ファイルが主に最適化するのはダウンロードとストレージのコストである。エンジンのコールドスタート時間や実行時に実際に消費されるメモリ容量は推論エンジンの実装に依存し、ダウンロードサイズが小さいからといってそのまま省メモリであると判断することはできない。
重みを5段階で保存し、ロード後に展開して計算する
Phonon-2.5 は NVIDIA の Parakeet TDT 0.6B v3 から派生したモデルであり、2,508 MB の全精度オリジナルモデルを 156 MB の配布ファイルに圧縮している。対照として、ベースモデルに対して一般的な学習後 4 ビット量子化(サイズ約 472 MB)を施した場合、25 言語における平均単語エラー率は 14.48% へと悪化する。
大幅にサイズを圧縮しながら認識能力を維持している仕組みを理解するには、まず重みの本質と低ビット表現を把握しておく必要がある:
- 重みと低ビットの概念:ニューラルネットワークの計算において、重みとは入力された音声信号の影響度合いを調整する数値である。低ビット量子化とは、より少ない 2 進数ビット数でこれらの数値を保存する手法を指す。
- 5段階の離散的な重み(約 2.1 bit/重み):Phonon のエンコーダーは、各重みの値をゼロ(0)、あるいは絶対値の異なる正負 2 段階の振幅(+a、-a、+b、-b)という 5 つの離散状態に制約する。ここで a と b の振幅は、出力行ごとに個別に学習される。
- パッキング符号化方式:コンパクトに保存する際、3 進数(base-3)自体に 0 および正負の符号が含まれており、5 つの 3 進数値を 1 バイトにパッキングする。非ゼロの重みに対しては、振幅 a または b のどちらに属するかを選択するために追加で 1 ビットを使用する。これにより、符号ビットを外付けすることなく、重みあたり平均約 2.1 ビットのみの占有で収まる。
ロードと計算のフロー:ダウンロードサイズと実行時メモリは別物
推論エンジンが音声を処理する際、ファイルのロードからハードウェアでの計算に至る一連の処理を経るため、156 MB のダウンロードファイル(ディスク占有量 178 MB)は実行時メモリと等価ではない:
- エンジンは起動の初期化時にコンパクトなファイルを 1 回だけ読み込んでアンパックし、その後のデコード計算ではパッキングされたバイト列を再読込しない。
- Apple silicon を搭載した Mac では、MLX エンジンがロード時にエンコーダーを 16 ビットの密なテンソルに展開し、GPU 上で計算を実行する。
- x86-64 および Arm CPU 環境では、ロード時に各行の重みが 8 ビット整数(INT8)に再量子化され、永続スレッドプール内で CPU ベクトル命令セットを活用してドット積を実行する。
- NVIDIA GPU 上では、ロード時に重みが 16 ビットテンソルに展開され、事前構築された CUDA グラフと連携してバッチ処理が実行される。
公式にはバージョン 2.5 の具体的な学習レシピやデータ配合比率は公開されておらず、前世代のフォーマットとエンジンを踏襲したとの説明にとどまっている。そのため、一部のテストスコアがベースモデルを上回ったからといって、圧縮そのものが認識能力を向上させたと速断することはできない。
平均でより高精度、101.8%はどう計算されたのか
発表情報の中で最も注目を集めたアピール指標は、「単語精度が 2.5 GB の全精度ベースモデルの 101.8% に達した」という点である。この数値を理解するには、まず単語エラー率とテストの背景を整理する必要がある。
音声認識の品質を評価する中核指標は、一般に単語エラー率(Word Error Rate, WER)である。計算方法は、文字起こし結果において欠落した単語、誤認識された単語、余計に追加された単語の合計数を、正解テキストの総単語数で除算する。たとえば 10% の WER は、正解単語 100 語につき概ね 10 個の単語レベルの編集エラーが生じることを意味し、必ずしも 90 語が完全に正解していることと等価ではない。テストに用いられた FLEURS は各言語の読み上げ音声を収録した公開の完全テストセットであり、評価には同一のコードとテキスト正規化基準が適用されている。ただし、25 言語の読み上げにおける平均性能は、騒音環境下の実際の会議、多言語の混在、あるいは中国語の利用シナリオを代表するものではない。
いわゆる 101.8% とは、25 言語の平均単語エラー率から換算された相対的な精度保持比率であり、絶対的な認識正解率ではない。計算式は以下の通りである:
相対精度保持比率 = (100 - Phonon-2.5 平均 WER) / (100 - ベースモデル平均 WER)
全精度ベースモデルの 25 言語における平均 WER は 13.26% であり、換算された基準単語精度は 86.74% となる。Phonon-2.5 の平均 WER は 11.71% に低下し、対応する単語精度は 88.29% となる。両者を除算すると 88.29 / 86.74 ≈ 101.8% が得られる。この比率はモデル全体の平均エラー率が全精度ベースモデルより低いことを意味しており、絶対的な精度が 100% を超えたことを意味するわけではない。
公開された表をもとに再計算すると、チャート上部の 101.8% は平均 WER から換算された結果と一致する。下部のバーは各言語個別の比率を示している。これら 25 言語の個別比率を改めて平均すると約 102.19% となり、この 2 つの計算方式を混同してはならない。
横軸は全精度ベースモデル(Parakeet TDT 0.6B v3)と比較して保持された単語精度の比率(ベースラインは 100%)。上部の 101.8% は 25 言語の平均 WER から換算された比率(約 88.29% / 86.74%)であり、平均エラー率がより低いことを示しており、絶対的な認識正解率ではない。下部のバーは各言語個別の比率を示す。出典:Fermion Research 公開チャート。
公開された FLEURS 25 言語テストセットの絶対エラー率から見ると:
- Phonon-2.5 の 25 言語平均 WER は 11.71%;
- Parakeet TDT 0.6B v3(2.5 GB 全精度ベースモデル) の平均 WER は 13.26%;
- サイズがベースモデルのわずか 6.2%(156 MB 対 2,508 MB)でありながら、平均エラー率は 1.55 ポイント 低下した。
超小型モデルが平均スコアで逆転した要因はどこにあるのか。言語ごとの比較からは明確な差異が浮かび上がる:
- 主要言語では全精度ベースモデルが依然として優位:英語(ベース 6.53% 対 Phonon 6.58%)、スペイン語(4.69% 対 4.80%)、フランス語(6.61% 対 8.12%)、ドイツ語(5.96% 対 6.67%)、イタリア語(4.75% 対 5.21%)、オランダ語(7.93% 対 9.21%)、ロシア語(7.21% 対 8.67%)において、全精度ベースモデルの方がエラー率が低い。
- ロングテール言語での大幅な逆転が平均値を引き上げ:オリジナルベースモデルの認識性能が低かった一部の言語において、Phonon-2.5 は顕著な改善を見せている。特に顕著なのはギリシャ語(36.11% から 20.83% へ低下)、ラトビア語(23.66% から 14.92% へ低下)、スロベニア語(24.70% から 18.53% へ低下)であり、平均スコアを大きく押し上げた。
- 他の比較モデルの位置付け:著者が公開したデータによると、Canary 1B v2 モデルは 25 言語の平均 WER でさらに低い 9.97% を達成している(同モデルのサイズは約 3.9 GB)。OpenAI の Whisper large-v3 は 25 言語の平均 WER が 12.18%(Phonon-2.5 の 11.71% より高い)を記録しているが、英語、スペイン語、フランス語、ドイツ語などの主要な個別言語では、Whisper のエラー率の方が依然として Phonon-2.5 より低い。
Whisper large-v3 は英語、スペイン語、フランス語、ドイツ語などの個別言語において依然として Phonon-2.5 よりエラー率が低いが、25 言語平均ではロングテール言語に引き上げられている。Canary 1B v2 はさらに低い 9.97% の平均エラー率を示す。出典:Fermion Research 公開チャート。
2回の「14言語でリード」の背後にある異なる比較対象
公式資料で 2 回言及されている「25 言語中 14 言語でリード」は、同一の言語群と混同されやすいが、実際には全く異なる 2 つの比較対象に対応している:
- サイズが近い Parakeet Redux との比較:Phonon-2.5 はそのうち 14 言語でエラー率が低い。たとえば英語テストにおいて、Phonon-2.5(6.58%)は Redux(7.32%)を上回っているものの、全精度ベースモデル(6.53%)にはわずかに及ばない。
- 16 倍のサイズを持つ全精度ベースモデル Parakeet TDT 0.6B v3 との比較:Phonon-2.5 は同様に 14 言語でより優れた性能を示しているが、この言語群は主にベースモデルがもともと不得手だったロングテール言語に集中している。たとえばラトビア語において、Phonon-2.5(14.92%)はベースモデル(23.66%)を大幅にリードしているが、Redux(14.76%)と比較するとわずかに高い。
インタラクティブ機能では、平均スコアと公式図に記載された 6 つの個別言語を切り替えて Phonon と Whisper の差異を確認できる。さらに 2 組の「リードする 14 言語」の具体的なリストを絞り込んで照合できる。なお、モデルが対応する 25 言語に中国語は含まれていない。
まずPhononとWhisperの同一項目でのスコアを確認し、次に2組の「14言語」を検証する。単語エラー率(WER)は低いほど良く、バーは短いほど優れている。
25言語平均:PhononはWhisperより0.47ポイント低い。英語などの個別言語に切り替えると結果は逆転する。ここでの6つの個別言語は公式の比較チャートに基づく。
英語はReduxに勝ちベースモデルにわずかに及ばず、ラトビア語はベースモデルに勝ちReduxにわずかに及びません。2つの「14 / 25」は互換できません。
| 言語 | Phonon 156 MB | Redux 178 MB | ベースモデル 2,508 MB |
|---|---|---|---|
| 英語 (English) | 6.58% | 7.32% | 6.53% |
| スペイン語 (Spanish) | 4.80% | 4.99% | 4.69% |
| フランス語 (French) | 8.12% | 9.03% | 6.61% |
| ドイツ語 (German) | 6.67% | 7.57% | 5.96% |
| イタリア語 (Italian) | 5.21% | 5.12% | 4.75% |
| ポルトガル語 (Portuguese) | 6.53% | 6.44% | 6.27% |
| オランダ語 (Dutch) | 9.21% | 9.45% | 7.93% |
| ポーランド語 (Polish) | 10.20% | 10.19% | 8.55% |
| ロシア語 (Russian) | 8.67% | 9.01% | 7.21% |
| ウクライナ語 (Ukrainian) | 7.89% | 8.05% | 7.27% |
| ルーマニア語 (Romanian) | 11.88% | 11.89% | 13.13% |
| チェコ語 (Czech) | 10.40% | 11.41% | 11.93% |
| スロバキア語 (Slovak) | 8.89% | 8.17% | 9.72% |
| ブルガリア語 (Bulgarian) | 13.34% | 13.02% | 13.48% |
| クロアチア語 (Croatian) | 12.24% | 11.43% | 13.21% |
| スウェーデン語 (Swedish) | 14.53% | 14.70% | 15.44% |
| デンマーク語 (Danish) | 18.20% | 17.91% | 19.05% |
| フィンランド語 (Finnish) | 12.02% | 11.84% | 13.08% |
| エストニア語 (Estonian) | 11.91% | 10.29% | 14.34% |
| ラトビア語 (Latvian) | 14.92% | 14.76% | 23.66% |
| リトアニア語 (Lithuanian) | 17.94% | 18.05% | 21.68% |
| ハンガリー語 (Hungarian) | 15.45% | 15.81% | 15.38% |
| スロベニア語 (Slovenian) | 18.53% | 18.88% | 24.70% |
| マルタ語 (Maltese) | 17.91% | 16.02% | 20.86% |
| ギリシャ語 (Greek) | 20.83% | 33.25% | 36.11% |
- Phonon
- 6.58%
- Redux
- 7.32%
- ベースモデル
- 6.53%
- Phonon
- 4.80%
- Redux
- 4.99%
- ベースモデル
- 4.69%
- Phonon
- 8.12%
- Redux
- 9.03%
- ベースモデル
- 6.61%
- Phonon
- 6.67%
- Redux
- 7.57%
- ベースモデル
- 5.96%
- Phonon
- 5.21%
- Redux
- 5.12%
- ベースモデル
- 4.75%
- Phonon
- 6.53%
- Redux
- 6.44%
- ベースモデル
- 6.27%
- Phonon
- 9.21%
- Redux
- 9.45%
- ベースモデル
- 7.93%
- Phonon
- 10.20%
- Redux
- 10.19%
- ベースモデル
- 8.55%
- Phonon
- 8.67%
- Redux
- 9.01%
- ベースモデル
- 7.21%
- Phonon
- 7.89%
- Redux
- 8.05%
- ベースモデル
- 7.27%
- Phonon
- 11.88%
- Redux
- 11.89%
- ベースモデル
- 13.13%
- Phonon
- 10.40%
- Redux
- 11.41%
- ベースモデル
- 11.93%
- Phonon
- 8.89%
- Redux
- 8.17%
- ベースモデル
- 9.72%
- Phonon
- 13.34%
- Redux
- 13.02%
- ベースモデル
- 13.48%
- Phonon
- 12.24%
- Redux
- 11.43%
- ベースモデル
- 13.21%
- Phonon
- 14.53%
- Redux
- 14.70%
- ベースモデル
- 15.44%
- Phonon
- 18.20%
- Redux
- 17.91%
- ベースモデル
- 19.05%
- Phonon
- 12.02%
- Redux
- 11.84%
- ベースモデル
- 13.08%
- Phonon
- 11.91%
- Redux
- 10.29%
- ベースモデル
- 14.34%
- Phonon
- 14.92%
- Redux
- 14.76%
- ベースモデル
- 23.66%
- Phonon
- 17.94%
- Redux
- 18.05%
- ベースモデル
- 21.68%
- Phonon
- 15.45%
- Redux
- 15.81%
- ベースモデル
- 15.38%
- Phonon
- 18.53%
- Redux
- 18.88%
- ベースモデル
- 24.70%
- Phonon
- 17.91%
- Redux
- 16.02%
- ベースモデル
- 20.86%
- Phonon
- 20.83%
- Redux
- 33.25%
- ベースモデル
- 36.11%
データ:Fermion Research 公開の FLEURS 評価。Whisper の 6 つの個別言語はスレッドの比較図より引用。グループフィルタは完全な 25 言語・3 モデル一覧表を使用。フィルタ後の平均値を完全な 25 言語のスコアと見なすことはできない。
英語特化版:Phonon-2.5 Englishの性能
多言語モデルに加え、チームは純粋な英語ワークフローを対象とした Phonon-2.5 English(モデルエイリアス phonon-2.5-en、ダウンロードサイズ 158 MB、ディスク占有量 178 MB)も公開した。
Phonon-2.5 English(158 MB)はオーディオブック、会議録、決算説明会などの全 7 テストセットにおいて前世代の Phonon-2 を上回り、平均 WER は 5.21% から 4.82% へと低下した。出典:Fermion Research 公開チャート。
オープンソース評価ベンチマークである Open ASR Leaderboard の 7 つの英語テストセット(LibriSpeech clean[明瞭なオーディオブック]および other[認識が難しいオーディオブック]、AMI 会議、Earnings-22 決算、GigaSpeech ポッドキャスト、SPGISpeech 金融口述、VoxPopuli 議会演説)において、Phonon-2.5 English は 7 項目すべてで前世代の Phonon-2 を上回り、平均単語エラー率は 5.21% から 4.82% へと低下した。
| モデル | ダウンロードサイズ | 7データセット平均 WER |
|---|---|---|
| Phonon-2.5 English | 158 MB | 4.82% |
| Underdog Bark 3.0 | 163 MB | 4.94% |
| Parakeet TDT 0.6B v3 (全精度ベースモデル) | 2,508 MB | 4.96% |
| Phonon-2.5 (25言語マルチリンガル) | 156 MB | 5.06% |
| Phonon-2 (前世代モデル) | 164 MB | 5.21% |
| Parakeet Redux | 178 MB | 5.69% |
英語専用版の平均スコアは多言語版より優れているものの(4.82% 対 5.06%)、具体的なテストセットでは傾向が分かれている。LibriSpeech の clean(1.60% 対 1.64%)と other(3.41% 対 3.56%)の 2 項目では多言語版の方がエラー率が低く、SPGISpeech では両者ともに 3.31% で同等となっている。
全精度ベースモデルの 4.96% は Open ASR Leaderboard の公開データ行を採用している。それ以外のモデルのデータは、チームが同リーダーボードの公開評価コードに沿って算出したものであり(そのうち Earnings-22 はリーダーボードのチャンク分割データセットを採用)、公式による同一環境での一斉再テストではない。
自分のPCでどう使うか
デスクトップアプリ:Detta
開発環境を構築することなく、日常的に使うソフトウェアで直接音声入力を利用したいユーザー向けに、公式から無料の Mac デスクトップアプリ Detta が提供されている(Apple silicon 搭載の Mac のみ対応、macOS 26.2 以降が必要)。
任意のアプリケーション内でショートカットキーを押して発話し、キーを離すとテキストが自動的に現在のウィンドウに入力される。内部では 2 つのモデルの協調動作が採用されている。音声からテキストへの変換はローカルで動作する Phonon が担当し、言い間違いの修正、フィラー(「um」など)の除去、重複表現の整理は専用のローカル Gluon モデルが担う。こうした文章整形・クレンジング効果は Phonon の単体モデル自体の機能には含まれない。
公式サイトの推敲(Polish)の例は直感的である。ユーザーが最初に「back to HTML. I mean XML」と発話して途中で HTML を XML と言い直した場合、最終的に出力されるテキストには「back to XML」のみが残り、文中の「um」や重複した表現も除去される。ここで示されているのは、Detta と Gluon が連携した文章整形の結果である。
上段は生の発話、下段はクレンジング後のテキスト。テキストの整形は Gluon によってローカルで実行される。スクリーンショットは公式サイトの製品例であり、Phonon-2.5 の使用は明記されていない。出典:Fermion Research。
Detta の公式サイトでは現在も内蔵モデルとして Phonon-2 が表記されており、開発者は 2.5 を段階的に配信中であるとしている。アプリをインストールした後に新バージョンが適用されているかどうかは、実際に配信されたアップデートに準じる。
モデルを指定したり、ファイルをバッチ処理したり、独自のソフトウェアに組み込みたい場合は、コマンドラインツールを使用できる。Python 3.10 以上が必要となる。以下は公式ドキュメントに準拠した使用方法であり、実機での検証テストは行っていないため、まずは元の発話内容を確認できる録音データで試行することを推奨する。
1. インストールと環境準備
Apple silicon を搭載した Mac では MLX エンジンを使用する。PC に Python 3.12 がインストールされている場合、ターミナルを開いて独立した仮想環境を作成したうえでインストールできる:
python3.12 -m venv .venv && source .venv/bin/activate
pip install "fermion-research[mlx]"
CPU 環境で動作させる場合:
- Linux(x86-64 / Arm64):巨大な CUDA ライブラリのダウンロードを避けるため、まず CPU 専用ホイールインデックスから PyTorch をインストールし、その後にツールをインストールできる:
pip install --no-deps torch --index-url https://download.pytorch.org/whl/cpu
pip install fermion-research
- Windows:そのまま
pip install fermion-researchを実行してインストールすればよい。
2. コマンドラインによる音声文字起こし
コマンドラインで文字起こしを行う際は、モデル名として明示的に phonon-2.5 を指定する必要がある。単に phonon コマンドを直接実行した場合、デフォルトで呼び出されるのは前世代の Phonon-2 のままであり、エンジンが自動的に新バージョンへ切り替わることはない。文字起こし対象の音声(例:recording.wav)を現在の作業ディレクトリに配置すると、ツールが自動的に音声の言語を検出する:
# 音声ファイルを文字起こしし、句読点と大文字・小文字を含むテキスト結果を標準出力に直接出力
fermion transcribe phonon-2.5 recording.wav
# 英語特化モデルを使用
fermion transcribe phonon-2.5-en call.wav
# 単語ごとの開始・終了タイムスタンプを含むJSONデータを出力
fermion transcribe phonon-2.5 recording.wav --json
コマンドラインツールは libsndfile を介して WAV、FLAC、OGG、AIFF 形式に対応しており、入力時に自動的に 16 kHz モノラルへリサンプリングされる。MP3 や M4A の音声については、ffmpeg で変換してから入力するようコマンドライン上で案内される(デスクトップアプリ Detta が多様な音声・動画フォーマットを直接サポートしているのとは異なる)。
長尺の録音データの処理において、ツールは 1 時間の音声を一括して取り込むわけではない。35 秒を超える音声ファイルに対しては、無音や区切りに応じて自動的に約 25 秒〜35 秒のウィンドウに分割して個別にデコードし、最後に各区間のテキストを連結する。重要な長尺録音では、分割の境界部分における文のつながりや専門用語の精度を抜き取り確認することを推奨する。
3. ホットワード指定(Hotwords)
特定の人名や固有名詞を認識させたい場合は、簡潔なホットワード引数を渡すことができる。音響特徴が近い場合、デコーダーはその語彙を優先的に選択するが、最終的には実際の発音に依存し、絶対的な正解を保証するものではない:
fermion transcribe phonon-2.5 meeting.wav --hotwords "Ada, Quillon"
4. ローカル互換サーバーとDockerイメージ
ローカルサーバーを起動すると、OpenAI の音声 API に対応している既存アプリケーションのリクエスト先 URL(base_url)をローカル(例:http://127.0.0.1:8010/v1)に向け、モデル名を指定するだけで、文字起こしリクエストをローカルに誘導できる:
fermion serve phonon-2.5 --port 8010
このサーバーは /v1/audio/transcriptions エンドポイント、および WebSocket ストリーミング文字起こしに対応する /v1/audio/stream を提供する。Mac 上では fermion listen phonon-2.5 を実行してマイクからのリアルタイム集音を行うこともできる。
Python の依存関係を省略できるコンテナイメージは公式リポジトリを参照:
- CPU用コンテナイメージ:ghcr.io/fermionresearch/phonon-cpu
- NVIDIA GPU用コンテナイメージ:ghcr.io/fermionresearch/phonon-cuda
1時間の録音を約20秒で処理、どのように実現されたのか
実行スループットの速度に関して、開発者は公開スレッドで Phonon-2.5 のテストスコアを公表した:標準構成の M5 MacBook Air でリアルタイム比 179× の処理速度を達成し、8 コア AMD Zen 5 CPU では 147×、単一の NVIDIA H100 でのバッチ処理では 6,672× に達する。公式技術ドキュメントでは、新バージョンは前世代のフォーマットとエンジンを踏襲しており性能は基本的に同等であると説明されており、前世代の比較ベンチマークとして M5 MLX GPU で 174×、Zen 5 CPU で 143×、H100 バッチ処理で 6,680× という数値が提示されている。
Phonon-2.5 は前世代の推論エンジンを踏襲している。コンパクトなファイルはロード後にまず展開され、実行速度は各プラットフォームにおける計算、通信、スケジューリングの最適化によってもたらされる:
- Apple silicon Mac:MLX エンジンにより連続デコードの全プロセスを GPU 上で維持して計算し、1 ステップ進むごとの CPU との往復通信を回避して、16 ステップ進むごとに 1 回だけ CPU と同期することで、チップ内部の往復オーバーヘッドを大幅に削減している。
- CPU(x86-64およびArm):重みはロード時に INT8 フォーマットに変換され、ベクトル命令セットを活用して計算される。さらに各層の正規化、活性化、残差の結果を次層の 8 ビット入力バッファに直接書き込むことで、層間の処理を統合してメモリの反復転送を抑制している。
- NVIDIA GPU:音声を近い長さ(1 秒刻みのバケット)でグループ化して結合し、ロード時に静的計算グラフを事前構築することで、1 回の起動でバッチ全体を 16 ステップのデコードまで進め、スケジューリングと待機時間を大幅に削減している。
156 MBは配布ファイルサイズを示す。計算に入ると、各プラットフォームは展開された重みと最適化された推論パイプラインを実行する。
その後にCPUと1回同期
層間の処理を統合
計算グラフを事前構築しバッチ進行
図解は新バージョンに引き継がれた前世代の推論エンジン設計。各ブランチは異なるプラットフォームを示しており、156 MBを実行時メモリと見なすことはできず、バッチスループットを単一音声のレイテンシと混同してはならない。
これらの数値に対応する動作条件もあわせて確認しておく必要がある:
- 「×リアルタイム」の意味と除外項目:「×リアルタイム」とは、実際の経過時間 1 秒あたりに文字起こしできる音声の秒数を表す。前世代のベンチマークには音声をモデルの入力特徴量へ変換する前処理時間(log-mel)が含まれているが、モデルのロード時間は除外されている。各セッションで初めてコマンドを実行する際、モデルのロードには通常 10 秒〜40 秒を要する。「1 時間の音声を 20 秒で文字起こしする」という数値も、初回のロードオーバーヘッドは含まれていない。
- Macにおける高速性はGPUによるもの:M5 における 170× 以上の速度は、MLX が Apple silicon の GPU 演算を駆動することに依存している。純粋な CPU モードに切り替えた場合、公式記録による前世代の比較速度は 40× にとどまる。
- バッチスループットは単一ストリームのレイテンシではない:公式技術ドキュメントにおける H100 の 6,680× は、バッチサイズ 128 の環境で測定された前世代のベンチマークであり、単一音声ストリームでの基準速度は 465× である。今回の公開スレッドで公表された 6,672× は単にバッチ処理(batched transcription)と記載されているのみで、同一のバッチサイズ 128 が適用されているかどうかは開示されていないため、新バージョンの正確なバッチ設定としてそのまま当てはめるべきではない。
なお、公式が予告している Core ML ベースのバージョン(最大 800× のリアルタイム速度)については、現時点では今後の計画段階にとどまっている。
総じて、Phonon-2.5 は極めて小さなダウンロード・ストレージサイズにおいて、対応言語のローカルオフライン音声文字起こしに向けた高効率で実用的な選択肢を提供する。同モデルは中国語には対応していないため、中国語の利用シナリオでは中国語対応の独立した音声認識ソリューションを組み合わせる必要がある。
