$30 off During Our Annual Pro Sale. View Details »
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
250
論文紹介 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
42
EMNLP論文紹介 The Myth of Double-Blind Review Revisited: ACL vs. EMNLP
reo11
0
160
論文読み会 How Large Are Lions? Inducing Distributions over Quantitative Attributes
reo11
1
250
ACL読み会 Give Me More Feedback II: Annotating Thesis Strength and Related Attributes in Student Essays
reo11
0
180
NAACL読み会 Attention is not Explanation
reo11
0
150
Other Decks in Technology
See All in Technology
乗りこなせAI駆動開発の波
eltociear
1
1.1k
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
540
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
270
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
540
eBPFとwaruiBPF
sat
PRO
4
2.5k
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
290
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
700
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
110
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
720
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.7k
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
130
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
130
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
500
The Pragmatic Product Professional
lauravandoore
37
7.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Designing for Performance
lara
610
69k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
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を使うことできる