Visual Transformer の計算コストを削減するにはどうすればよいですか?時間的冗長性のアプローチは驚くべきものです

Transformer は言語分野に変化をもたらした後、ビジュアル分野にも進出していますが、計算コストが高いという問題もあります。最近、ウィスコンシン大学マディソン校の研究チームは、ビジュアル Transformer の時間冗長性を利用することでコストを削減できる Eventful Transformer を提案しました。

画像ソース: Unbounded AI によって生成

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

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

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

* 紙のアドレス:

  • プロジェクトアドレス:

時間的冗長性: まず、ビデオ シーケンスをフレームごと、またはビデオ クリップごとに処理できるビジュアル Transformer があると仮定します。この Transformer は、単純なフレームごとの処理モデル (オブジェクト検出器など) または時空間モデルの中間ステップ (ViViT の分解モデルの最初のステップなど) である場合があります。 1 つの入力が完全なシーケンスである言語処理 Transformer とは異なり、研究者は、時間の経過とともに複数の異なる入力 (フレームまたはビデオ クリップ) を Transformer に提供します。

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

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

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

この方法は、既製のモデル (通常は再トレーニングなし) で使用でき、多くのビデオ処理タスクと互換性があります。研究者らは実験的なデモンストレーションも実施し、その結果、Eventful Transformer を既存の最良のモデルで使用でき、元の精度を維持しながら計算コストを大幅に削減できることがわかりました。

波乱万丈のトランスフォーマー

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

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

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

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

ここで、ゲートへの電流入力を c とします。各タイム ステップで、次のプロセスに従ってゲートのステータスが更新され、その出力が決定されます (下の図 2 を参照)。

1. 合計誤差 e = u − c を計算します。

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

  2. 上記の戦略によって選択されたトークンを抽出します。これは、図 2 では積 c × m として示されていますが、実際には、c の最初の軸に沿って「収集」操作を実行することによって達成されます。収集されたトークンはここに記録されます

、これはゲートの出力です。

  1. 参照トークンを選択したトークンに更新します。図 2 では、このプロセスを次のように説明しています。

; 実際に使用される操作は「散布」です。最初のタイム ステップでは、ゲートはすべてのトークンを更新します (u ← c を初期化し、c~ = c を返します)。

バッファ モジュール: バッファ モジュールは状態テンソルを維持します。

、各入力トークンを追跡します。

のとき、バッファーはトークンを f (c~) から b の対応する位置に分散します。次に、更新された b を出力として返します (以下の図 3 を参照)。

研究者らは、各ドアとその背後にある緩衝材を組み合わせました。これは簡単な使用パターンです: ゲートの出力

は各トークンの一連の操作 f (c˜) に渡され、結果として得られるテンソル

バッファに渡され、完全な形状が復元されます。

冗長性を意識した Transformer を構築する

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

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

具体的には、研究者らは各トークンに対する連続的な一連の操作 (W_qkv 変換、W_p 変換、MLP を含む) に 1 対のゲート バッファを使用しました。 2 つの追加オペランドのトークンが適切に配置されるようにするために、スキップ接続の前にバッファーも追加されていることに注意してください。

各トークンの操作のコストはトークンの数に比例します。ゲートはこの数を N から M に減らすことができ、これにより各トークンの下流操作の計算コストも N/M 倍削減されます。

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

以下の図 5 は、クエリ キーと値のプロダクト B の要素のサブセットをまばらに更新する方法を示しています。

これらの更新の全体的なコストは 2NMD で、B を最初から計算するコスト (N^2D) と比較します。新しいメソッドのコストは、ゲートによって選択されたトークンの数 M に比例することに注意してください。 M < N/2 (このときの更新トークンが全体の半分未満) の場合、計算量を節約できます。

注目価値製品: 研究者は増分 Δ に基づいた更新戦略を提案しました。

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

同様に、M < N/2 の場合も計算量を節約できます。

トークン選択戦略

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

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

しきい値戦略: この戦略では、誤差のノルム e がしきい値 h を超えるすべてのトークンが選択されます。

その他の戦略: より複雑で洗練されたトークン選択戦略により、より優れた精度とコストのトレードオフを実現できます。たとえば、軽量ポリシー ネットワークを使用して戦略を学習できます。ただし、バイナリ マスク m は一般に微分不可能であるため、ポリシーの意思決定メカニズムをトレーニングするのは困難な場合があります。また、重要度スコアを選択の参考情報として利用するという考え方もある。しかし、これらのアイデアは今後の研究を待っています。

## 実験

研究者らは、ビデオオブジェクト検出とビデオアクション認識のタスクに関して新しく提案された方法を実験的に評価しました。

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

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

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

以下の表 2 は、CPU (Xeon Silver 4214、2.2 GHz) と GPU (NVIDIA RTX3090) での実行時間 (ミリ秒) の結果を示しています。GPU の時間冗長性によってもたらされる速度の向上が最大 1.74 であることがわかります。 CPU の向上は 2.47 倍に達する可能性があります。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)