ホームページ  >  記事  >  テクノロジー周辺機器  >  時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

WBOY
WBOY転載
2023-10-06 14:45:041588ブラウズ

Transformer はもともと自然言語処理タスク用に設計されましたが、現在では視覚タスクで広く使用されています。 Vision Transformer は、複数の視覚認識タスクで優れた精度を実証し、画像分類、ビデオ分類、ターゲット検出などのタスクで最先端のパフォーマンスを達成しました

視覚 大きな欠点Transformer の最大の特徴は、計算コストが高いことです。一般的な畳み込みネットワーク (CNN) では画像あたり数十 GFlops が必要ですが、ビジュアル トランスフォーマーでは多くの場合、1 桁以上の量が必要となり、画像あたり数百 GFlops に達します。ビデオを処理する場合、データ量が膨大になるため、この問題はさらに深刻になります。計算コストが高いため、リソースが限られているデバイスや遅延要件が厳しいデバイスに Visual Transformer を展開することが困難になり、このテクノロジのアプリケーション シナリオが制限されます。そうでなければ、すでにいくつかのエキサイティングなアプリケーションが存在することになります。

ウィスコンシン大学マディソン校の 3 人の研究者である Matthew Dutson、ying Li、および Mohit Gupta は、最近の論文で、後続の入力間に時間的冗長性を使用できることを初めて提案しました。ビデオ アプリケーションの Visual Transformer のコスト。また、Eventful Transformer の構築に使用される PyTorch モジュールを含むモデル コードもリリースしました。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

  • 論文アドレス: https://arxiv.org/pdf/2308.13494.pdf
  • #プロジェクトのアドレス: http://wisionlab.com/project/eventful-transformers
時間の冗長性: まず、次のようにします。は、ビデオ シーケンスをフレームごと、またはビデオ クリップごとに処理できるビジュアル Transformer です。この Transformer は、単純なフレームごとの処理モデル (オブジェクト検出器など) または時空間モデルの中間ステップ (ViViT の分解モデルの最初のステップなど) である場合があります。 1 つの入力が完全なシーケンスである言語処理 Transformer とは異なり、研究者は、時間の経過とともに複数の異なる入力 (フレームまたはビデオ クリップ) を Transformer に提供します。

自然ビデオには、重大な時間的冗長性が含まれています。つまり、後続のフレーム間の差異は小さいです。それにもかかわらず、Transformers を含むディープ ネットワークは通常、各フレームを「最初から」計算します。この方法では、以前の推論によって得られた潜在的に関連する情報が破棄されるため、非常に無駄が生じます。したがって、これら 3 人の研究者は、冗長シーケンスの処理効率を向上させるために、前の計算ステップの中間計算結果を再利用できないか、と想像しました。

適応推論: ビジュアル Transformer やディープ ネットワーク一般の場合、推論のコストはアーキテクチャによって決まることがよくあります。ただし、実際のアプリケーションでは、競合するプロセスや電力の変化などにより、利用可能なリソースが時間の経過とともに変化する可能性があります。その結果、実行時にモデルの計算コストを変更する必要が生じる場合があります。この新たな取り組みにおいて研究者らが設定した主な設計目標の 1 つは適応性であり、彼らのアプローチにより計算コストのリアルタイム制御が可能になりました。以下の図 1 (下) は、ビデオ処理中に計算量を変更する例を示しています。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

イベントベースのトランスフォーマー: この記事では、入力間の時間的冗長性を利用して効率的で適応的な推論を実現できるイベントベースのトランスフォーマーを提案します。イベント化という用語は、シーンの変化に応じて画像を個別に記録するセンサーであるイベント カメラからインスピレーションを得ています。イベントベースの Transformer は、時間の経過に伴うトークンレベルの変化を追跡し、各タイム ステップでトークン表現とセルフ アテンション マップを選択的に更新します。イベントベースの Transformer モジュールには、更新トークンの数を制御するためのゲート モジュールが含まれています。

この方法は、既存のモデル (通常は再トレーニングなし) に適しており、多くのビデオ処理に適しています。タスク。研究者らはまた、計算コストを大幅に削減し、元の精度を維持しながら、Eventful Transformer を既存の最良のモデルで使用できることを実証する実験を実施しました。

Eventful Transformer

書き直された内容: この研究の目標は、ビデオ認識のための Visual Transformer を高速化することです。このシナリオでは、ビジュアル Transformer はビデオ フレームまたはビデオ クリップを繰り返し処理する必要があり、具体的なタスクにはビデオ ターゲットの検出とビデオ アクションの認識が含まれます。提案される重要なアイデアは、時間的冗長性を活用すること、つまり、前のタイム ステップからの計算結果を再利用することです。以下では、時間の冗長性を検知できるように Transformer モジュールを変更する方法を詳しく説明します。

トークン ゲート: 冗長性の検出

このセクションでは、研究者によって提案された 2 つの新しいモジュール、トークン ゲートとトークンを紹介します。バッファ。これらのモジュールを使用すると、モデルは最後の更新以降に大幅に変更されたトークンを識別して更新できます

ゲート モジュール: このゲートは入力トークン N から部分 M を選択し、それを下流に送信します。計算を実行するレイヤー。 u で示される参照トークン セットをメモリ内に保持します。この参照ベクトルには、最新の更新時の各トークンの値が含まれています。各タイム ステップで、各トークンが対応する基準値と比較され、基準値と大きく異なるトークンが更新されます。

次に、このゲートの現在の入力を c としてマークします。各タイム ステップで、次のプロセスに従ってゲートのステータスを更新し、その出力を決定します (下記の図 2 を参照):

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

