トランスフォーマーベースの効率的で低遅延のストリーミング音声認識モデル

トランスフォーマーベースの効率的で低遅延のストリーミング音声認識モデル

シナリオの観点から、音声認識はストリーミング音声認識と非ストリーミング音声認識に分けられます。非ストリーミング音声認識 (オフライン認識) とは、ユーザーが文章または段落を話し終えた後にモデルが認識することを意味し、ストリーミング音声認識とは、ユーザーがまだ話している間にモデルが同期的に音声認識を実行することを意味します。ストリーミング音声認識は、遅延が少ないため、ディクテーションの文字起こしなど、業界で幅広い用途に使用されています。

Transformer ストリーミング音声認識チャレンジ

現在、Transformer モデルはオフライン シナリオでは正確な音声認識を実行できますが、ストリーミング音声認識では 2 つの致命的な問題が発生します。

1) 音声の長さが長くなるにつれて、計算の複雑さとメモリストレージのオーバーヘッドが増加します。

Transformer は自己注意モデルを使用する際にすべての履歴情報を考慮するため、保存と計算の複雑さは音声の長さに比例して増加します。ただし、ストリーミング音声認識では音声入力が非常に長いことが多いため、ネイティブ Transformer をストリーミング音声認識に適用することは困難です。

図1: ストリーミング音声認識のためのTransformer自己注意の概略図

2) Transformer モデルのレイヤーが多すぎるため、将来のウィンドウ サイズ (先読みウィンドウ) が転送されます。

下の図に示すように、Transformer モデルの各レイヤーが 1 フレーム前を振り返る場合、Transformer レイヤーの数が増えるにつれて最終的な先読みが蓄積されます。たとえば、18 層の Transformer では、最終的に 18 フレームの遅延が蓄積され、実際のアプリケーションでは大きな遅延の問題が発生し、音声認識の応答速度が遅くなり、ユーザー エクスペリエンスが低下します。

図2: トランスフォーマーの将来ウィンドウは層の数に応じて増加します

ブロックベースおよびメモリベースのソリューション

ストリーミング音声認識におけるトランスフォーマー モデルの上記の問題を解決するために、研究者はチャンクベースとメモリベースの 2 つのソリューションを提案しました。

1) チャンクベースのソリューション

1 つ目は、次の図に示すように、ブロックベースのソリューションです。点線はブロックの区切りです。主なアイデアは、隣接するフレームをブロックに変換し、ブロックに従って処理することです。この方法の利点は、トレーニングとデコードを迅速に実行できることですが、ブロック間の接続がないため、モデルの精度が低下します。

図3: ブロックベースのストリーミング音声認識ソリューション

2) メモリベースのソリューション

メモリベースのソリューションの主なアイデアは、異なるブロックを接続できるように、ブロックベースでメモリを導入することです。ただし、この方法ではトレーニング中の非自己ループ メカニズムが破壊され、モデルのトレーニングが遅くなります。

図4: メモリベースのストリーミング音声認識ソリューション

業界では大量のトレーニング データが存在することが多く、メモリベースのソリューションではモデル トレーニングのコストが増加します。このため、研究者は精度、トレーニング速度、テスト速度のバランスをとることができるソリューションを見つける必要に迫られています。

高速トレーニングとデコード、必要なのはマスクだけです

上記の問題に対処するために、Microsoft の研究者は高速なトレーニングとデコードの方法を提案しました。この方法は非常にシンプルで、非ストリーミング Transformer をストリーミング Transformer に変換するために必要なのはマスク マトリックスだけです。

下の図は、ストリームなし、遅延なしのマスク マトリックス (すべて 1 のマトリックス、つまり下三角マトリックス) を示しています。

図5: オフライン音声認識エンコーダーマスクマトリックス

図6: ゼロ遅延ストリーミング音声認識エンコーダーマスクマトリックス

研究者たちは、ブロックベースのアプローチでさまざまなブロックを接続し、Transformer の並列トレーニング機能を維持したいと考えています。この目標を達成するために、研究者はブロックベースのストリーミング Transformer を提案しました。具体的なアルゴリズムは次のとおりです。

