Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
論文紹介 Reformer: The Efficient Transformer
Search
Reo
May 27, 2020
Technology
0
200
論文紹介 Reformer: The Efficient Transformer
I will give a presentation on the following paper.
https://openreview.net/forum?id=rkgNKkHtvB
Reo
May 27, 2020
Tweet
Share
More Decks by Reo
See All by Reo
論文紹介 Taking Notes on the Fly Helps Language Pre-Trainig
reo11
0
32
EMNLP論文紹介 The Myth of Double-Blind Review Revisited: ACL vs. EMNLP
reo11
0
130
論文読み会 How Large Are Lions? Inducing Distributions over Quantitative Attributes
reo11
1
190
ACL読み会 Give Me More Feedback II: Annotating Thesis Strength and Related Attributes in Student Essays
reo11
0
150
NAACL読み会 Attention is not Explanation
reo11
0
73
Other Decks in Technology
See All in Technology
生成AIのガバナンスの全体像と現実解
fnifni
1
200
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.9k
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
230
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
280
ハイテク休憩
sat
PRO
2
170
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
330
なぜCodeceptJSを選んだか
goataka
0
170
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
180
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
380
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
8
3k
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
120
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
100
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Language of Interfaces
destraynor
154
24k
KATA
mclloyd
29
14k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Optimizing for Happiness
mojombo
376
70k
Site-Speed That Sticks
csswizardry
2
190
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
Reformer: The Efficient Transformer Nikita Kitaev*, Lukasz Kaiser*, Anselm Levskaya*
*Google Research ICLR 2020 紹介者: 平尾 礼央(TMU, M1, 小町研究室) 26 May, 2020 @論文紹介
Abstract • Transformerの計算時間、メモリ使用量を効率化したReformerの提案 • Attention Weightが小さいものを計算するのは無駄 ➢ Locality Sensitive Hashingで近いものだけ計算
• 逆伝播のために各レイヤで値を保持しておくのがメモリを圧迫 ➢ Reversible Layerで逆伝播時に毎回計算 • Transformerと同程度の性能でメモリ効率を改善し、長い系列で高速化する 事に成功
Introduction • Transformerを使ったモデルは様々なNLPタスクでSoTA • 最近のモデルはレイヤ数、系列長が増加し、パラメータ数も膨大 • 計算資源がある限られた研究所だけが訓練できる • 計算が増える原因と対策: ◦
Attentionの計算では系列長Lに対して、時間、空間(メモリ)共に O(L^2)で増加 ➢ Locality Sensitive Hashingでクラスタに分け、近い単語のみを計算 ◦ レイヤ数がN倍になるとそれぞれのレイヤが格納しておくべき activationがN倍 ➢ Reversible Layerで全体で1つのactivation(1つ後のレイヤ出力)さえあればよい
Locality Sensitive Hashing(LSH) • Hash関数を使った近似近傍点探索アルゴリズム • n次元空間用のkd-treeのようなもの • k個のn-1次元の超平面を使用することで2^kクラスタに分けることができる https://www.researchgate.net/figure/Locality-sensitive-hashing-LSH_fig4_314300245
https://databricks.com/blog/2017/05/09/detecting-abuse-scale-locality-sensitive-hashing-uber-engineering.html https://www.youtube.com/watch?reload=9&v=LqcwaW2YE_c
Locality Sensitive Hashing Attention LSHによる ハッシュ化 同じグループ 同士で計算
Complexity in Attention Part • nr: ハッシュを繰り返す回数 ◦ LSHはシードによって異なる bucketに分けられる可能性があるため
• nc: LSHのchunk数 ◦ Lが長くなるほど増えるため、 L/ncが実質logL ➢ これでAttentionの計算量の問題は解決!では逆伝播は?
Reversible Residual Networks (Gomez et al. NIPS 2017) • 通常は順伝播時に各レイヤで値
(activation)を持っていないといけない • 下図のように各レイヤを反転すると元の値が求まるようにする • activationの数を全体で1/Lに出来る(L: レイヤ数)
Complexity of Reformer • Reversible Residual Networksと同様に各レイヤで反転できるように変更 • 空間、時間計算量共にLが取れてc(O(logL)) になっている
Experiments • データセット ◦ enwik8: 入力トークン64k ◦ imagenet64: 入力トークン12k •
パープレキシティカーブ(横軸: steps、縦軸: bpd(?)) ◦ 通常のTransformerとほぼ同じ
Translation Task • WMT2014 English-to-German ◦ オリジナルのTransformerとほぼ同じ
Number of Hashing and Layers • ハッシュは8回以上繰り返すことでオリジナルとほぼ一致 • レイヤ数を増やすほど改善
Speed of Transformer and Reformer • 系列長が1024程度だと従来のTransformerの方が高速 ◦ hash回数が1~4だと精度が落ちる •
系列長が2048以上になるとReformerの方が早い
Conclusion • ReformerはTransformerと同程度の表現力を持つ • 長い系列でも効率的に実行でき、レイヤ数が増えても少ないメモリ使用量で実行で きる • これにより、計算資源が少なくても大きいTransformerモデルを扱える • 時系列や動画、音楽など幅広い分野でTransformerを使うことできる