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

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

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

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を使用して独自の音声認識システムをトレーニングします。この操作の波は安定しています

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

ブログ    

推薦する

ビジュアルMambaモデルのSwinの瞬間:中国科学院、HuaweiなどがVMambaを発表

大型模型の分野におけるトランスフォーマーの地位は揺るぎない。しかし、モデルのサイズが拡大し、処理する...

Uberの自動運転車の死亡事故から忘れてはならない10の教訓

自動運転技術は常に注目を集めてきたが、「幻滅」に直面している。これによって起きた初の交通事故死は、1...

...

アリババの音声ロボットが李佳琦の生放送室に登場、その応答速度はSiriの20倍

10月30日、終了したばかりの李佳琦のライブ放送室で、オンラインショッピング客はアリババの音声ロボッ...

ディープラーニング(CNN RNN Attention)を使用して大規模なテキスト分類問題を解決する - 概要と実践

[[188373]]著者は最近、深層学習を応用してタオバオ商品のカテゴリー予測問題を解決するプロジェ...

...

農家は収穫を祝い、秋分の日にドローンがその技を披露するのを見てください!

黄金の秋、収穫の季節です。また秋分の日を迎え、わが国では4回目の「農民収穫祭」を迎えます。畑や広場、...

RPAと医療におけるインテリジェントオートメーションの台頭

デジタル変革はヘルスケアにおける大きなトレンドと考えられており、インテリジェントな自動化もその一部と...

AIとブロックチェーンの統合:6つの予測と可能性

今のところ、AI とブロックチェーン技術がもたらす可能性について聞いたことも、気付いていないのであれ...

人工知能の主な発展とその原動力

本日の講演は、アリババCIOアカデミーが開催した人工知能(AI)技術に関する特別研修コースのために賈...

手書き認識のための単層基本ニューラルネットワーク

[[214992]]まず、コードテンソルフローをインポートする tensorflow.example...

...

最も人気のある 15 の機械学習フレームワークのうち、いくつ知っていますか?

機械学習エンジニアは、製品の開発やアルゴリズムの構築を行うチームの重要なメンバーです。データの専門家...