Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介 Reformer: The Efficient Transformer

Reo
May 27, 2020

論文紹介 Reformer: The Efficient Transformer

I will give a presentation on the following paper.
https://openreview.net/forum?id=rkgNKkHtvB

Reo

May 27, 2020
Tweet

More Decks by Reo

Other Decks in Technology

Transcript

  1. Reformer: The Efficient Transformer Nikita Kitaev*, Lukasz Kaiser*, Anselm Levskaya*

    *Google Research ICLR 2020 紹介者: 平尾 礼央(TMU, M1, 小町研究室) 26 May, 2020 @論文紹介
  2. Abstract • Transformerの計算時間、メモリ使用量を効率化したReformerの提案 • Attention Weightが小さいものを計算するのは無駄 ➢ Locality Sensitive Hashingで近いものだけ計算

    • 逆伝播のために各レイヤで値を保持しておくのがメモリを圧迫 ➢ Reversible Layerで逆伝播時に毎回計算 • Transformerと同程度の性能でメモリ効率を改善し、長い系列で高速化する 事に成功
  3. Introduction • Transformerを使ったモデルは様々なNLPタスクでSoTA • 最近のモデルはレイヤ数、系列長が増加し、パラメータ数も膨大 • 計算資源がある限られた研究所だけが訓練できる • 計算が増える原因と対策: ◦

    Attentionの計算では系列長Lに対して、時間、空間(メモリ)共に O(L^2)で増加 ➢ Locality Sensitive Hashingでクラスタに分け、近い単語のみを計算 ◦ レイヤ数がN倍になるとそれぞれのレイヤが格納しておくべき activationがN倍 ➢ Reversible Layerで全体で1つのactivation(1つ後のレイヤ出力)さえあればよい
  4. Complexity in Attention Part • nr: ハッシュを繰り返す回数 ◦ LSHはシードによって異なる bucketに分けられる可能性があるため

    • nc: LSHのchunk数 ◦ Lが長くなるほど増えるため、 L/ncが実質logL ➢ これでAttentionの計算量の問題は解決!では逆伝播は?
  5. Reversible Residual Networks (Gomez et al. NIPS 2017) • 通常は順伝播時に各レイヤで値

    (activation)を持っていないといけない • 下図のように各レイヤを反転すると元の値が求まるようにする • activationの数を全体で1/Lに出来る(L: レイヤ数)
  6. Experiments • データセット ◦ enwik8: 入力トークン64k ◦ imagenet64: 入力トークン12k •

    パープレキシティカーブ(横軸: steps、縦軸: bpd(?)) ◦ 通常のTransformerとほぼ同じ