shimopino / papers-challenge

Paper Reading List I have already read
30 stars 2 forks source link

Lite Transformer with Long-Short Range Attention #96

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2004.11886] Lite Transformer with Long-Short Range Attention

著者・所属機関

Zhanghao Wu, Zhijian Liu, Ji Lin, Yujun Lin, Song Han

投稿日時(YYYY-MM-DD)

2020-04-24

1. どんなもの?

NLPでのデファクトスタンダードとなったTransformerは計算リソースを多く必要としておりモバイル端末などの制限された環境で動作させることが難しい。

本研究ではMulti-Head Attention部分を、局所的な特徴量の重みを畳み込みを使用して計算するモジュールと、長期的な依存関係をとらえるAttentionを使用して計算するモジュールに分けることで、Transformerを上回る精度を発揮しながらも、モバイル端末でも稼働できる軽量なモデルを提案した。

image

2. 先行研究と比べてどこがすごいの?

重量級であるTransformerモデルを軽量化する単純な方法としては、単語IDから単語ベクトルに変換する際に次元数を落とすことであるが、このやり方はモデルが単語の局所的・長期的な依存関係を補足する能力を落としてしまう。

Attention計算は自然言語処理や画像認識など多岐にわたって使用されているが、計算コストが非常に高く、入力するベクトルの次元数がNであり特徴量の次元数がdの場合計算コストはdN^2で増加していく。

この問題に対して、Attention層に入力する前段階でチャンネル数を小さくしておくことで計算コストを下げる手法がよく採用されており、元のTransformerの設計ではAttention層に入力する前にチャンネル数を4分の1にまで落としている。しかしこの手法ではAttentionが捉えることのできる依存関係を補足する能力までも落としてしまう。

計算コストを考えた際にAttention層はO(4Nd^2+N^2d)であり、FFNではO(2x4Nd^2)になる。機械翻訳タスクでは一度に入力される文章のトークン数は20から30であることを考えると計算コストを担っているのはFFNである可能性が高い。

実際に計算してみるとFFNの計算コストのほうが高かった。

image

本研究はTransformerのFFNが計算コストの大部分を占めており、ボトルネック構造が非効率であることを発見した。また局所的な依存関係を畳み込み層でとらえ、長期的な依存関係をAttention層でとらえるLSRAモジュールを導入したLite Transformerを提案した。

本手法は一般的な圧縮技術である枝刈りや量子化と組み合わせることで、約18倍モデルを圧縮できることを示した。

3. 技術や手法の"キモ"はどこにある?

BERTで学習したAttention層の重みの可視化は以下であり、それぞれの重みはSourceの文中の単語がTargetの文中のどの単語に着目しているのかを表している。

得られたAttentionの重みには特徴的なパターンが表れており、疎であり直交性を有していることがわかる。疎であることはつまり長期的な依存関係を捉えていることを示し、直交性は隣り合った単語同士の関係性を表している。

本研究では前者を"global"な関係、後者を"local"な関係と捉えている。

image

今回提案しているLSRAにより局所的な関係性を捉えるモジュールと長期的な関係性を捉えるモジュールを明確に分けることで、Attentionのみを使ったモデルと比較してより計算コストを落としモバイル端末でも実行可能なモデルを構築することを可能となる。

LSRAの計算の流れは以下のように2つに分岐する。またそれぞれのbranchに入力する際に入力ベクトルをチャンネル次元に沿って半分に分け計算し、続くFFNで2つの出力を混ぜることで計算コストを削減することができる。

さらに通常の畳み込み層ではなく、線形結合層とdepthwise畳み込み層を使用したモジュールを採用することでさらに計算コストを削減している。

image

これらの計算によって得られたLSRAのAttention層の重みは以下のように長期的な依存関係を補足するものになる。

image

4. どうやって有効だと検証した?

4.1 動作環境

4.2 結果

ドイツ語から英語への機械翻訳タスクであるIWSLTでの比較結果は以下になる。それぞれ同程度のパラメータ数や計算コストに対して、Lite Transformerはより高いBLUEを達成していることがわかる。

image

また英語からドイツ語への機械翻訳、英語からフランス語への機械翻訳タスクであるWMTでの比較結果は以下になる。先ほどと同じく同程度のパラメータ数と計算コストではLite Transformerがより高いBLUEを達成している。

image

同タスクでの計算コストとBLUEスコアのトレードオフの関係は以下のようになっており、元のTransformerからおよそ2.5倍の計算コストの削減に達成している。

image

Lite Transformerは枝刈りや量子化といった圧縮技術に対しても頑強な性能を発揮しており、無視できる程度の性能悪化でありながらモデルサイズを約18倍程度にまで圧縮できている。

image

AutoMLの探索によって得られたモデルであるETと比較すると、同程度のパラメータ数と計算コストでより高い精度をより安く達成していることがわかる。

image

また長い入力文を取り扱う要約タスクであるCNN-DailyMailでは、同程度の性能を約2分の1程度の計算コストとパラメータ数で達成している。

image

言語モデリングタスクであるWIKITEXT-103ではLite Transformerはより低いPPLを達成しており、Transformerに対して同程度の精度を約2分の1の計算コストで達成している。

image

image

5. 議論はあるか?

shimopino commented 4 years ago

https://github.com/mit-han-lab/lite-transformer

shimopino commented 4 years ago

BERTのAttention層の可視化と理解

計算効率のいいConv