初の完全量子化ビジョントランスフォーマーメソッド FQ-ViT、大型モデルの登場もそう遠くない

青い文字をクリックしてフォローしてください

フォローしてスターを付ける

決して迷わない

コンピュータビジョン研究所

cd85e10d8fb723cbc958c6082b5b5960.gif

a75b63478a1297bc5e60e05ab6088c35.gif

公的IDコンピュータビジョン研究所

学習会参加方法はホームページのQRコードを読み取ってください

8c913d1b9a389120c5bd559f7100ee42.png

論文アドレス: https://arxiv.org/pdf/2111.13824.pdf

プロジェクトコード: https://github.com/megvii-research/FQ-ViT

コンピュータビジョン研究所コラム

コンピュータビジョン研究所のコラム

量子化およびモデル変換のアルゴリズム ネットワークは、モデル推論の複雑さを大幅に軽減することができ、実際の展開で広く使用されています。ただし、既存の量子化手法のほとんどは主に畳み込みニューラル ネットワーク用に開発されており、完全に量子化されたビジョン トランスフォーマーに適用すると深刻なドロップアウトが発生します。今日は、高精度で定量的なビタミンの導入を実現するための新しいテクノロジーを共有します。AI大型モデルの活用はまだ遠いのでしょうか?

af6e32dd7c9ae5f426a130cdef27db22.gif

01

概要

Transformer は注目の AIGC 事前学習大規模モデルの基礎であり、自然言語処理分野の Transformer を視覚の領域に持ち込んだのが ViT (Vision Transformer) です。Transformer の開発プロセスを見ると、Transformer の提案からビジョンへの Transformer の適用まで、実は途中で 3 年間の休眠期間があったことがわかります。Transformer の視覚分野 (ViT) への応用から AIGC が普及するまで、ほぼ 2 ~ 3 年かかりました。実はAIGCの人気は2022年末から低迷しており、その頃からAIGCの面白いアルゴリズムが少しずつリリースされ、現在に至るまで本当にAIGCの面白いプロジェクトが次々と誕生しています。

53adaadcc73a8a947e26b5143cb3db3e.png

過去 2 年間にわたるビジュアル トランスフォーマー モデル (ViT) の徹底的な研究により、ViT の表現能力は継続的に改善され、ほとんどの基本的な視覚タスク (分類、検出、セグメンテーションなど) において大幅なパフォーマンスの進歩を達成しました。ただし、実際のアプリケーション シナリオの多くでは、モデルの高度なリアルタイム推論機能が必要ですが、ほとんどの軽量 ViT は、複数の展開シナリオ (GPU、CPU、ONNX、モバイル端末など) において軽量 CNN (MobileNet など) と同じ速度を達成できません。

そこで、ViT の 2 つの専用モジュールを再検討したところ、劣化の原因は次のとおりでした。

  • 研究者らは、LayerNorm 入力のチャネル間の変動が激しく、一部のチャネルの範囲は中央値の 40 倍を超えていることさえ発見しました。従来の方法では、このような大きな活性化変動を処理できず、大きな量子化誤差が発生します。

  • また、注意マップの値は非常に不均一な分布をしており、ほとんどの値は 0 から 0.01 の間に集中しており、いくつかの高い注意値は 1 に近いこともわかります。

上記の分析に基づいて、研究者らは LayerNorm の入力を定量化するために 2 のべき乗係数 (PTF) を提案しました。このようにして、量子化誤差が大幅に減少し、全体的な計算効率は、ビットシフト演算子による階層型量子化の効率と同じになります。また、Log Int Softmax (LIS) も提案されています。これは、小さな値に対してより高い量子化解像度を提供し、Softmax に対してより効率的な整数推論を提供します。これらのアプローチを組み合わせて、この論文は完全に量子化されたビジョン トランスフォーマーのトレーニング後の量子化を初めて達成しました。

accd74a46ab431dfcf413bbd4d58c136.png

02

新しいフレーム

以下の 2 つの図は、CNN と比較してビジュアル トランスフォーマーにはチャネル間の変動が大きく、これが階層化量子化で許容できない量子化誤差を引き起こすことを示しています。

db2096d07788e6d617d746da5068142d.png

まず、ネットワーク量子化表記について説明します。量子化ビット幅が b であると仮定すると、量子化器 Q(X|b) は、浮動小数点数 X∈R を最も近い量子化ビンにマッピングする関数として定式化できます。

074ae552137b321b0cc8c8d02118ce00.png

均一な量子化

均一量子化は、ほとんどのハードウェア プラットフォームで十分にサポートされています。その量子化器 Q(X|b) は次のように定義できます。

1cbf5c02453ce30557d0ed53801d3f1b.png

