TECHNOLOGY NLP AI

【日本語訳】Recurrent Memory Transformer

2023年4月25日

悩んでいる人
悩んでいる人

Recurrent Memory Transformerの日本語訳を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOS(Linuxカーネル)の授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
  • プログラミング歴15年以上,習得している言語: C/C++PythonSolidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Verse(UEFN), Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開
  • 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
  • 最近は自然言語処理AIイーサリアムに関する有益な情報発信に従事.
    • (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
    • (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.

こういった私から学べます.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

Recurrent Memory Transformerの日本語訳を紹介します.

Recurrent Memory TransformerはTransformer-XLより優位であることがわかります.

※図表を含む論文の著作権はRecurrent Memory Transformerの著者に帰属します.

Recurrent Memory Transformerの目次は以下になります.

  • Abstract
  • 1章:Introduction
  • 2章:Related work
  • 3章:Recurrent Memory Transformer
  • 4章:Experiments
  • 5章:Results
  • 6章:Conclusions
  • Acknowledgments and Disclosure of Funding
  • References
  • Checklist
  • 付録A:Training details and additional results
  • 付録B:Operations with Memory

Recurrent Memory Transformerを解説しつつ,私の考えも語ります.

Recurrent Memory Transformerの概要と私の日本語訳は以下になります.

Transformer-based models show their effectiveness across multiple domains and tasks.
Transformerベースのモデルは,複数のドメインやタスクでその有効性を示す.

The self-attention allows to combine information from all sequence elements into context-aware representations.
Self-Attentionは,すべてのシーケンス要素からの情報を組み合わせて,コンテキストを意識した表現にすることを可能にする.

However, global and local information has to be stored mostly in the same element-wise representations.
しかし,グローバルな情報とローカルな情報は,ほとんど同じ要素ごとの表現に格納されなければならない.

Moreover, the length of an input sequence is limited by quadratic computational complexity of self-attention.
また,入力シーケンスの長さは,Self-Attentionの2次関数的な計算量によって制限される.

In this work, we propose and study a memory-augmented segment-level recurrent Transformer (RMT).
そこで,本研究では,記憶拡張されたセグメントレベルのRecurrent Transformer(RMT)を提案・検討する.

Memory allows to store and process local and global information as well as to pass information between segments of the long sequence with the help of recurrence.
記憶は,ローカルおよびグローバルな情報の保存と処理を可能にするだけでなく,再帰の助けを借りて長いシーケンスのセグメント間で情報を受け渡すことができる.

We implement a memory mechanism with no changes to Transformer model by adding special memory tokens to the input or output sequence.
我々は,入力または出力シーケンスに特別な記憶トークンを追加することにより,Transformerモデルに変更を加えることなく記憶機構を実装する.

Then the model is trained to control both memory operations and sequence representations processing.
そして,記憶操作とシーケンス表現処理の両方を制御するようにモデルを訓練させる.

Results of experiments show that RMT performs on par with the Transformer-XL on language modeling for smaller memory sizes and outperforms it for tasks that require longer sequence processing.
実験の結果,RMTは記憶サイズが小さい言語モデリングではTransformer-XLと同等の性能を発揮し,より長いシーケンス処理を必要とするタスクではTransformer-XLを凌駕することが示された.

We show that adding memory tokens to Tr-XL is able to improve its performance.
また,Tr-XLに記憶トークンを追加することで,その性能を向上させることができることを示す.

This makes Recurrent Memory Transformer a promising architecture for applications that require learning of long-term dependencies and general purpose in memory processing, such as algorithmic tasks and reasoning.
これにより,Recurrent Memory Transformerは,アルゴリズムタスクや推論のような,長期的な依存関係の学習や記憶処理における汎用性を必要とするアプリケーションに有望なアーキテクチャとなる.

https://arxiv.org/abs/2207.06881

私の日本語訳の注意点は以下になります.

  • 概要は英語と日本語を両方掲載しましたが,本文は私の日本語訳のみを掲載していること(英語で読みたいあなたは原文を読みましょう!)
  • 基本的には原文の直訳ですが,わかりにくい箇所は意訳や説明を追加している箇所があること
  • 原文の「Acknowledgments and Disclosure of Funding」(謝辞と資金提供の公表)と「Checklist」(チェックリスト)は省略していること
  • 本文中に登場する表記「(Vaswani et al., 2017)」などは参考文献ですので,興味がある方は本記事の参考文献を参照されたいこと

それでは,Recurrent Memory Transformerの本文を読みすすめましょう!

1章:Introduction(はじめに)

Transformer(Vaswani et al., 2017)は,複数のドメインやタスクで広く採用されている(Radford et al., 2018; Dong et al., 2018; Devlin et al., 2019; Dosovitskiy et al., 2021; Ramesh et al., 2021; Jaegle et al., 2021).

Transformer層の重要な構成要素は,Self-Attentionである.

Self-Attentionは,シーケンス内の他のすべての要素からの情報を用いて,各シーケンス要素の表現を更新することを可能にする.

その結果,エンコード終了時に各要素の豊富な文脈表現が生成される.

このように,グローバルなシーケンスレベルの情報とローカルな情報が1つの表現に保存される.

しかし,このように2種類の情報を1つの表現に混在させることには限界がある.

すべてのシーケンス要素にグローバルな特徴を分散して保存すると,グローバルな特徴が「ぼやける」(blurring)ことになり,アクセスしにくくなる.

Transformersのもう1つのよく知られた欠陥は,長い入力への応用に支障をきたす,入力シーケンス長に対するSelf-Attentionの貧弱なスケーリングである(Child et al., 2019; Guo et al., 2019; Dai et al., 2019; Beltagy et al., 2020; Ainslie et al., 2020; Zaheer et al., 2020; Wang et al., 2020; Choromanski et al., 2020).

RMT Figure1
図1:Recurrent Memory Transformer.記憶は入力シーケンスにトークンとして追加され,記憶出力は次のセグメントに渡される.訓練中,勾配は現在のセグメントから記憶を通して前のセグメントに流れる.

我々の研究は,Recurrent Memory Transformer(RMT)と名付けられた記憶拡張されたセグメントレベルのRecurrent Transformerを導入している(図1).

※訳注:原文では図1を参照していませんが,ここで参照することが適切なので追記しています.

RMTは,入力シーケンスに追加された特別な記憶トークン(Burtsev et al., 2020)に基づく記憶機構を用いる.

記憶トークンは,入力シーケンスのどの要素も直接表現していない情報を処理するために使用できる,追加の予約容量をモデルに提供する.

長いシーケンスを処理するために,シーケンスをセグメントに分割し,前のセグメントから現在のセグメントへ記憶状態を渡す.

この記憶の受け渡しにより,モデルは再帰的になり,入力シーケンスの長さの制約がなくなる.

RMTモデルは理論的には無限の長さを扱うことができるが,実際には記憶容量と記憶アクセス/更新操作の効率によって制限される.

RMTの記憶と再帰の実装は,Transformerモデルの入出力シーケンスにのみ変更を加えるため,Transformerモデルに変更を加える必要はない.

RMTを,解くべき入力シーケンス全体に関するグローバルな情報を必要とするタスクでテストした.

入力シーケンスがセグメントに分割されている設定で,コピー,リバース,連想検索のタスクを使用した.

RMTとTransformer-XLはこれらのタスクを完璧に解くが,あるバリューのシーケンス長を超えると,RMTがTransformer-XLを上回り始める.

また,提案するRecurrent Memory Transformerは,言語モデリングタスクにおいて,Transformer-XLに近い性能を発揮するために,より少ない記憶サイズで済むことを実験的に示す.

RMTのコードと実験は公開されている.

本論文の貢献:

  1. 本研究では,Transformerをトークンベースの記憶ストレージとセグメントレベルの再帰で拡張する.
  2. 提案アーキテクチャと,バニラ(オリジナルの)Transformer,Transformer-XLを,コピー,リバース,連想検索,言語モデリングなどの記憶消費量の多いタスクで実験的に評価した.その結果,RMTはシーケンス処理タスクにおいてTransformer-XLを上回り,言語モデリングにおいてはTransformer-XLと同等であるが,より少ない記憶しか必要としないことがわかった.
  3. Tr-XLキャッシュをRMTと組み合わせることで,言語モデリングにおいてより高い性能を発揮することを示す.
  4. Transformerモデルがどのように記憶の使い方を学習するのかを分析した.具体的な解釈可能な記憶の読み書きのAttentionパターンが示されている.

2章:Related work(関連研究)

本研究では,汎用的なAttentionベースのニューラルアーキテクチャに記憶を追加する.

記憶は,ニューラルネットワークの研究において繰り返し取り上げられるテーマである.

初期の研究(McCulloch and Pitts, 1943; Stephen, 1956)から始まり,90年代にはBackpropagation Through Time learningアルゴリズム(Werbos, 1990)やLong-Short Term Memory(LSTM)(Hochreiter and Schmidhuber, 1997)ニューラルアーキテクチャの導入で大きく進歩した.

今日,記憶拡張ニューラルネットワーク(MANNs:Memory-Augmented Neural Networks)は,通常,モデルのパラメータとは別のある種のリカレント外部記憶に依存している.

ニューラルチューリングマシン(NTMs:Neural Turing Machines)(Graves et al., 2014)と記憶ネットワーク(Memory Networks)は,Attention機構でアクセス可能なベクトル表現のストレージを備えている.

Memory Networks(Weston et al., 2014; Sukhbaatar et al., 2015)は,記憶内容に対するSequential Attentionを通じて推論を可能にするように設計された.

NTMsに続いて,Differentiable Neural Computer(DNC)(Graves et al., 2016)とSparse DNC(Rae et al., 2016)は,時間経過とともに記憶ストレージに書き込むことができるリカレントニューラルネットワークとして実装されている.

これらのモデルはすべて微分可能であり,BackPropagation Through Time(BPTT)を介して訓練可能である.

並列に行われる研究では,LSTMなどのリカレントニューラルネットワークをスタック,リスト,キューなどのデータ構造で拡張している(Joulin and Mikolov, 2015; Grefenstette et al., 2015).

アドレス-コンテンツ分離やマルチステップアドレッシングなど,より高度なアドレッシング機構を持つMANNアーキテクチャが(Gulcehre et al., 2016, 2017; Meng and Rumshisky, 2018)において提案されている.

Global Context Layerモデル(Meng and Rumshisky, 2018)は,標準的なNTMにおけるコンテンツベースのアドレッシングを訓練するという課題に対処するために,アドレス-コンテンツ分離を採用している.

また,近年のTransformerモデルの台頭により,新しい記憶アーキテクチャが多数導入された.

Transformer-XL(Dai et al., 2019)は,隠れ表現のレベルでセグメントレベルの再帰を導入している.

シーケンスのこれらの表現は,次のセグメントの拡張コンテキストとして再利用するために計算され,キャッシュに格納される.

Compressive Transformer(Rae et al., 2019)は,Transformer-XLに記憶の第2層を追加する.

この記憶は,キャッシュからの情報を圧縮して保存する.

\(\infty\)-former(Martins et al., 2021)は,連続空間のAttentionを利用し,入力シーケンスを連続信号として表現し,長期記憶を無制限にする.

Memory Layers(Lample et al., 2019)モデルは,Transformerブロック内のフィードフォワード層の代わりにプロダクトキー記憶層を持ち,モデル容量を増加させる.

Transformerの多くのバリエーションでは,様々な種類のグローバル表現が追加されている.

その中には,Star-Transformer(Guo et al., 2019),Longformer(Beltagy et al., 2020),GMAT(Gupta and Berant, 2020),Extended Transformer Construction(ETC)(Ainslie et al., 2020),Big Bird(Zaheer et al., 2020)がある.

これらのアーキテクチャはすべて,Self-Attention機構を再設計して計算量を減らし,グローバル表現の助けを借りて入力の網羅性を確保するものである.

Memory Transformer(Burtsev et al., 2020)は,Transformerのモデルをそのままに,入力シーケンスを特別な記憶トークンで拡張することで記憶を追加する.

Perceiver IO(Jaegle et al., 2021)は,任意の入力全体を固定数の潜在的表現にマッピングする.

Transformer層は,潜在的な記憶表現のみに対してさらなる処理を行う.

Transformerにおけるセグメントレベルの再帰は,多くの研究において活発に検討されている.

Transformer-XL,Compressive Transformerは前の状態を保持し,後続のセグメントで再利用する.

Ernie-Doc(Ding et al., 2021)は,先行するセグメントの前の層の出力にAttentionするのではなく,同じ層の再帰を使用することで処理を改善する.

Memformer(Wu et al., 2020)は,要約された表現で以前の隠れた状態を保持するために,専用の記憶モジュールを導入する.

Memformerは,Transformerモデルに追加された2つの特別なレイヤを使用する.

Memory Cross Attention層は記憶から読み込み,Memory Slot Attention層はそれを更新する.

MART(Lei et al., 2020)はMemformerと同様のアプローチを持つが,LSTM(Hochreiter and Schmidhuber, 1997)とGRU(Cho et al., 2014)に類似する記憶更新ルールを使用する.

FeedBack Transformer(Fan et al., 2020)は,セグメントレベルではなく,完全な再帰でさらに進化する.

FeedBack Memoryは,全層から過去の隠れ表現を1つのベクトルにマージし,どの層の計算にもアクセスできるようにする.

完全再帰の欠点は,並列化しにくいことである.

FeedBack Memoryでは,すべてのシーケンス要素をシーケンス処理する必要がある.

セグメントレベルのリカレントモデルでは,セグメントのすべての要素がTransformer層によって並列に処理される.

セグメントだけがシーケンス処理される.

Staircase Transformer(Ju et al., 2021)は,セグメントレベル再帰と深度再帰を組み合わせている.

階段型モデルは,前のセグメントに対する出力を使用し,次のセグメントの入力として渡す.

我々のRecurrent Memory Transformerは,Memory Transformerと同様の特別な記憶トークン,Transformer-XLと同様のセグメントレベルの再帰,そしてStaircase Transformerと同様の記憶処理のための深度再帰機構をベースにしている.

3章:Recurrent Memory Transformer

Transformer-XL(Dai et al., 2019)は,セグメントレベルの再帰と相対位置エンコードのための状態再利用キャッシュ機構でTransformerモデルを拡張する.

入力シーケンスは,シーケンス処理されるセグメントで分割される.

前のセグメント\(M^n\)に対して計算された隠れ状態は,各Transformer層nに対してキャッシュされる.

レイヤnの入力は,キャッシュされた記憶からの最後のm個の状態と,現在のセグメント\(\tau\)に対する前のTransformer層の出力で構成される.

$$\tilde{H}_\tau^{n-1} = [SG(M_{-m:}^{n-1}) \circ H_\tau^{n-1}]$$

ここで,SGはstop-gradient(勾配停止)を表し,\(\circ\)はconcatenation(結合)を表す.

キャッシュされた状態は,Transformerモデルの有効なコンテキストサイズを増加させ,計算操作を節約することができる.

次に,\(\tilde{H}_\tau^{n-1}\)はTransformer層TLに行き,セグメント\(\tau\)に対する層nの出力を生成する.

$$H_\tau^n = TL(Q_\tau^n, K_\tau^n, V_\tau^n), Q_\tau^n = W_q^n H_\tau^{n-1}; K_\tau^n = W_k^n \tilde{H}_\tau^{n-1}, V_\tau^n = W_v^n \tilde{H}_\tau^{n-1}$$

RMT Figure2
図2:Recurrent Memory Transformer(RMT)とTransformer-XLアーキテクチャの比較.Recurrent Memory Transformerは,Transformerをグローバル記憶トークンで拡張し,セグメントレベルの再帰を可能にするために渡す.特別な読み書きの記憶トークンは,入力シーケンスに追加される.複数の記憶トークンを各読み書きブロックで使用することができる.書き込み記憶の更新された表現は,次のセグメントに渡される.訓練中,RMTはBPTTを用いて,記憶トークン表現を通して前のセグメントに勾配を伝播させる.Transformer-XLのキャッシュのようなネットワークの深さによる制限を受けず,記憶による再帰のための有効なコンテキスト長を確保することができる.

Transformer-XLでは,より長いAttention長への汎化を改善するために,Self-Attention層が相対位置エンコーディングを使用するように変更されている.

全体的なアーキテクチャは図2に示す通りである.

GMAT, ETC,Memory Transformer(Gupta and Berant, 2020; Ainslie et al., 2020; Burtsev et al., 2020)などの記憶拡張Transformerは,特別なグローバルトークンを表現のためのストレージとして使用することを提案した.

通常,記憶トークンは入力シーケンスの先頭に追加される.

しかし,デコーダのみのアーキテクチャでは,因果的Attentionマスクにより,シーケンスの先頭にある記憶トークンが後続のトークンから情報を収集することは不可能である.

一方,記憶トークンをシーケンスの末尾に配置すると,先行するトークンはその表現にアクセスできなくなる.

この問題を解決するために,シーケンス処理に再帰を追加する.

セグメントの末尾に置かれた記憶トークンの表現は,次のセグメントの先頭と末尾の記憶表現の入力として使用される.

Recurrent Memory Transformerでは,入力は特別な[mem]トークンで拡張され,トークンのシーケンスとともに標準的な方法で処理される.

各記憶トークンは実数値のベクトルである.

セグメントトークン表現\(H_\tau^0\)の最初にm個の記憶トークンが追加され,最後に同じm個のトークンが追加される.

$$\tilde{H}\tau^0 = [H_\tau^{mem} \circ H_\tau^0 \circ H_\tau^{mem}], \bar{H}_\tau^N = Transformer(\tilde{H}_\tau^0), [H_\tau^{read} \circ H_\tau^N \circ H_\tau^{write}] := \bar{H}_\tau^N$$

ここで,NはTransformerの層数である.

記憶トークン関数の開始グループは,シーケンストークンが前のセグメントで生成された記憶状態に関与することを可能にする読み込み記憶として機能する.

終了グループは,現在のセグメントトークンのすべてに出席し,記憶に格納された表現を更新することができる書き込み記憶として機能する.

その結果,\(H_\tau^{write}\)はセグメント\(\tau\)の更新された記憶トークンを含む.

入力シーケンスのセグメントは,シーケンス処理される.

セグメント間の再帰的な接続を可能にするために,現在のセグメントからの記憶トークンの出力を次のセグメントの入力に渡す.

$$H_{\tau+1}^{mem} := H_\tau^{write}, \tilde{H}_{\tau+1}^0 = [H_{\tau+1}^{mem} \circ H_{\tau+1}^0 \circ H_{\tau+1}^{mem}]$$

RMTの記憶も再帰も,グローバル記憶トークンのみに基づいている.

これにより,バックボーンのTransformerを変更せず,Transformerファミリーのどのモデルとも互換性のあるRMTの記憶拡張が可能になる.

記憶トークンは,モデルの入力と出力に対してのみ作用する.

本研究では,オリジナルのTransformer-XLコードの上にRMTを実装している.

両方のアーキテクチャを図2に示す.

RMTの再帰がTransformer-XLのとは異なる理由は,1セグメントあたりm個の記憶ベクトルしか格納しないためである.

一方,Transformer-XLは,セグメントごとにm*N個のベクトルを格納する.

また,RMTモデルでは,前のセグメントの記憶表現が,現在のセグメントトークンとともにTransformer層で処理される.

このため,RMTの記憶部分は,適用されるTransformer層の数\(\tau\)*Nだけ実質的に深くなる.

さらに,読み書きブロック内のすべての記憶トークンが,同じブロック内の他のすべてのトークンにアクセスできるようにする.

因果的Attentionマスクは,入力シーケンスのトークンにのみ適用される(図6(d)).

RMTをBackpropagation Through Time(BPTT)で訓練させる.

バックワードパスでは,Transformer-XLとは異なり,セグメント間で記憶勾配を停止させない.

バックプロパゲーションを行う前のセグメントの数は,訓練手順のハイパーパラメータである.

我々の実験では,BPTT unrollを0から4まで前のセグメントを変化させた.

このパラメータを増やすと,計算量が多くなり,多くのGPU RAMが必要になる.

しかし,勾配チェックポイントのような技術を使用することで,この問題を緩和することができる.

4章:Experiments(実験)

我々は,複数の入力セグメントにまたがる長期的な依存関係を保持するRecurrent Memory Transformersの能力を評価するために実験を計画した.

最初の実験セットには,コピー,リバース,連想検索,二次方程式のタスクが含まれている.

2つ目は,WikiText-103(Merity et al., 2017)の単語レベルの言語モデリングタスクとenwik8(Mahoney, 2006)の文字レベルの言語モデリングタスクを扱う.

Recurrent Memory Transformerと,TransformerおよびTransformer-XLモデルとの比較を行う.

我々のRMTの実装は,Transformer-XLリポジトリに基づいている.

ハイパーパラメータの完全なセットは,補足資料と同様に我々のリポジトリで入手可能である.

言語モデリング実験は,Transformer-XLと同じモデルと訓練ハイパーパラメータに従う.

WikiText-103実験では16層Transformer(10 head,410 hidden size,2100 intermediate FF),enwik8~12層Transformer(8 head,512 hidden size,2048 intermediate FF)を使用している.

WikiText-103は200,000ステップ,enwik8は400,000ステップで,0.00025から始まる線形スケジュール学習率でAdam optimizer(Kingma and Ba, 2015)を使用した.

記憶サイズが0に等しいTransformer-XLをBaselineと呼ぶことにする.

この実験セットアップにより,Transformer-XLモデルについて,原著論文に近い結果を再現することができた.

アルゴリズムタスク:

RMTを,入力シーケンス全体の情報を必要とするアルゴリズムタスクで評価したところ,成功裏に解決することができた.

リカレント設定では,モデルは予測を行うために,以前のすべてのセグメントに関する情報を保持する必要がある.

コピータスクでは,入力シーケンスは,特別なstart-to-generateトークンの後に2回複製されなければならない.

リバースタスクでは,入力シーケンスは逆順に生成されなければならない.

連想検索タスクの入力は,N個のキーとバリューのペアで構成される.

そして,1つのキーがランダムに選択され,選択されたキーに対して適切なバリューを生成するタスクである.

もう一つのタスクは,二次方程式を解くことである.

1つの例は,方程式,判別式を含む解,そして答えからなる.

タスクは解と答えを生成することであり,答えの品質のみが評価される.

すべてのタスクにおいて,入力と出力のシーケンスはセグメントに分割され,モデルによってシーケンス処理される.

アルゴリズムタスクのデータセットはランダムに事前生成され,すべての実験で同じデータが使用され,文字レベルのトークン化が使用された.

Transformer-XLとRMTはデコーダのみのTransformerモデルであるため,start-to-generateトークンの前の入力シーケンスに対する損失は計算されない.

損失はターゲットシーケンスセグメントのみに対して計算される(詳細は付録A.1参照).

言語モデリングと自然言語処理(NLP:Natural Langage Processing):

言語モデリングのための2つの標準的なベンチマーク(WikiText-103とenwik8)を使用する.

WikiText-103(Merity et al., 2017)は,単語レベルの言語モデリングに使用され,英語Wikipediaの記事から103M単語が含まれている.

Enwik8(Mahoney, 2006)は文字レベルに使用され,英語WikipediaのXMLテキストダンプの最初の\(10^8\)バイトで構成されている.

ボキャブラリーは,Wikitext-103とenwik8のトークナイザーのために,267,735単語と204文字が含まれている.

Recurrent Memory Transformerと,デコーダのみのTransformer,Transformer-XLをベースラインとして比較する.

モデルサイズと訓練パラメータはTransformer-XLの論文と一致するように選択されている.

Wikitext-103では入力コンテキストの長さを150トークンに設定し,enwik8では512文字に設定した.

もう一つの実験では,RMTが長期的な依存関係や再帰をどのように扱うかを調べた.

セグメントを小さくして(WikiText-103は50トークン,enwik8は128文字),セグメントとリカレントステップの数を増やした.

その結果,RMTは,より多くのステップで同じ量の記憶に情報を格納する必要があるため,リカレントステップの数が増えると言語モデリングタスクが難しくなることがわかった.

現実のアプリケーションシナリオのテストベッドとして,人気のある長文分類ベンチマークHyperpartisan News(Kiesel et al., 2019)を選択する.

RMTをゼロから事前訓練する代わりに,HuggingFace Transformers(Wolf et al., 2020)から最も広く採用されているモデルに再帰記憶機構を追加する.

具体的には,すでに事前訓練されたBERT-base,RoBERTa-base,DeBERTa-base,T5-baseの500入力トークンに,サイズ10の再帰記憶を拡張し,ターゲットタスクでファインチューニングを行う.

5章:Results(結果)

RMT Figure3
図3:RMTは,セグメント数が増えるにつれて,コピーとリバースのタスクでTransformer-XLを上回った.(図の左から右)コピー,リバース,連想検索の各タスクにおけるテストセットの1文字あたりの正確率を示すパネル.記憶/キャッシュサイズは,両モデルともセグメントの長さに等しい.RMTは,この実験ではセグメント間の勾配を渡さない.MTの結果はベースラインと同じである.コピー,リバース,連想検索タスクのソース/ターゲットシーケンスの長さは,それぞれ24/48,24/24,10/1である.

Baseline,Transformer-XL(Tr-XL),RMTは,コピーとリバースタスクの単一セグメント設定で完璧な性能を発揮する(図3).

この場合,シーケンス全体が利用可能であるため,モデルは再帰を必要としない.

セグメントの数が1つより大きい場合,非再帰ベースラインはタスクを解決するのに苦労するが,どちらの記憶モデルも前のセグメントから必要な情報を記憶に保持する能力を示している.

コピーとリバースのタスクでは,セグメント数が増えるにつれて,RMTがTransformer-XLを上回り始め,記憶サイズが以前のすべてのトークンの数より小さくなった.

セグメント数が6になると,Transformer-XLの平均正解率は最大0.2ポイント低下し,9になると記憶なしのベースライン近くまで急降下する.

連想検索の結果は,セグメント数が4までの場合,同様である.

RMTは,Transformer-XLと僅差でタスクを解決することに成功した.

しかし,5セグメントでは,RMTの性能がわずかに低下し,Transformer-XLの平均正解率が高くなる.

RMT Figure4
図4:RMTはセグメント数とシーケンスサイズによってスケールが向上する.(a)RMTは,固定シーケンス長360の場合,9セグメントまでコピータスクを完璧に解くことができ,Tr-XLは失敗する.(b)RMTはTR-XLに比べ,同じ固定サイズ(60トークン)の記憶を,コピーするシーケンス長が長くなるにつれて効率的に使用するようになる(セグメントサイズは両モデルとも120).

セグメントの数,シーケンスの長さ,訓練コンテキストの長さ,記憶サイズが,コピータスクにおけるモデルの性能にどのような影響を与えるかを分析した(図4).

シーケンスをより多くのセグメントに分割すると,セグメント間で情報を受け渡すことがより重要になる.

ここでは,ソースとターゲットのシーケンスの360トークンを複数のセグメントに分割した.

図4aでは,Transformer-XLの性能は,セグメントの数が増えるにつれて低下し始め,最終的にはベースラインモデルの性能まで低下していることがわかる.

一方,RMTはこのタスクを完全に解決し続ける.

さらに極端な設定として,記憶サイズを固定したまま,シーケンスの全長を増やしてコピーすると,Transformer-XLはすぐに失敗し,RMTは720トークンの長さを超えてから徐々に劣化し始める(図4b).

RMT Table1
表1:二次方程式のタスク.180個のトークンは,二次方程式,解,答えから構成されている.このタスクはいくつかのセグメントに分割され,最後のセグメントに答えがある.完全な答えが正しく予測された場合,正解率は1.0になる.

二次方程式のタスク(表1)では,Transformerのベースラインとセグメンテーションを使用しない状態でタスクを解くことが可能であることが確認された.

この場合のベースラインは,このタスクの上限を定義している.

複数のセグメントを再帰させた場合,RMTはこのタスクを完璧に解くが,Transformer-XLはこのタスクを困難と判断する.

RMT Table2
表2:WikiText-103の言語モデリング.RMTモデル(付録A.5の全結果を参照)の最も良い性能のバリエーションに対する平均パープレキシティ.下線部はTr-XLとRMTモデルが近い結果であることを示している.記憶サイズが小さいRMTモデルは,記憶サイズが大きいTr-XLモデルと同様のスコアを達成している.キャッシュと再帰記憶の組み合わせ(Tr-XL + RMT)が最も良い性能を示している.

WikiText-103を対象とした単語レベルの言語モデル化の実験結果を表2に示す.

セグメント長150の第1セクションでは,Tr-XLとRMTがベースラインとMemory Transformer(MemTr)を大差で上回った.

言語モデリングにおいて,Tr-XLキャッシュやRMT記憶による有効文脈長の増大の意義を示すものである.

RMTは,読み込み/書き込みブロックを持つMemTr記憶機構よりも改善される.

記憶サイズ10と25の最良のRMTモデルは,記憶サイズが75に等しいTransformer-XLと同様の性能を示している.

RMTは,Transformer-XLよりも小さな記憶を効果的に使用することを学習する.

さらに,RMTの記憶サイズが小さいと,モデルを実行するために必要なGPU RAMが少なくなる.

より長い再帰依存関係を処理させるために,セグメントのサイズを50に設定し,再帰ステップの数を増やした.

記憶サイズ1のRMTは,記憶サイズ10のTransformer-XLと同様の結果を示している.

注目すべきは,RMTの記憶がmemory_sizeのベクトルだけであるのに対し,Transformer-XLの記憶は全層からの隠れ表現(この場合,10*16ベクトル)で構成されていることである.

記憶サイズ50のTransformer-XLと記憶サイズ5のRMTは,同様のパープレキシティを示す(付録A.5参照).

RMTはTr-XLキャッシュと組み合わせることができる.

この場合,Tr-XLキャッシュは最も近い文脈を保持する短期記憶として,RMT記憶は長期記憶として見ることができる.

このような組み合わせにより,WikiText-103ではTr-XLを上回る最良の結果を得ることができた.

enwik8では,記憶サイズ5のRMTモデルと記憶サイズ40のTransformer-XLが同様の結果を示している.

RMTはより少ない記憶表現をより効果的に使用することを学習することが確認された.

enwik8データセットの全結果は付録A.4に示す.

RMT Figure5
図5:WikiText-103において,より深いBPPTの展開によりRMTのスコアが向上した.(a)RMTではより深いBPTT展開,Tr-XLではキャッシュの拡大により,訓練時の可視コンテキストを増加させることができる.可視コンテキストを大きくすることで,両モデルともパープレキシティが低下する(マーカーサイズは記憶サイズに対応する).(b)同じ記憶サイズであれば,RMTはTr-XLに比べて再帰が向上する.

Recurrent Memory Transformerは,「前のセグメント+1 = 現在のセグメント」になる「#BPTT_unrolls」に依存して予測を行うことを学習する.

※訳注:原文「Recurrent Memory Transformer learns to make predictions depending on #BPTT_unrolls over previous segments +1 current segment.」の意訳です.

Transformer-XLはBPTTを使わず,memory_sizeのキャッシュ状態と現在のセグメント「memory_size + segment_length」の合計トークンにのみ依存する.

図5aでは,訓練時の可視コンテキストの記述値によって,RMTとTr-XLを比較している.

記憶ベクトルが1つのRMTは,記憶サイズ10のTransformer-XLより低いパープレキシティを達成するように訓練できた.

これは,RMTが以前の観測から情報を圧縮することをよりよく学習できることを意味する.

また,Transformer-XLが前のセグメントからより多くの非圧縮状態(50,100,200)にアクセスできる場合でも,記憶サイズ10と25のRMTはTransformer-XLと比較して少し弱い性能しか示さないという観察結果もある.

一般に,前のセグメントで勾配を展開してRMTを訓練すると,スコアは劇的に向上し,BPTT訓練の重要性を示すが,より深いBPTT展開でより大きな記憶サイズのRMT訓練中に不安定さと記憶不足の問題が観察された.

記憶トークンを1つだけ追加した場合はRMTが大きく勝るが,その後,記憶サイズを5から50に増やした場合の効果は薄れる(図5b).

しかし,記憶サイズ5のRMTは,キャッシュサイズ50のTransformer-XLと同等の性能を示し,RMTがよりコンパクトな表現を保存することを学習することが確認された.

この結果は,RMTがタスクを解決するために最適な記憶サイズが存在し,それ以上増やしてもあまり意味がないことを示唆している.

RMT Table3
表3:Hyperpartisan Newsの検出.RMTで始まるモデルはHuggingFace Transformersから取られ,ファインチューニングの前に10個の記憶トークンと再帰で拡張される.訓練/検証/テストの分割は(Beltagy et al., 2020)と同様で,メトリックはF1である.

提案する再帰記憶機構は,拡張コアモデルの入力と勾配フローにのみ影響を与える.

これは,すでに事前訓練されたモデルに記憶を追加することができるため,重要な利点となる可能性がある.

長文テキスト分類用にファインチューニングされた4つの記憶拡張言語モデルの評価結果を表3に示す.

512の入力シーケンスに10個の記憶トークンを組み込むことで,最大2000トークンまでの長いテキストをエンコードすることができ,大半のモデルでメトリクスが大幅に改善された.

さらに,再帰記憶とRoBERTa-baseの組み合わせは,Hyperpartisan News分類タスクに対して最先端の性能をもたらす(Kiesel et al., 2019).

興味深いことに,多くの競合モデルは,入力サイズが4096で,RMT拡張対応と比較して少なくとも2倍長いが,それでも遅れをとっている.

RMT Figure6
図6:記憶モデルのAttentionマップパターンを抜粋したもの.(色の濃さはAttentionスコアに対応)セグメント長=24,記憶サイズ=24のRMT.(a)記憶に書き込む.(b)記憶から読み込む.(c)RMT,セグメント長=8, 記憶サイズ=8,読み込み記憶から書き込み記憶に書き換える.(d)Transformer-XL,セグメント長=24,記憶サイズ=24,前の隠し状態から読み込む.

RMTがアルゴリズムタスクで学習する記憶操作を理解するために,コピータスクとリバースタスクのAttentionマップを可視化した(図6).

RMTのAttentionマップでは,トークンは左上にある読み込み記憶に先行し,右下にある書き込み記憶に後続するように配置されている.

図6(a)の中央の対角線(上)はトークンシーケンスを自分自身にAttentionする古典的なAttentionを表し,下の対角線はトークンシーケンスを直線的に記憶に書き込む操作を表す.

逆を完成させると(図6(a)下),このモデルはシーケンスを逆順に記憶に書き込むことを学習し,これは常識に合致している.

ターゲットシーケンスを再現する場合,モデルは記憶にアクセスし(図6(b)),出力シーケンスに書き込む.

もう一つの動作(図6(c))は,読み込み記憶から書き込み記憶への書き換えである.

これは,RMTがセグメント数の多い設定で,最近のセグメントに関する情報を長く保持するためによく使われるものである.

Transformer-XLの記憶アクセス機構(図6(d))は,シーケンストークン表現を変更することなく記憶に直接書き込むことを許さない.

キャッシュからのシーケンシャル読み込みは,Transformer-XLのAttentionマップの対角線によって表現される.

トークン表現をストレージとして使用すると,セグメント数の多いタスクでモデルの性能が低下する.

4セグメントのリバースタスクでは,メモリサイズ6に制限のあるTransformer-XLは(付録Bの図9(b)),トークンの表現を混合し,1つのキャッシュ状態から次のセグメントで複数のシンボルを読み取ることを試み,ターゲットタスクの平均正解率は0.8となる.

同じ記憶サイズであるにもかかわらず,RMTはセグメント全体を記憶トークンで圧縮することに成功し(付録Bの図9(a)),平均正解率1を達成した.

図6と付録Bの図9から,Tr-XLはセグメント間の情報伝達のために,同じ隠れ状態の前のセグメントと現在のセグメントの表現を混合する必要があるという仮説を支持する証拠が得られた.

また,RMTの記憶トークンがこのような混在を緩和するのに役立つことも示されている.

RMTの記憶へのシーケンス圧縮の能力を付録A.1の図8に示す.

6セグメントのコピーの場合,RMTは12個のトークンのシーケンスを圧縮し,わずか6個の記憶トークンで読み取る.

Transformer-XLでは,記憶サイズを小さくし,セグメント数が2より大きくなると,正解率スコアが著しく低下する.

6章:Conclusions(結論)

本論文では,Transformerモデルを単純に再帰記憶で拡張したRecurrent Memory Transformerを紹介した.

RMTは,特別なグローバル記憶トークンとセグメントレベルの再帰を持つ入力シーケンスの拡張によって実装される.

重要なのは,本手法により,よりコンパクトなシーケンス表現を学習し,大規模な計算を追加することなく,既存の事前訓練済みモデルを改善することができるため,実用的な機械学習アプリケーションをよりエネルギー効率的で環境に優しいものにできることである.

実験では,RMTをTransformerのベースラインとTransformer-XL(Transformerを長いシーケンス用に改良したものとして知られる)と比較した.

RMTは,複数のセグメントからなるシーケンスに対して,コピー,リバース,二次方程式のタスクをほぼ完璧に解き,Transformer-XLを凌駕した.

また,連想検索タスクでもTransformer-XLと同等の品質を示した.

予想通り,ベースラインTransformerは,複数セグメントの設定において,これらのタスクを解決することができない.

言語モデルとして訓練させたRMTは,Transformerのベースラインを大きく上回り,Transformer-XLと同様の品質指標を示すが,記憶サイズは最大で10倍小さくなる.

実験結果は,固定記憶サイズにおいて,より多くのセグメントの勾配をバックプロパゲートすることで,RMTの性能が向上することを示している.

RoBERTaとRMTの組み合わせをファインチューニングすることで,長文分類タスクで最先端の結果を達成したことからもわかるように,提案する記憶拡張のアプローチは非常に普遍的で,どんな事前訓練済みTransformerベースのモデルにも簡単に適用できる可能性がある.

Attentionマップの解析から,RMTの性能向上は,Transformer-XLのストレージにある表現の混合と比較して,入力表現をより効果的に専用記憶トークンに格納できることに関連することが示唆された.

RMTはTransformer-XLキャッシュと組み合わせることで,両モデルの性能を向上させることができた.

全体として,本研究の結果は,Recurrent Memory Transformerが提供する専用の記憶ストレージと再帰により,アルゴリズムタスクや推論など,長期的な依存関係の学習や汎用的な記憶内処理を必要とするアプリケーションに有望なアーキテクチャであることを示している.

さらに,RMTは,Transformerファミリーの他のモデルに記憶と再帰を追加する道を開くことができると信じている.

References(参考文献)

  1. (Ainslie et al., 2020) Joshua Ainslie, Santiago Ontanon, Chris Alberti, Philip Pham, Anirudh Ravula, and Sumit Sanghai. Etc: Encoding long and structured data in transformers, 2020.
  2. (Ba et al., 2016) Jimmy Ba, Geoffrey E Hinton, Volodymyr Mnih, Joel Z Leibo, and Catalin Ionescu. Using fast weights to attend to the recent past. In D. Lee, M. Sugiyama, U. Luxburg, I. Guyon, and R. Garnett, editors, Advances in Neural Information Processing Systems, volume 29. Curran Associates, Inc., 2016. URL https://proceedings.neurips.cc/paper/2016/file/9f44e956e3a2b7b5598c625fcc802c36-Paper.pdf.
  3. (Beltagy et al., 2020) Iz Beltagy, Matthew E Peters, and Arman Cohan. Longformer: The long-document transformer. arXiv preprint arXiv:2004.05150, 2020.
  4. (Burtsev et al., 2020) Mikhail S Burtsev, Yuri Kuratov, Anton Peganov, and Grigory V Sapunov. Memory transformer. arXiv preprint arXiv:2006.11527, 2020.
  5. (Child et al., 2019) Rewon Child, Scott Gray, Alec Radford, and Ilya Sutskever. Generating long sequences with sparse transformers, 2019.
  6. (Cho et al., 2014) Kyunghyun Cho, Bart van Merriënboer, Dzmitry Bahdanau, and Yoshua Bengio. On the properties of neural machine translation: Encoder–decoder approaches. In Proceedings of SSST-8, Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation, pages 103–111, Doha, Qatar, October 2014. Association for Computational Linguistics. doi: 10.3115/v1/W14-4012. URL https://aclanthology.org/W14-4012.
  7. (Choromanski et al., 2020) Krzysztof Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamas Sarlos, Peter Hawkins, Jared Davis, Afroz Mohiuddin, Lukasz Kaiser, et al. Rethinking attention with performers. arXiv preprint arXiv:2009.14794, 2020.
  8. (Dai et al., 2019) Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc V. Le, and Ruslan Salakhutdinov. Transformer-xl: Attentive language models beyond a fixed-length context, 2019.
  9. (Devlin et al., 2019) Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pages 4171–4186, 2019. URL https://aclweb.org/anthology/papers/N/N19/N19-1423/.
  10. (Ding et al., 2021) SiYu Ding, Junyuan Shang, Shuohuan Wang, Yu Sun, Hao Tian, Hua Wu, and Haifeng Wang. ERNIE-Doc: A retrospective long-document modeling transformer. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pages 2914–2927, Online, August 2021. Association for Computational Linguistics. doi: 10.18653/v1/2021.acl-long.227. URL https://aclanthology.org/2021.acl-long.227.
  11. (Dong et al., 2018) Linhao Dong, Shuang Xu, and Bo Xu. Speech-transformer: A no-recurrence sequence-to-sequence model for speech recognition. In 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 5884–5888, 2018. doi: 10.1109/ICASSP.2018.8462506.
  12. (Dosovitskiy et al., 2021) Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. In International Conference on Learning Representations, 2021. URL https://openreview.net/forum?id=YicbFdNTTy.
  13. (Fan et al., 2020) Angela Fan, Thibaut Lavril, Edouard Grave, Armand Joulin, and Sainbayar Sukhbaatar. Addressing some limitations of transformers with feedback memory. arXiv preprint arXiv:2002.09402, 2020.
  14. (Graves et al., 2014) Alex Graves, Greg Wayne, and Ivo Danihelka. Neural turing machines, 2014.
  15. (Graves et al., 2016) Alex Graves, Greg Wayne, Malcolm Reynolds, Tim Harley, Ivo Danihelka, Agnieszka Grabska-Barwi´nska, Sergio Gómez Colmenarejo, Edward Grefenstette, Tiago Ramalho, John Agapiou, Adrià Puigdomènech Badia, Karl Moritz Hermann, Yori Zwols, Georg Ostrovski, Adam Cain, Helen King, Christopher Summerfield, Phil Blunsom, Koray Kavukcuoglu, and Demis Hassabis. Hybrid computing using a neural network with dynamic external memory. Nature, 538(7626):471–476, October 2016. ISSN 00280836. URL http: //dx.doi.org/10.1038/nature20101.
  16. (Grefenstette et al., 2015) Edward Grefenstette, Karl Moritz Hermann, Mustafa Suleyman, and Phil Blunsom. Learning to transduce with unbounded memory, 2015.
  17. (Gulcehre et al., 2016) Caglar Gulcehre, Sarath Chandar, Kyunghyun Cho, and Yoshua Bengio. Dynamic neural turing machine with soft and hard addressing schemes. arXiv preprint arXiv:1607.00036, 2016.
  18. (Gulcehre et al., 2017) Caglar Gulcehre, Sarath Chandar, and Yoshua Bengio. Memory augmented neural networks with wormhole connections. arXiv preprint arXiv:1701.08718, 2017.
  19. (Guo et al., 2019) Qipeng Guo, Xipeng Qiu, Pengfei Liu, Yunfan Shao, Xiangyang Xue, and Zheng Zhang. Star-transformer, 2019.
  20. (Gupta and Berant, 2020) Ankit Gupta and Jonathan Berant. Gmat: Global memory augmentation for transformers. arXiv preprint arXiv:2006.03274, 2020.
  21. (Hochreiter and Schmidhuber, 1997) Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory. Neural Comput., 9(8):1735–1780, November 1997. ISSN 0899-7667. doi: 10.1162/neco.1997.9.8.1735. URL https://doi.org/10.1162/neco.1997.9.8.1735.
  22. (Jaegle et al., 2021) Andrew Jaegle, Sebastian Borgeaud, Jean-Baptiste Alayrac, Carl Doersch, Catalin Ionescu, David Ding, Skanda Koppula, Daniel Zoran, Andrew Brock, Evan Shelhamer, et al. Perceiver io: A general architecture for structured inputs & outputs. arXiv preprint arXiv:2107.14795, 2021.
  23. (Joulin and Mikolov, 2015) Armand Joulin and Tomas Mikolov. Inferring algorithmic patterns with stack-augmented recurrent nets, 2015.
  24. (Ju et al., 2021) Da Ju, Stephen Roller, Sainbayar Sukhbaatar, and Jason Weston. Staircase attention for recurrent processing of sequences. arXiv preprint arXiv:2106.04279, 2021.
  25. (Kiesel et al., 2019) Johannes Kiesel, Maria Mestre, Rishabh Shukla, Emmanuel Vincent, Payam Adineh, David Corney, Benno Stein, and Martin Potthast. Semeval-2019 task 4: Hyperpartisan news detection. In Proceedings of the 13th International Workshop on Semantic Evaluation, pages 829–839, 2019.
  26. (Kingma and Ba, 2015) Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR (Poster), 2015. URL https://arxiv.org/abs/1412.6980.
  27. (Lample et al., 2019) Guillaume Lample, Alexandre Sablayrolles, Marc’Aurelio Ranzato, Ludovic Denoyer, and Hervé Jégou. Large memory layers with product keys, 2019.
  28. (Lei et al., 2020) Jie Lei, Liwei Wang, Yelong Shen, Dong Yu, Tamara L. Berg, and Mohit Bansal. Mart: Memory-augmented recurrent transformer for coherent video paragraph captioning, 2020.
  29. (Liu et al., 2022) Yang Liu, Jiaxiang Liu, Li Chen, Yuxiang Lu, Shikun Feng, Zhida Feng, Yu Sun, Hao Tian, Hua Wu, and Haifeng Wang. Ernie-sparse: Learning hierarchical efficient transformer through regularized self-attention. arXiv preprint arXiv:2203.12276, 2022.
  30. (Mahoney, 2006) Matt Mahoney. Large text compression benchmark, 2006. URL https://www.mattmahoney.net/dc/text.html.
  31. (Martins et al., 2021) Pedro Henrique Martins, Zita Marinho, and André FT Martins. \(\infty\)-former: Infinite memory transformer. arXiv preprint arXiv:2109.00301, 2021.
  32. (McCulloch and Pitts, 1943) Warren S McCulloch and Walter Pitts. A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics, 5(4):115–133, 1943.
  33. (Meng and Rumshisky, 2018) Yuanliang Meng and Anna Rumshisky. Context-aware neural model for temporal information extraction. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 527–536, 2018.
  34. (Merity et al., 2017) Stephen Merity, Caiming Xiong, James Bradbury, and Richard Socher. Pointer sentinel mixture models. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net, 2017. URL https://openreview.net/forum?id=Byj72udxe.
  35. (Radford et al., 2018) Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. 2018. URL https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf.
  36. (Rae et al., 2016) Jack W Rae, Jonathan J Hunt, Tim Harley, Ivo Danihelka, Andrew Senior, Greg Wayne, Alex Graves, and Timothy P Lillicrap. Scaling memory-augmented neural networks with sparse reads and writes, 2016.
  37. (Rae et al., 2019) Jack W. Rae, Anna Potapenko, Siddhant M. Jayakumar, and Timothy P. Lillicrap. Compressive transformers for long-range sequence modelling, 2019.
  38. (Ramesh et al., 2021) Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray, Chelsea Voss, Alec Radford, Mark Chen, and Ilya Sutskever. Zero-shot text-to-image generation. In Marina Meila and Tong Zhang, editors, Proceedings of the 38th International Conference on Machine Learning, volume 139 of Proceedings of Machine Learning Research, pages 8821–8831. PMLR, 18–24 Jul 2021. URL https://proceedings.mlr.press/v139/ramesh21a.html.
  39. (Stephen, 1956) C Stephen. Kleene. representation of events in nerve nets and finite automata. Automata studies, 1956.
  40. (Sukhbaatar et al., 2015) Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, and Rob Fergus. End-to-end memory networks, 2015.
  41. Vaswani et al., 2017) Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is All you Need. In Advances in neural information processing systems, pages 5998–6008, 2017. URL https://proceedings.neurips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html.
  42. (Wang et al., 2020) Sinong Wang, Belinda Z. Li, Madian Khabsa, Han Fang, and Hao Ma. Linformer: Self-attention with linear complexity, 2020.
  43. (Werbos, 1990) Paul J Werbos. Backpropagation through time: what it does and how to do it. Proceedings of the IEEE, 78(10): 1550–1560, 1990.
  44. (Weston et al., 2014) Jason Weston, Sumit Chopra, and Antoine Bordes. Memory networks, 2014.
  45. (Wolf et al., 2020) Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, Rémi Louf, Morgan Funtowicz, et al. Transformers: State-of-the-art natural language processing. In Proceedings of the 2020 conference on empirical methods in natural language processing: system demonstrations, pages 38–45, 2020.
  46. (Wu et al., 2020) Qingyang Wu, Zhenzhong Lan, Jing Gu, and Zhou Yu. Memformer: The memory-augmented transformer. arXiv preprint arXiv:2010.06891, 2020.
  47. (Xu et al., 2021) Peng Xu, Xinchi Chen, Xiaofei Ma, Zhiheng Huang, and Bing Xiang. Contrastive document representation learning with graph attention networks. arXiv preprint arXiv:2110.10778, 2021.
  48. (Zaheer et al., 2020) Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, et al. Big bird: Transformers for longer sequences. arXiv preprint arXiv:2007.14062, 2020.

付録A:Training details and additional results(訓練の詳細と追加結果)

付録A.1:Algorithmic tasks(アルゴリズムタスク)

データセットは,辞書に登録されたトークンをタスクシーケンスに一律にサンプリングし,タスクに応じたターゲットを生成することでランダムに生成した.

データセット生成後は,すべての実験においてデータセットを固定した.

コピーとリバースは,24,40,120,240,360のサイズのシーケンスを使用し,コピーとリバースの合計入力長は48/72,80/120,240/360,480/720,720/1080となる.

連想検索タスクは,4つのキーとバリューのペアとランダムに選ばれた1つのキーで構成され,回答は1つのバリューで構成される.

「シーケンス長24のコピー,シーケンス長24のリバース,連想検索のデータセット」の訓練,検証,テストのサイズは,それぞれ100000,5000,10000である.

Transformer-XLはRMTに合わせ,訓練時と検証時のキャッシュサイズを同じにした.

コピーとリバースの訓練には,学習速度1e-4を一定にし,プラトーで減衰係数0.5で減衰させた.

コピーとリバースは4層4ヘッドのモデルで解かれ,連想検索モデルは6層4ヘッドであった.

コンテキストサイズと記憶サイズが同じモデルは,同じステップ数,同じ訓練パラメータで訓練させた.

シーケンス長24の実験は,1台のNvidia GTX 1080 Ti GPUで,1時間から2~3日まで行われた.

より長いシーケンス長でのコピーとリバースは,より強力なTesla V100で1~3台のデバイスを使用し,訓練時間は1時間から3~4日まで変化した.

RMT Figure7
図7:デコーダのみのモデルで,1セグメントと4セグメントの設定での逆方向タスク.点線はセグメントの境界を示す.
※訳注:本文中で図の引用はありませんでした.

RMT Figure8
図8:RMTは限られた記憶サイズでもより良くスケールする.(a)コピーでのテストセット文字数精度.(b)シーケンス長24のリバース.(c)シーケンス長120のリバース.記憶サイズはセグメントサイズの1/2に設定されている.RMTはTr-XLと異なり,限られた記憶でほぼ完璧にタスクを解決している.

付録A.2:Associative retrieval(連想検索)

タスクデータセット生成のコードは,(Ba et al., 2016)のものを使用した.

付録A.3:Quadratic equations(二次方程式)

このデータセットは,整数係数の方程式と,判別式を用いた段階的な解法からなる.

方程式の生成は,実根\(x_1\),\(x_2\)を-100から100まで一様にサンプリングするところから始まる.

方程式の答えは\(x_1\),\(x_2\)として表現される.

次に,2つの括弧の掛け算\((x - x_1)(x - x_2) = 0\)として方程式を求め,\(x^2 - (x_1 + x_2)x + x_1 x_2 = 0\)と展開する.

次に,すべての係数に1から10までのランダムな自然数\(\alpha\)を掛ける.

最終的な方程式の形は,\(\alpha x^2 - \alpha(x_1 + x_2)x + \alpha x_1 x_2 = 0\)となる.

これらの段階を逆順にしたものがデータセットサンプルとなる.

また,方程式の根を見つけるのに役立つ判別式計算の文字列も用意した.

データセットに含まれる方程式の20%は実根をもたない.

方程式の文字列の例は以下になる.

解の文字列は以下になる.

回答は以下になる.

各解答ステップはcharレベルでトークン化され,30トークンの長さになるようにパディングされる.

各訓練サンプルの長さは180であり,データセットは100000訓練,10000検証,20000テストサンプルである.

このタスクでは,6層,6ヘッド,セグメントサイズ180と30を持つモデルを使用した.

訓練は,1台のGTX 1080 tiでコピーとリバースと同じスケジュールで1~2日間実施した.

RMTとTransformer-XLの記憶サイズは,セグメントの長さと同じにした.

付録A.4:Enwik8

RMT Table4
表4:enwik8でのテストセットのbits-per-character.我々の実験セットアップでは,セグメント長512の原著論文(Dai et al., 2019)と同様のスコアを示している.

我々は,Transformer-XLの結果をenwik8データセットで再現することにより,我々の実験設定を検証した(表4).

全てのenwik8実験において,12層のBaseline(Transformer),Transformer-XL,RMTを使用した.

enwik8データセットでの全結果は表4の通りである.

2つのNVIDIA A100 80Gb GPUを使用し,訓練時間はシーケンスの長さ,記憶サイズ,BPTTの展開の数によって10時間から30時間まで変化した.

付録A.5:WikiText-103

RMT Table5
表5:WikiText-103のテストセットのパープレキシティ.RMTとTr-XLモデルによるすべての実験.

WikiText-103データセットでのすべての実験において,16層モデルを使用した.

訓練ハイパーパラメータは,(Dai et al., 2019)と著者のPyTorchスクリプトから使用した.

WikiText-103データセットに関するすべての結果は表5にある.

WikiText-103の実験の多くでは,2つのNVIDIA A100 80Gb GPUを使用し,訓練時間はシーケンス長,記憶サイズ,BPTTの展開の数によって10〜30時間に変動した.

2倍ステップと記載されたものを除くすべてのモデルは,200kバッチで訓練された.

Transformer-XLは,Tr-XL + RMTモデルとは異なり,より長い訓練の恩恵を受けることはなかった.

複合モデルの訓練には,記憶トークンの補助的な損失を使用し,0.01の乗数で主損失に追加した.

補助損失のターゲットとして,記憶から予測される新しい固定特殊トークンを設定した.

付録B:Operations with Memory(記憶を利用した操作)

RMT Figure9
図9:長さ12のシーケンスとサイズ6の記憶の圧縮・伸張のアプローチ.(a)- RMT.(b)- Transformer-XL.Tr-XLは,トークンの表現を混合し,1つのキャッシュ状態から複数のシンボルを読み込む.RMTは,セグメント全体を記憶トークンに圧縮することに成功した.

参考:Recurrent Memory Transformerの解説動画

Recurrent Memory Transformerの解説動画です.

まとめ

Recurrent Memory Transformerの日本語訳を紹介しました.

Recurrent Memory TransformerはTransformer-XLより優位であることがわかりました.

AIのプログラミング言語「C++/Python言語」を学べるおすすめのWebサイトを知りたいあなたはこちらからどうぞ.

独学が難しいあなたは,AIを学べるオンラインプログラミングスクール3社で自分に合うスクールを見つけましょう.後悔はさせません!

国内・海外のAIエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

国内・海外のプロンプトエンジニアのおすすめ求人サイトを知りたいあなたはこちらからどうぞ.

-TECHNOLOGY, NLP AI
-, ,