shimopino / papers-challenge

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

Poor Man's BERT: Smaller and Faster Transformer Models #74

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2004.03844] Poor Man's BERT: Smaller and Faster Transformer Models

著者・所属機関

Hassan Sajjad, Fahim Dalvi, Nadir Durrani, Preslav Nakov

投稿日時(YYYY-MM-DD)

2020-04-08

1. どんなもの?

モデルの事前学習をscratchから行う必要のない、モデルを軽量化するための新たな学習方法を提案した。この学習によりBERTやRoBERTaなどを精度を98%程度保ったまま40%の軽量化に成功した。また得られたモデルはDistilBERTと同等程度の精度やモデルサイズとなった。

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

BERTを軽量化させるための手法は大きく分けて枝刈り・量子化・蒸留・Factorizarionになる。本手法は枝刈りに関連する。

枝刈りは深層学習モデルはOver-Parameterizedされており、推論時には実際はほとんどのパラメータが必要ではないという考えかを基礎としている。

本研究も上記の考え方に従っているが、キモは下流タスクで事前学習モデルのパラメータは必要でないという考えである(他の手法は事前学習時に枝刈りを実施する)。

実際に過去の研究で隣あった層は冗長な情報を保持していたり、下流タスクによってモデルの各層の役割が変化することが報告されている。

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

本手法ではEmbedding層E0とL個のEncoder層の事前学習モデルから、5つの方法でEncoder層をDropさせていく。

image

3.1 Top-Layer Dropping

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

4.1 方針

枝刈りに関してはBERTとXLNetではKを2,4,6に設定し、DistilBERTではKを1,2,3に設定した。例として12層のモデルに対しKを2に設定した場合は、5つの戦略を用いてそれぞれ2つの層を削除していく。

contribution-basedな手法では各層の入力と出力の類似度を計算し、0.9から0.95まで閾値を設けそれぞれの閾値を上回った層は削除している。

4.2 比較結果

BERTとXLNetに本手法を適用した結果、Top layersを削除する手法が最も精度を高く保つことができており、Bottom Layersを削除すると大きく精度が減少している。

image

DistilBERTでも他のモデルと同じ傾向を示しており、Top Layersを削除する手法が最も精度に対して頑強であり、Odd-Alternateの手法では層を1つしか削除しない場合はほとんど精度の劣化が見られない。

image

5. 議論はあるか?

6. 次に読むべき論文はあるか?

論文情報・リンク

shimopino commented 4 years ago

Transformersでの枝刈りの考え方

本研究の基礎