618ZXW

大規模なビデオ モデルのロスレス高速化: 冗長トークンを削除し、トレーニング時間を 30% 短縮し、より高いフレーム レートでより良い結果を実現します。

二度見しないでください!

連続する同一の画像ブロックを 1 つのトークンに結合すると、Transformer のビデオ処理速度が大幅に向上します。

カーネギーメロン大学は、大規模なビデオモデルを高速化する手法であるランレングストークン化(RLT) を提案し、これが NeurIPS 2024 のスポットライト論文に選ばれました。

RLT は、精度をほとんど損なうことなく、モデルのトレーニングと推論速度の両方を向上させることができます

一般的に、RLTを使用することで、 Transformerビデオ認識モデルのトレーニング時間を30%短縮し、推論速度を最大67%向上させることができます

高フレーム レートと長いビデオの場合、RLT はより効果的であり、 30fps ビデオのトレーニング速度が 2 倍になり、長いビデオのトレーニング トークンの数が 80% 削減されます

従来のプルーニング方法と比較して、RLT は精度の低下を抑えながら優れた加速を実現できます。

この研究によって圧縮空間での探索方法が発見されたのではないかと示唆するテレビ番組のコメントを思い出す人もいた。

DeepMindの科学者サンダー・ディールマン氏は、この研究は革新的な「オフ・ザ・グリッド」アプローチであるが、他の複雑なオフ・ザ・グリッド研究に比べると驚くほど単純でもあるとコメントした。

繰り返し画像ブロックは1つのトークンに結合されます

RLT の基本原理は、ビデオ内に時間的に繰り返される画像ブロックが多数あるという事実を利用し、繰り返される画像ブロックを 1 つのトークンに結合することです。

この場合、トークンの長さを表すために位置エンコーディングも必要ですが、RLT によって入力トークンの数は通常削減されます。

重複したトークンをトリミングするには、まずビデオをチャンクに分割する必要があります。

具体的には、ビデオは空間次元と時間次元の両方で固定サイズの画像ブロックに分割されます。各画像ブロックのサイズはC×D\_x×D\_y×D\_tで、各画像ブロックは空間的・時間的な位置に対応します。

(ここで、C はチャネル数、D_x と D_y は空間次元、D_t は時間次元です。)

分割が完了したら、時間的に隣接する画像ブロックを比較して、類似しているかどうか、つまり結合する必要があるかどうかを判断する必要があります。

1 時間離れた 2 つの画像ブロック P_1 と P_2 の場合、P_1 の最初のフレームと P_2 の最後のフレームを取得し、それらの L1 距離を計算します。

距離が事前に設定されたしきい値 τ 未満の場合、P_1 と P_2 は静的重複と見なされます (しきい値 τ は、許容される類似性の程度を表し、その設定は特定のデータセットとは無関係です)。

判別が完了すると、重複した画像ブロックは削除されます

静的にペアで繰り返される一連の連続した画像ブロックの場合、RLT は最初のブロックに対応するトークンのみを保持します。

この手順はパッチの埋め込みの前に実行されるため、トークンを削除してもモデル構造を変更する必要はありません。

このステップの後、入力トークンの数は N_P から N_P' (N_P'≤N_P) に削減されます。

マージされたトークンが完全なビデオ情報を反映していることを保証するには、各トークンをその長さでエンコードする必要があります

保持されるトークンの場合、システムはそれが表す元のトークンの長さ l_i を計算します。これは、削除されていない次のトークンまでの距離です。

長さ情報 l_i は、トークンの空間的・時間的位置 (x, y, t) とともに、学習可能な長さ符号化行列を用いて d 次元の埋め込みベクトルにマッピングされます。このベクトルはパッチ埋め込みに追加され、入力トークンの最終的な表現として機能します。

最後に、処理されたトークン シーケンスをビデオ トランスフォーマーに入力して、通常のトレーニングまたは推論プロセスを実行します。

ただし、各ビデオ サンプルに対して計算されたトークンの数 N_P' はまったく同じではなく、サンプル間で大きな違いがある可能性があることに注意してください。

ただし、標準の Transformer は固定長のシーケンスをバッチで処理します。

長さが異なる複数のビデオを 1 つのバッチで処理するために、RLT は「サンプル パッキング」と呼ばれる方法を採用しています。この方法では、バッチ内のすべてのビデオ サンプルのトークン シーケンスを非常に長いシーケンスに連結し、これを Transformer への入力として使用します。

この場合、Transformer は実際にはバッチ サイズが 1 で、長さがすべてのサンプル トークンの数の合計に等しいシーケンスを処理しています。

上記の手順により、RLT はビデオ内の多くの冗長トークンを削除し、精度をほとんど損なうことなくメモリ使用量と計算負荷を大幅に削減できるため、ビデオ トランスフォーマーのトレーニングと推論が高速化されます。

トレーニング時間が30%短縮

トレーニングフェーズでは、RLT は ViT-B モデルと ViT-L モデルの両方に優れた加速を提供します。

Kinetics-400 では、ViT-BRLT と ViT-L のトレーニング時間はそれぞれ 14.4 時間から 10.2 時間、21.6 時間から 15.4 時間に短縮され、約 30% の削減となりましたが、精度の低下は 0.1 パーセント ポイント未満でした。

SSv2 では、両方のトレーニング時間はそれぞれ 10.1 時間から 7.2 時間、15.2 時間から 10.8 時間に短縮され、約 30% の削減となりましたが、精度もわずか 0.1 パーセントポイントしか低下しませんでした。

対照的に、従来のプルーニング方法であるトークンマージでは、速度は 10 ~ 20% しか向上せず、精度は 0.1 ~ 0.5 パーセントポイント低下します。

推論フェーズでは追加のトレーニングは必要ありません。RLT は既製のトークナイザーとして使用できるため、大幅な高速化効果が得られます。

具体的には、RLT は推論フェーズでの計算コストとレイテンシを、精度をほとんど損なうことなく (0.5 パーセントポイント以下) 30 ~ 60% 削減できます。

同様に、Kinetics-400 および SSv2 では、RLT は ViT-B と ViT-L の両方で 60% 以上の推論速度向上を実現できます。

より大きな ViT-H の場合、RLT は Kinetics-400 で 45% の高速化も達成できます。

特に、著者らは高フレーム レート長時間のビデオ データセットもテストし、RLT によって通常のデータセットよりもトークンの減少が大きくなることを発見しました。

一方、高フレーム レートのデータセットでは、RLT は精度の低下を抑えながら、より優れた加速を実現できます。

さらに、フレーム レートが高くなるほど効果が顕著になり、30fps のビデオの場合、加速は 100% に達することがあります。

論文リンク: https://arxiv.org/abs/2411.05222 コード: https://github.com/rccchoudhu...