Reformer: The Efficient Transformer①(Abstract&Introduction)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #39

f:id:lib-arts:20200131184442p:plain

言語処理へのDeepLearningの導入をご紹介するにあたって、#3〜#8においては、Transformer[2017]やBERT[2018]について、#9~#10ではXLNet[2019]について、#11~#12ではTransformer-XL[2019]について、#13~#17ではRoBERTa[2019]について、#18~#20ではWord2Vec[2013]について、#21~#24ではALBERT[2019]について、#26〜#30ではT5[2019]について、#31〜#32ではERNIEについて、#33〜#34ではELMo[2018]について、#35〜#36ではself-attention、#37〜#38ではDecomposable Attentionについて取り扱ってきました。

XLNet②(事前学習におけるAutoRegressiveとPermutation)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #10 - Liberal Art’s diary

RoBERTa(論文の詳細④ RoBERTa、Related Work、Conclusion)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #17 - Liberal Art’s diary

ALBERT③(The Elements of ALBERT)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #23 - Liberal Art’s diary

T5(Text-toText Transfer Transformer)③(Section2_Setup)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #28 - Liberal Art’s diary

#39以降ではTransformerの効率化について試みた研究であるReformerを確認するにあたって"Reformer: The Efficient Transformer"について取り扱います。

[2001.04451] Reformer: The Efficient Transformer

#39ではAbstractとIntroductionの確認を行います。
以下目次になります。
1. Abstract
2. Introduction(Section1)
3. まとめ


1. Abstract
1節ではAbstractの内容を確認しながら概要について把握します。以下各文の和訳などを通して簡単に内容を確認します。

Large Transformer models routinely achieve state-of-the-art results on a number of tasks but training these models can be prohibitively costly, especially on long sequences.

和訳:『大規模のTransformerモデルは(ここ2~3年ほど)恒常的に(routinely)数多くのタスクにおいてSotAを更新している一方で、これらのモデルの学習にあたっては特に長い系列の学習においてとてつもない(prohibitively)コストがかかっている。』
Large Transformer modelsの例としては、BERTやXLNet、ALBERT、T5など、言語処理における様々な事前学習モデル(pre-trained model)が含まれています。2018年10月のBERTをきっかけに研究への注目が非常に大きいものとなっており、ベンチマークの一つであるGLUE一つとっても2019年に何度もSotAが更新されているなどの状況をここではroutinelyと表現されています。一方で、Transfomer関連のモデルの学習にあたっては非常に大きなコストがかかることが指摘されており、Reformerはこの問題に対してのアプローチとして提案されています。

We introduce two techniques to improve the efficiency of Transformers. For one, we replace dot-product attention by one that uses locality-sensitive hashing, changing its complexity from O(L2) to O(LlogL), where L is the length of the sequence. Furthermore, we use reversible residual layers instead of the standard residuals, which allows storing activations only once in the training process instead of N times, where N is the number of layers.

和訳:『我々はTransformerの効率性を向上させる二つの技術を紹介する。一つ目がdot-product attentionをlocality-sensitive hashingに変えることで、このことにより計算量は系列の長さをLとおいた際に、L^2のオーダーからLlog(L)のオーダーに変わった。さらに(二点目としては)、我々は通常のresiduals(残差)の代わりにreversible residual layersを用い、このことによりレイヤー数のN回ではなく1回の学習プロセスでactivationsを保存できるようになった。』
ReformerにおいてTransformerの効率化を行うにあたっては、locality-sensitive hashingとreversible residual layersが主要な技術として紹介されています。これらについては詳細の記述や図解、数式などがそれぞれSection2とSection3で記載されているのでそちらで詳しく確認します。

The resulting model, the Reformer, performs on par with Transformer models while being much more memory-efficient and much faster on long sequences.

和訳:『結果としてのモデルであるReformerはTransformerと同等の精度を実現しつつ、より効率的なメモリ使用と長い系列における高速化を実現した。』
ReformerのContributionとしてTransformerと同様の精度を実現しつつ、効率化と高速化が実現できたことについて再度言及し、話をまとめています。

2. Introduction(Section1)
2節ではSection1のIntroductionについて確認します。以下パラグラフ単位で確認していきます。

f:id:lib-arts:20200131193306p:plain

第一パラグラフでは、Transformer[2017]モジュールを用いた言語処理のモデルは多くのタスクでSotAを達成している一方で、パラメータの数が多いや計算量が大きいなどの点について指摘されています。このことによってマシンの制約などから、計算が単一のGPUマシンでは取り扱えないようになっていることについて指摘されています。

f:id:lib-arts:20200131193334p:plain
第二パラグラフでは、Transformerモジュールが本質的にここまで多くの計算リソースを必要とするのか、それとも非効率であるだけなのかについて問題提起がされています。

f:id:lib-arts:20200131193351p:plain

第三パラグラフでは、Transformerモデルにおける計算について記述されています。

f:id:lib-arts:20200131193418p:plain

第四パラグラフでは、Reformerモデルにおける問題の解決策について記述されています。

f:id:lib-arts:20200131193437p:plain

第五パラグラフでは研究の詳細について、第六パラグラフでは行なった実験についてそれぞれ言及されています。


3. まとめ
#39ではReformerを確認するにあたって"Reformer: The Efficient Transformer"のAbstractとIntroductionを確認し、概要の把握を行いました。
#40ではSection2のLOCALITY-SENSITIVE HASHING ATTENTION以後の内容について取り扱っていきます。