まず、現在のフレームの左側で、各レイヤーの各フレームがそれぞれ n フレーム先を見据えるようにします。これにより、レイヤーの数を重ねるごとに、Transformer の履歴のビジョンが蓄積されます。 m 個のレイヤーがある場合、n*m 個のフレームの履歴を見ることができます。余分な n*m フレームが表示されますが、これらのフレームの表現は履歴計算で計算され、現在のブロックでは再計算されないため、デコード時間が遅くなることはありません。デコード時間に関連し、各レイヤーで確認されるフレームの数のみ。

将来の情報の遅延が小さくなることを望むため、レイヤー数による視野への累積的な影響を避ける必要があります。この目標を達成するために、各ブロックの右端のフレームは将来のビューを持たないようにし、ブロック内のフレームは互いを見ることができるようにすることで、レイヤーの数に応じて遅延が増加するのを防ぐことができます。

最後に、各ブロック間では、異なるフレームが相互に認識されるようになるため、平均遅延はブロック長の半分になります。

この方法により、Transformer は並列トレーニングの利点を維持し、トレーニングを迅速に実行できます。結果として得られるマスク マトリックスは次のようになります。

図7: 提案手法のエンコーダマスク行列

デコード処理中、デコード時間は主にブロック サイズによって決まります。繰り返しの計算を回避し、デコードを高速化するために、以前のキーと値をキャッシュします。この方法の式は次のとおりです。履歴キーと値(赤でマーク)は、アテンションウェイトの計算中にキャッシュされます。

実験

データセットとモデルの設定

研究者の実験は、マイクロソフト社内で 65,000 時間以上のトレーニングを通じて実施され、約 180 万語のマイクロソフト社内テスト セットでテストされました。実験では 32 個の GPU を使用し、モデルを収束させるために約 2 日間にわたって混合精度方式でモデルをトレーニングし、速度測定には torchjit を使用しました。研究者らは、ストリーミング音声認識を実装するためにトランスデューサ フレームワークを使用しました。実験では、Transformer Transducer (TT)、Conformer Transducer (CT)、RNN Transducer (RNN-T) を比較しました。Transformer と Conformer のエンコード部分では 18 層が使用され、各層には 512 個のパラメータ (隠し状態) がありました。 Transducer の予測ネットワークは LSTM ネットワーク構造を使用し、各層の隠し状態が 1024 の 2 つの層で構成されています。 RNN-T もサイズは同様です。

低遅延デコード効果

表1: 低遅延デコード効果

表 1 から、次のことがわかります。1) 低レイテンシ条件下では、TT と CT は RNN-T と比較して単語エラー率 (WER) を 10% 削減できます。2) 各レイヤーが 60 フレーム (1.8 秒) 左を見ると、パフォーマンスの低下は全体の履歴を確認した結果と比較してそれほど大きくなく、約 1% です。3) ただし、TT は RNN-T よりも遅くなります。4 つのスレッドの場合、Transformer は RNN よりも約 3 倍遅くなります。この問題は、バッチ方式、つまり隣接する複数のフレームをまとめてデコードし、Transformer の並列機能を使用してデコードを高速化することで解決できます。

表2: 変圧器のリアルタイムレート

表 2 は、バッチ内のフレーム数に応じたさまざまなトランスフォーマーのリアルタイム レートを示しています。 2 つのフレームを一緒にデコードすると、Transformer は RTF < 1 を達成し、5 つのフレームを一緒にデコードすると RTF < 5 を達成していることがわかります。これに基づいて、TT は、遅延をわずかに犠牲にして (2 フレームは約 40 ミリ秒)、量子化なしで実際のシナリオに適用できると結論付けることができます。

低遅延デコード効果

表3: 低遅延デコード効果