d7bb56c7d81e50f4de0dcc4b6446f50c.png

ここで、s (スケール) と zp (ゼロ点) は、X の下限 l と上限 u によって決定される量子化パラメータであり、通常は最小値と最大値です。

Log2量子化

Log2 量子化は、量子化プロセスを線形から指数関数に変換します。その量子化器 Q(X|b) は次のように定義できます。

5040ab6a1e72c9981dca0bec07c5c2ee.png

完全に量子化されたビジュアル トランスフォーマーを実現するために、研究者らは Conv、Linear、MatMul、LayerNorm、Softmax などを含むすべてのモジュールを量子化しました。特に、Conv、Linear、および MatMul モジュールには均一な Min-Max 量子化を使用し、LayerNor および Softmax には次のメソッドを使用します。

LayerNorm 量子化の 2 のべき乗係数

推論中、LayerNorm は各前方ステップで統計 µX、σX を計算し、入力 X を正規化します。次に、アフィン パラメータ γ、β により、正規化された入力が別の学習された分布に再スケーリングされます。

分析の冒頭で説明したように、LayerNorm はニューラル ネットワークで一般的に使用される BatchNorm とは異なり、動的計算の特性により前の層に折り畳むことができないため、個別に量子化する必要があります。ただし、トレーニング後の量子化が適用されると、パフォーマンスの大幅な低下が観察されます。LayerNorm 層の入力を見ると、チャネル間で重大な変動があることがわかります。

研究者らは、シンプルで効果的なレイヤーノルム定量化手法、つまり2 乗係数(PTF) を提案しました。PTF の中心となるアイデアは、異なる量子化パラメータではなく、異なるチャネルに異なる係数を装備することです。量子化ビット幅 b、入力アクティビティ X∈RB×L×C、レイヤーごとの量子化パラメータ s、zp∈R1、および PTFα∈NC を考慮すると、量子化アクティビティ XQ は次のように定式化できます。

dcf6441a73f2b325c412c3afdf2f9dc4.png

パラメータの一部は次のとおりです。

16e1fd60e95d0ddbe341f70501d90dfb.png

Log-Int-Softmax (LIS) で量子化されたソフトマックス

グラフの保存と計算が変換器構造のボトルネックであることに注意してください。そのため、研究者はグラフを非常に低いビット幅 (4 ビットなど) に量子化することを望んでいます。ただし、4 ビット均一量子化を直接実装すると、重大な精度の低下が発生します。分布がソフトマックス出力のかなり小さな値を中心にしているのに対し、1 に近い大きな値を持つ外れ値はほんのわずかであることが観察されます。次の視覚化に基づくと、密な分布を持つ小さな値の間隔の場合、Log2 は均一な間隔よりも多くの量子化された間隔を保存します。

9bc8fbed0e57c08bc67976b9be68a8a0.png

Log2 量子化と i-exp (i-BERT によって提案された指数関数の多項式近似) を組み合わせて、整数のみで高速かつ低電力のソフトマックスである LIS を提案します。

全体のプロセスを以下に示します。

3b96be61e246213a496b483fbc810b12.png

03

実験と視覚化

ImageNet データセットにおけるトップ 1 の精度と最先端の手法との比較

095088d0d342bd0b05143e586f02b7c2.png

32fa6fca585a1f1c2f772adf1b1e7ad3.png

上に示したように、アテンション マップを視覚化して、均一量子化と LIS の違いを確認します。両方とも 8 ビットを使用する場合、均一量子化は高活性化領域に焦点を当てますが、LIS は低活性化領域により多くのテクスチャを保存し、アテンション マップの相対的なランクをより多く保存します。8 ビットの場合、この違いはそれほど大きな違いはありません。ただし、6 ビットと 4 ビットの場合に示すように、より低いビット幅に量子化すると、均一な量子化が大幅に低下し、すべての対象領域が無効になることさえあります。対照的に、LIS は依然として 8 ビットと同様の許容可能なパフォーマンスを示します。

183bcedf25abcde63bfc688daf12b2c8.png

ビジョントランスフォーマーとResNetのチャネルごとの最小値と最大値

© ジ・エンド 

転載の際はこちらの公式アカウントにご連絡の上、許可を得てください。

23686331dc34e1d748488c377e47e19d.gif

コンピュータビジョン研究所研究会は皆様のご参加をお待ちしております!

da1d603aba4cd65e8099249cd92602df.png

72c278d98d3b92c6ae13d8da6e61a8c1.png

3dafa80435f96c21b2a4226396e451a9.png

2020a6bad1800e40a045480358fb8a94.png

すぐに協力・相談するには「原文を読む」をクリックしてください

 

おすすめ

転載: blog.csdn.net/gzq0723/article/details/131587689