1.合計誤差 e = u − c。

2. エラー e に対して選択戦略を使用します。選択戦略は、どの M 個のトークンを更新する必要があるかを示すバイナリ マスク m (トークン インデックス リストに相当) を返します。

3. 上記の戦略によって選択されたトークンを抽出します。これは、図 2 では積 c × m として示されていますが、実際には、c の最初の軸に沿って「収集」操作を実行することによって達成されます。収集されたトークンは、ゲートの出力である 時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法 としてここに記録されます。

4. 参照トークンを選択したトークンに更新します。図 2 では、このプロセスを 時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法 として説明しています。実際に使用される操作は「散布」です。最初のタイム ステップでは、ゲートはすべてのトークンを更新します (u ← c を初期化し、c~ = c を返します)。

#バッファ モジュール: バッファ モジュールは、各入力トークンを追跡する状態テンソル 時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法 を維持します

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法、バッファーはトークンを f (c~) から b 内の対応する位置に分散します。次に、更新された b を出力として返します (以下の図 3 を参照)。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

#研究者らは、各ゲートとその背後にあるバッファを組み合わせました。以下は簡単な使用パターンです: ゲート

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法 の出力は各トークンの一連の演算 f (c˜) に渡され、その結果のテンソル 時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法 バッファに渡され、完全な形状が復元されます。

冗長性を認識したトランスフォーマーを再構築する

上記の時間冗長性を利用するために、研究者は次のように提案しました。 a Transformer モジュールへの変更スキーム。以下の図 4 は、Eventful Transformer モジュールの設計を示しています。この方法では、個々のトークン (MLP など) の操作だけでなく、クエリ キーと値およびアテンション値の乗算も高速化できます。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

各トークンで動作する Transformer モジュールでは、多くの操作が各トークンで実行されます。つまり、MLP や MSA の線形変換など、トークン間の情報交換は含まれません。研究者らは、計算コストを節約するために、ゲートによって選択されなかったトークンに対するトークン指向の操作をスキップできると述べています。トークン間の独立性により、選択したトークンに対する操作の結果は変わりません。図 3 を参照してください。

具体的には、研究者らは、W_qkv 変換、W_p 変換、MLP などの各トークンの操作を処理するときに、一対のゲート バッファーの連続シーケンスを使用しました。接続をスキップする前に、2 つの加算オペランドのトークンが正しく配置されることを保証するためにバッファーも追加されたことに注意してください。

各トークンの操作コストは、トークンの数。数を N から M に減らすことで、トークンあたりのダウンストリーム操作コストは N/M 倍削減されます。

次に、クエリとキーと値の積 B = q k を見てみましょう。 ^T

の結果 下の図 5 は、クエリ キー バリュー プロダクト B の一部の要素を疎に更新する方法を示しています。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

これらの更新の総コストは 2NMD で、B を最初から計算するコスト (N^2D) と比較します。新しいメソッドのコストは、選択されたトークンの数 M に比例することに注意してください。 M

注意 - 値の積:研究者はこれを提案しました デルタΔに基づく更新戦略が提案されました。

#図 6 は、3 つの増分項を効率的に計算するために新しく提案された方法を示しています

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

M が小さい場合N の半分よりも計算量を削減できる

トークン選択戦略

Eventful Transformer の 1 つ最も重要な設計は、トークン選択戦略です。ゲート エラー テンソル e が与えられた場合、このようなポリシーの目標は、更新する必要があるトークンを示すマスク m を生成することです。具体的な戦略は次のとおりです。

Top-r 戦略: この戦略は、最大の誤差 e を持つ r 個のトークンを選択します (ここでは L2 ノルムが使用されます)。

しきい値戦略: この戦略は、誤差のノルム e がしきい値 h

を超えるすべてのトークンを選択します。 書き換えられた内容: その他 戦略: 精度の向上-コストのトレードオフは、軽量ポリシー ネットワークを使用して戦略を学習するなど、より洗練されたトークン選択戦略を採用することで達成できます。ただし、バイナリ マスク m は通常微分不可能であるため、ポリシーの意思決定メカニズムをトレーニングすることは困難に直面する可能性があります。また、重要度スコアを選択の参考情報として利用するという考え方もある。ただし、これらのアイデアにはまださらなる調査が必要です

実験

研究者らは、特にビデオ ターゲットに適用された、新しく提案された方法の実験的評価を実施しました。検出およびビデオ アクション認識タスク

以下の図 7 は、ビデオ ターゲット検出の実験結果を示しています。ここで、正の軸は計算量の節約率、負の軸は新しい方法による mAP50 スコアの相対的な減少です。新しい方法では、精度を少し犠牲にして、大幅な計算量の節約が達成されることがわかります。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

# 以下の図 8 は、ビデオ ターゲット検出タスクの方法の比較とアブレーションの実験結果を示しています

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

以下の図 9 は、ビデオ動作認識の実験結果を示しています。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

以下の表 2 では、1 つの CPU (Xeon Silver 4214、2.2 GHz) と 1 つの GPU (NVIDIA RTX3090) で実行した場合の時間結果 (ミリ秒単位) が示されています。 GPU の時間的冗長性により速度が 1.74 倍向上し、CPU では速度が 2.47 倍に達していることがわかります。

時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法

詳細はこちら技術的な詳細と実験結果については、元の論文を参照してください。

以上が時間的冗長性への驚くべきアプローチ: ビジュアル Transformer の計算コストを削減する新しい方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。