リアルタイムファクター
別名:RTF、RTFx
公開日:
定義
リアルタイムファクター(RTF)は、音声認識システムが音声の処理にかかる時間を、その音声の長さで割った値です。RTFが0.5なら、1分の話し声を30秒で文字起こしするという意味で、1未満ならリアルタイムより速いということです。
録音の長さに関係なく、音声モデルの速さを表す標準的な方法です。この定義は、米国の標準化機関であるNISTが行った評価にさかのぼり、NISTはこれをスピードファクターと呼んでいました:総処理時間を元の信号の長さで割ったものです。
その逆数のRTFxのほうが、今ではよく使われる数値です。大きいほど良く、数字も読みやすいからです。どちらも同じことを表しています。
計算式
RTFは、処理時間を音声の長さで割ったものです。10秒の音声の文字起こしに2秒かかれば、RTFは0.2です。
RTFxはその逆で、音声の長さを処理時間で割ったものです。同じ例ならRTFxは5です。ランク付けしたモデルのRTFxを公開しているOpen ASR Leaderboardによると、RTFxが1なら話すのと同じ速さで処理し、RTFxが2なら半分の時間で処理するという意味です。
数値の読み方
見ているのがどちらの数値かを確かめてください。2つは逆の方向を指しているからです。
- RTF:小さいほど速い。1未満ならライブの話し声に追いつき、1を超えると遅れます。
- RTFx:大きいほど速い。1を超えればライブの話し声に追いつきます。
- RTFが0.01とRTFxが100は同じ速さです:1時間の音声を36秒で処理します。
公開されている数値がとても高い理由
モデルカードでは、数百や数千のRTFxがよく示されています。これはデータセンター向けのグラフィックスカードで、多数の録音を同時に処理して測ったものです。あるモデルのカードは3,000を超える数値を示したうえで、性能は音声の長さやバッチサイズによって変わる場合があると添えています。
1人の声を文字起こしするノートパソコンでは、その数値にはまったく届きませんし、届く必要もありません。この数値はモデル同士を比べるのには役立ちますが、実際の速さを予測するものではありません。
この数値でわからないこと
RTFは録音全体の平均です。最初の単語がいつ表示されるか、話し終えてからどれだけ待つかについては何も示しません。音声入力で実際に感じるのは、まさにそこです。
RTFがとても良くても、音声をひとまとまり待ってから書き出すモデルは、RTFが劣るストリーミングモデルより遅く感じることがあります。ライブで使うなら、問うべき指標はレイテンシで、RTFはモデルがそもそも追いつけるかを確かめるものです。
数値を左右するもの
同じモデルでも、条件が違えば数値も変わります。
- ハードウェアと、モデルがCPU、グラフィックスチップ、Neural Engineのどこで動くか。
- モデルのサイズと、量子化されているかどうか。
- 音声の長さ。ごく短いクリップでは、決まった起動コストがかかるので、比率が悪く見えます。
- バッチ処理。多数の録音を同時に処理すると、サーバではRTFxが大きく上がります。
よくある質問。
良いリアルタイムファクターとは?
ライブの音声入力なら、1を十分に下回っていれば十分です。そうすればモデルが話す速さに遅れません。ファイルの文字起こしなら、小さいほど待ち時間が短くなるだけです。
RTFとRTFxの違いは?
互いに逆数です。RTFは処理時間を音声の長さで割ったものなので、小さいほど速くなります。RTFxは音声の長さを処理時間で割ったものなので、大きいほど速くなります。
リアルタイムファクターの計算方法は?
文字起こしにかかった時間を、音声の長さで割ります。10秒の音声を2秒で文字起こしすれば、RTFは0.2、RTFxは5です。
リアルタイムファクターが低ければレイテンシも低い?
そうとは限りません。RTFは録音全体の平均です。音声をひとまとまり読んでから何かを書き出すモデルなら、RTFが低くても待たされることがあります。
RTFが1とはどういう意味?
音声の文字起こしに、その音声の長さとちょうど同じ時間がかかるということです。ライブの話し声に、ぎりぎり追いつける速さです。
自分の環境での速さがモデルカードの数値より遅いのはなぜ?
公開されている数値は、ふつうサーバ向けのグラフィックスカードで、多数の録音をバッチ処理して測ったものです。ノートパソコンで1つの録音を処理するのは、まったく別のテストです。