低レイテンシーの場合、Transformer Transducer ファミリーの利点はさらに顕著になります。従来のハイブリッド モデルと比較すると、TT では WER が 13% 向上します。ストリーミング S2S モデル (同じ数のパラメーター) と比較すると、トランスデューサー モデルの方が優れた結果を達成することがよくあります (RNN S2S と Trans S2S を比較)。同じトランスデューサー フレームワークでは、Transformer モデルは RNN モデルよりも優れた結果を達成し、速度の面でも大きな利点があります。驚くべきことに、上記の方法では、TT オフラインとストリーミング間の現在の距離は 10% 未満であり、これは研究者が提案したストリーミング方法の有効性を証明し、精度の低下を最小限に抑えることができます。

8ビット量子化

表4: 8ビット量子化結果

8 ビットの量子化後、より高速なトランスデューサ モデルを取得できます。シングルスレッドの場合、Transformer は速度を 2 倍にすることができますが、RNN-T は速度を約 4 倍に上げることができます。このうち、Transformer の速度向上が限定的である理由は、SoftMax や Layer Norm などの演算が 8 ビットでは高速化が難しいためです。

結論

この記事では、Microsoft Azure Speech チームと Microsoft Research Asia の研究者が、Transformer ファミリ エンコーダーとストリーミング Transducer フレームワークを組み合わせたストリーミング音声認識ソリューションを提案しました。このソリューションは、「マスクだけあれば十分」というメカニズムを使用して、ストリーミング音声認識モデルを迅速にトレーニングおよびデコードします。 65,000 時間の大規模トレーニング データを使用した実験では、Transformer モデルは RNN モデルと比較して認識精度が大幅に向上し、低遅延シナリオでのデコード速度が速いことがわかりました。

今後、研究者はトランスフォーマーベースの音声認識モデルの研究を継続し、デコードの計算コストをさらに削減して、ゼロ遅延シナリオでトランスフォーマーモデルがRNNモデルと同じデコード速度を達成できるように努めます。

<<:  Pythonを使用して独自の音声認識システムをトレーニングします。この操作の波は安定しています

>>:  転移学習とクロスドメイン推奨、およびクロスドメイン推奨のソリューション

ブログ    

推薦する

小中学生の安全を守るためにロボットは今や欠かせない存在です!

安全性について話すと、誰もが必ずそれに共感します。時代の急速な発展に伴い、人々の個人的な安全がますま...

2019年、AI技術は製造業が小さな努力で大きな成果を達成するのを助けるだろう

[[251579]] 2019 年には、新世代の人工知能 (AI) ソリューションが注目を集めるでし...

注目すべきデータ視覚化の5つの新たなトレンド

[[412404]]データの視覚化はビジネス指標を理解するための最新の方法です情報の世界におけるテク...

...

...

ケーススタディ | 埋め込みに基づく特徴セキュアな計算

[[331789]]序文従来のデータの公開と共有の方法の多くは、生のデータをプレーンテキストで直接出...

スマートホーム技術における感情AIの役割

スマートホーム テクノロジーの登場により、私たちが生活空間と関わる方法は大きく変わりました。音声制御...

OpenAIがカスタムコマンド機能を開始、会話ごとに好みや情報を繰り返す必要がなくなる

OpenAIは7月21日、カスタム指示機能のリリースを発表しました。この機能はまずPLUSプランのベ...

技術革新は「プロトタイプ」で止まるわけにはいかない…

[[270666]] [51CTO.com クイック翻訳] 昨今、クラウドコンピューティング、ブロ...

テックネオテクノロジーサロ​​ン - 第14号 - アルゴリズムに基づくIT運用・保守の実践と探究

【51CTO.comオリジナル記事】 [51CTO オリジナル記事、パートナーサイトに転載する場合は...

DeepMap COO 羅偉氏との独占インタビュー:自動運転の時代に、スタートアップは高精度地図の分野でどのように躍進できるのか?

最近、シリコンバレーの高精度地図サービスプロバイダーであるDeepMapは、Accelが主導し、エン...

分散コンセンサスアルゴリズムの実装 - Raft アルゴリズム

[[385285]]著者は、Raftアルゴリズムフレームワークraft-coreの独自のJavaバー...

...

このクラウドは、AIが後半にどのように発展するかを知っている

今年はAI技術の導入が話題になっています。 AIは本当に実装されているのでしょうか?真実を語るには実...