Transformer networks have a potential of learning longer-term dependency, but are limited by a fixed-length context in the setting of language modeling. As a solution, we propose a novel neural architecture, Transformer-XL, that enables Transformer to learn dependency beyond a fixed length without disrupting temporal coherence. Concretely, it consists of a segment-level recurrence mechanism and a novel positional encoding scheme. Our method not only enables capturing longer-term dependency, but also resolves the problem of context fragmentation. As a result, Transformer-XL learns dependency that is about 80% longer than RNNs and 450% longer than vanilla Transformers, achieves better performance on both short and long sequences, and is up to 1,800+ times faster than vanilla Transformer during evaluation. Additionally, we improve the state-of-the-art (SoTA) results of bpc/perplexity from 1.06 to 0.99 on enwiki8, from 1.13 to 1.08 on text8, from 20.5 to 18.3 on WikiText-103, from 23.7 to 21.8 on One Billion Word, and from 55.3 to 54.5 on Penn Treebank (without finetuning). Our code, pretrained models, and hyperparameters are available in both Tensorflow and PyTorch.READ FULL TEXT VIEW PDF
Language modeling is among the important problems that require modeling long-term dependency, with successful applications such as unsupervised pretraining (Dai & Le, 2015; Peters et al., 2018; Radford et al., 2018; Devlin et al., 2018)
. However, it has been a challenge to equip neural networks with the capability to model long-term dependency in sequential data. Recurrent neural networks (RNNs), in particular Long Short-Term Memory (LSTM) networks(Hochreiter & Schmidhuber, 1997), have been a standard solution to language modeling and obtained strong results on multiple benchmarks. Despite the wide adaption, RNNs are difficult to optimize due to gradient vanishing and explosion (Hochreiter et al., 2001)
, and the introduction of gating in LSTMs and the gradient clipping technique(Graves, 2013; Pascanu et al., 2012) might not be sufficient to fully address this issue. Empirically, previous work has found that LSTM language models use 200 context words on average (Khandelwal et al., 2018), indicating room for further improvement.
On the other hand, the direct connections between long-distance word pairs baked in attention mechanisms might ease optimization and enable the learning of long-term dependency (Bahdanau et al., 2014; Vaswani et al., 2017). Recently, Al-Rfou et al. (2018) designed a set of auxiliary losses to train deep Transformer networks for character-level language modeling, which outperform LSTMs by a large margin. Despite the success, the LM training in Al-Rfou et al. (2018) is performed on separated fixed-length segments of a few hundred characters, without any information flow across segments. As a consequence of the fixed context length, the model cannot capture any longer-term dependency beyond the predefined context length. In addition, the fixed-length segments are created by selecting a consecutive chunk of symbols without respecting the sentence or any other semantic boundary. Hence, the model lacks necessary contextual information needed to well predict the first few symbols, leading to inefficient optimization and inferior performance. We refer to this problem as context fragmentation.
To address the aforementioned limitations of fixed-length contexts, we propose a new architecture called Transformer-XL (meaning extra long). We introduce the notion of recurrence into our deep self-attention network. In particular, instead of computing the hidden states from scratch for each new segment, we reuse the hidden states obtained in previous segments. The reused hidden states serve as memory for the current segment, which builds up a recurrent connection between the segments. As a result, modeling very long-term dependency becomes possible because information can be propagated through the recurrent connections. Meanwhile, passing information from the previous segment can also resolve the problem of context fragmentation. More importantly, we show the necessity of using relative positional encodings rather than absolute ones, in order to enable state reuse without causing temporal confusion. Hence, as an additional technical contribution, we introduce a simple but more effective relative positional encoding formulation that generalizes to attention lengths longer than the one observed during training.
Transformer-XL obtained strong results on five datasets, varying from word-level to character-level language modeling. Transformer-XL improves the previous state-of-the-art (SoTA) results from 1.06 to 0.99 in bpc on enwiki8, from 1.13 to 1.08 in bpc on text8, from 20.5 to 18.3 in perplexity on WikiText-103, and from 23.7 to 21.8 in perplexity on One Billion Word. On small data, Transformer-XL also achieves a perplexity of 54.5 on Penn Treebank without finetuning, which is SoTA when comparable settings are considered.
We use two methods to quantitatively study the effective lengths of Transformer-XL and the baselines. Similar to Khandelwal et al. (2018), we gradually increase the attention length at test time until no further noticeable improvement (0.1% relative gains) can be observed. Our best model in this settings use attention lengths of 1,600 and 3,800 on WikiText-103 and enwiki8 respectively. In addition, we devise a metric called Relative Effective Context Length (RECL) that aims to perform a fair comparison of the gains brought by increasing the context lengths for different models. In this setting, Transformer-XL learns a RECL of 900 words on WikiText-103, while the numbers for recurrent networks and Transformer are only 500 and 128.
In the last few years, the field of language modeling has witnessed many significant advances, including but not limited to devising novel architectures to better encode the context (Bengio et al., 2003; Mikolov et al., 2010; Zilly et al., 2016; Krause et al., 2016; Grave et al., 2016b; Dauphin et al., 2016; Chung et al., 2016; Merity et al., 2016; Kalchbrenner et al., 2016; Al-Rfou et al., 2018), improving regularization and optimization algorithms Zaremba et al. (2014); Inan et al. (2016); Press & Wolf (2016); Merity et al. (2017); Gal & Ghahramani (2016), speeding up the Softmax computation (Morin & Bengio, 2005; Kuchaiev & Ginsburg, 2017; Grave et al., 2016a; Jozefowicz et al., 2016), and enriching the output distribution family (Yang et al., 2017; Kanai et al., 2018).
To capture the long-range context in language modeling, a line of work directly feeds a representation of the wider context into the network as an additional input. Existing works range from ones where context representations are manually defined (Mikolov & Zweig, 2012; Ji et al., 2015; Wang & Cho, 2015) to others that rely on document-level topics learned from data (Dieng et al., 2016; Wang et al., 2017).
More broadly, in generic sequence modeling, how to capture long-term dependency has been a long-standing research problem. From this perspective, since the ubiquitous adaption of LSTM, many efforts have been spent on relieving the vanishing gradient problem, including better initialization(Le et al., 2015), additional loss signal (Trinh et al., 2018), augmented memory structure (Ke et al., 2018) and others that modify the internal architecture of RNNs to ease the optimization Mikolov et al. (2014); Koutnik et al. (2014); Wu et al. (2016); Li et al. (2018). Different from them, our work is based on the Transformer architecture and shows that language modeling as a real-world task benefits from the ability to learn longer-term dependency.
Given a corpus of tokens, which is often auto-regressively factorized as . With the factorization, the problem reduces to estimating each conditional factor. In this work, we stick to the standard neural approach to modeling the conditional probability. Specifically, a trainable neural network is used to encode the context
into a fixed size hidden state, which is multiplied with the word embeddings to obtain the logits. The logits are then fed into the Softmax function, yielding a categorical probability distribution over the next token.
In order to apply Transformer or self-attention to language modeling, the central problem is how to train a Transformer to effectively encode an arbitrarily long context into a fixed size representation. Given infinite memory and computation, a simple solution would be to process the entire context sequence using an unconditional Transformer decoder, similar to a feed-forward neural network. However, this is usually infeasible with the limited resource in practice.
One feasible but crude approximation is to split the entire corpus into shorter segments of manageable sizes, and only train the model within each segment, ignoring all contextual information from previous segments. This is the idea adopted by Al-Rfou et al. (2018). We call it the vanilla model and visualize it in Fig. 0(a). Under this training paradigm, information never flows across segments in either the forward or backward pass. There are two critical limitations of using a fixed-length context. First, the largest possible dependency length is upper bounded by the segment length, which is a few hundred on character-level language modeling (Al-Rfou et al., 2018)
. Therefore, although the self-attention mechanism is less affected by the vanishing gradient problem compared to RNNs, the vanilla model is not able to fully exploit this optimization advantage. Second, though it is possible to use padding to respect the sentence or other semantic boundaries, in practice it has been standard practice to simply chunk long text into fixed-length segments due to improved efficiency(Peters et al., 2018; Devlin et al., 2018; Al-Rfou et al., 2018). However, simply chunking a sequence into fixed-length segments will lead to the context fragmentation problem as discussed in Section 1.
During evaluation, at each step, the vanilla model also consumes a segment of the same length as in training, but only makes one prediction at the last position. Then, at the next step, the segment is shifted to the right by only one position, and the new segment has to be processed all from scratch. As shown in Fig. 0(b), this procedure ensures that each prediction utilizes the longest possible context exposed during training, and also relieves context fragmentation issue encountered in training. However, this evaluation procedure is extremely expensive. We will show that our proposed architecture is able to substantially improve the evaluation speed.
To address the limitations of using a fixed-length context, we propose to introduce a recurrence mechanism to the Transformer architecture. During training, the hidden state sequence computed for the previous segment is fixed and cached to be reused as an extended context when the model processes the next new segment, as shown in Fig. 1(a). Although the gradient still remains within a segment, this additional input allows the network to exploit information in the history, leading to an ability of modeling longer-term dependency and avoiding context fragmentation. Formally, let the two consecutive segments of length be and respectively. Denoting the -th layer hidden state sequence produced for the -th segment by , where is the hidden dimension. Then, the -th layer hidden state for segment is produced (schematically) as follows,
(query, key, value vectors)
|(self-attention + feed-forward)|
where the function stands for stop-gradient, the notation indicates the concatenation of two hidden sequences along the length dimension, and denotes model parameters. Compared to the standard Transformer, the critical difference lies in that the key and value are conditioned on the extended context and hence cached from the previous segment. We emphasize this particular design by the green paths in Fig. 1(a).
With this recurrence mechanism applied to every two consecutive segments of a corpus, it essentially creates a segment-level recurrence in the hidden states. As a result, the effective context being utilized can go way beyond just two segments. However, notice that the recurrent dependency between and shifts one layer downwards per-segment, which differs from the same-layer recurrence in conventional RNN-LMs. Consequently, the largest possible dependency length grows linearly w.r.t. the number of layers as well as the segment length, i.e., , as visualized by the shaded area in Fig. 1(b). This is analogous to truncated BPTT (Mikolov et al., 2010), a technique developed for training RNN-LMs. However, different from truncated BPTT, our method caches a sequence of hidden states instead of the last one, and should be applied together with the relative positional encoding technique described in Section 3.3.
Besides achieving extra long context and resolving fragmentation, another benefit that comes with the recurrence scheme is significantly faster evaluation. Specifically, during evaluation, the representations from the previous segments can be reused instead of being computed from scratch as in the case of the vanilla model. In our experiments on enwiki8, Transformer-XL is up to 1,800+ times faster than the vanilla model during evaluation (see Section 4).
Finally, notice that the recurrence scheme does not need to be restricted to only the previous segment. In theory, we can cache as many previous segments as the GPU memory allows, and reuse all of them as the extra context when processing the current segment. Thus, we can cache a predefined length- old hidden states spanning (possibly) multiple segments, and refer to them as the memory , due to a clear connection to the memory augmented neural networks (Graves et al., 2014; Weston et al., 2014). In our experiments, we set equal to the segment length during training, and increase it by multiple times during evaluation.
While we found the idea presented in the previous subsection very appealing, there is a crucial technical challenge we haven’t solved in order to reuse the hidden states. That is, how can we keep the positional information coherent when we reuse the states? Recall that, in the standard Transformer, the information of sequence order is provided by a set of positional encodings, denoted as , where the -th row corresponds to the -th absolute position within a segment and prescribes the maximum possible length to be modeled. Then, the actual input to the Transformer is the element-wise addition of the word embeddings and the positional encodings. If we simply adapt this positional encoding to our recurrence mechanism introduced above, the hidden state sequence would be computed schematically by
where is the word embedding sequence of , and represents a transformation function. Notice that, both and are associated with the same positional encoding . As a result, the model has no information to distinguish the positional difference between and for any , resulting in a sheer performance loss.
In order to avoid this failure mode, the fundamental idea is to only encode the relative positional information in the hidden states. Conceptually, the positional encoding gives the model a temporal clue or “bias” about how information should be gathered, i.e., where to attend. For the same purpose, instead of incorporating bias statically into the initial embedding, one can inject the same information into the attention score of each layer. More importantly, it is more intuitive and generalizable to define the temporal bias in a relative manner. For instance, when a query vector attends on the key vectors , it does not need to know the absolute position of each key vector to identify the temporal order of the segment. Instead, it suffices to know the relative distance between each key vector and itself , i.e. . Practically, one can create a set of relative positional encodings , where the -th row indicates a relative distance of between two positions. By injecting the relative distance dynamically into the attention score, the query vector can easily distinguish the representations of and from their different distances, making the state reuse mechanism feasible. Meanwhile, we won’t lose any temporal information, as the absolute position can be recovered recursively from relative distances.
Previously, the idea of relative positional encodings has been explored in the context of machine translation (Shaw et al., 2018) and music generation (Huang et al., 2018). Here, we offer a different derivation, arriving at a new form of relative positional encodings, which not only has a one-to-one correspondence to its absolute counterpart but also enjoys much better generalization empirically (see Section 4). Firstly, in the standard Transformer (Vaswani et al., 2017), the attention score between query and key vector within the same segment can be decomposed as
Following the idea of only relying on relative positional information, we propose to re-parameterize the four terms as follows
The first change we make is to replace all appearances of the absolute positional embedding for computing key vectors in term and with its relative counterpart . This essentially reflects the prior that only the relative distance matters for where to attend. Note that is a sinusoid encoding matrix (Vaswani et al., 2017) without learnable parameters.
Secondly, we introduce a trainable parameter to replace the query in term . In this case, since the query vector is the same for all query positions, it suggests that the attentive bias towards different words should remain the same regardless of the query position. With a similar reasoning, a trainable parameter is added to substitute in term .
Finally, we deliberately separate the two weight matrices and for producing the content-based key vectors and location-based key vectors respectively.
Under the new parameterization, each term has an intuitive meaning: term represents content-based addressing, term captures a content-dependent positional bias, term governs a global content bias, and encodes a global positional bias.
In comparison, the formulation in Shaw et al. (2018) only has terms and , dropping the two bias terms and . Moreover, Shaw et al. (2018) merge the multiplication into a single trainable matrix , which abandons the inductive bias built into the original sinusoid positional encoding (Vaswani et al., 2017). In contrast, our relative positional embedding adapts the sinusoid formulation. As a benefit of the inductive bias, a model trained on a memory of some certain length can automatically generalize to a memory several times longer during evaluation.
Equipping the recurrence mechanism with our proposed relative positional embedding, we finally arrive at the Transformer-XL architecture. For completeness, we summarize the computational procedure for a -layer Transformer-XL with a single attention head below:
with defined as the word embedding sequence. In addition, it is worth mentioning that a naive way to compute requires computing for all pairs , whose cost is quadratic w.r.t. the sequence length. However, noticing that the value of only ranges from zero to the sequence length, we show a simple computation procedure in Appendix B, which reduces the cost to be linear w.r.t. the sequence length.
|Model||#Params||Validation PPL||Test PPL|
|Grave et al. (2016b) – LSTM||-||-||48.7|
|Bai et al. (2018) – TCN||-||-||45.2|
|Dauphin et al. (2016) – GCNN-8||-||-||44.9|
|Grave et al. (2016b) – LSTM + Neural cache||-||-||40.8|
|Dauphin et al. (2016) – GCNN-14||-||-||37.2|
|Merity et al. (2018) – 4-layer QRNN||151M||32.0||33.0|
|Rae et al. (2018) – LSTM + Hebbian + Cache||-||29.7||29.9|
|Ours – Transformer-XL Standard||151M||23.1||24.0|
|Baevski & Auli (2018) – adaptive input||247M||19.8||20.5|
|Ours – Transformer-XL Large||257M||17.7||18.3|
|Ha et al. (2016) – LN HyperNetworks||27M||1.34|
|Chung et al. (2016) – LN HM-LSTM||35M||1.32|
|Zilly et al. (2016) – Recurrent highway networks||46M||1.27|
|Mujika et al. (2017) – Large FS-LSTM-4||47M||1.25|
|Krause et al. (2016) – Large mLSTM||46M||1.24|
|Knol (2017) – cmix v13||-||1.23|
|Al-Rfou et al. (2018) – 12-layer Transformer||44M||1.11|
|Ours – 12-layer Transformer-XL||41M||1.06|
|Al-Rfou et al. (2018) – 64-layer Transformer||235M||1.06|
|Ours – 18-layer Transformer-XL||88M||1.03|
|Ours – 24-layer Transformer-XL||277M||0.99|
|Cooijmans et al. (2016) – BN-LSTM||-||1.36|
|Chung et al. (2016) – LN HM-LSTM||35M||1.29|
|Zilly et al. (2016) – Recurrent highway networks||45M||1.27|
|Krause et al. (2016) – Large mLSTM||45M||1.27|
|Al-Rfou et al. (2018) – 12-layer Transformer||44M||1.18|
|Al-Rfou et al. (2018) – 64-layer Transformer||235M||1.13|
|Ours – 24-layer Transformer-XL||277M||1.08|
|Shazeer et al. (2014) – Sparse Non-Negative||33B||52.9|
|Chelba et al. (2013) – RNN-1024 + 9 Gram||20B||51.3|
|Jozefowicz et al. (2016) – LSTM-2048-512||0.83B||43.7|
|Kuchaiev & Ginsburg (2017) – BIG G-LSTM-2||-||36.0|
|Dauphin et al. (2016) – GCNN-14 bottleneck||-||31.9|
|Jozefowicz et al. (2016) – LSTM-8192-1024||1.8B||30.6|
|Jozefowicz et al. (2016) – LSTM-8192-1024 + CNN Input||1.04B||30.0|
|Shazeer et al. (2017) – Low-Budget MoE||5B||34.1|
|Shazeer et al. (2017) – High-Budget MoE||5B||28.0|
|Shazeer et al. (2018) – Mesh Tensorflow||4.9B||24.0|
|Baevski & Auli (2018) – Adaptive Input Large||0.46B||24.1|
|Baevski & Auli (2018) – Adaptive Input Very Large||1.0B||23.7|
|Ours – Transformer-XL Base||0.46B||23.5|
|Ours – Transformer-XL Large||0.8B||21.8|
|Model||#Params||Dev PPL||Test PPL|
|Inan et al. (2016) – Tied Variational LSTM + augmented loss||24M||75.7||73.2|
|Zilly et al. (2016) – Variational RHN||23M||67.9||65.4|
|Zoph & Le (2016) – NAS Cell||25M||-||64.0|
|Merity et al. (2017) – AWD-LSTM||24M||60.7||58.8|
|Pham et al. (2018) – Efficient NAS||24M||60.8||58.6|
|Liu et al. (2018) – Differentiable NAS||23M||58.3||56.1|
|Yang et al. (2017) – AWD-LSTM-MoS||22M||58.08||55.97|
|Melis et al. (2018) – 2-layer skip-LSTM + dropout tuning||24M||57.1||55.3|
|Ours – Transformer-XL||24M||56.72||54.52|
|Merity et al. (2017) – AWD-LSTM + finetuning||24M||60.0||57.3|
|Yang et al. (2017) – AWD-LSTM-MoS + finetuning||22M||56.54||54.44|
|Remark||Recurrence||Encoding||Loss||PPL init||PPL best||Attn Len|
|-||✓||Shaw et al. (2018)||Full||27.94||27.94||256|
|-||✗||Shaw et al. (2018)||Full||29.75||29.75||120|
|-||✗||Shaw et al. (2018)||Half||30.50||30.50||120|
|-||✗||Vaswani et al. (2017)||Half||30.97||30.97||120|
|Transformer (128M)||✗||Al-Rfou et al. (2018)||Half||31.16||31.16||120|
|With Shaw et al. (2018) encodings||25.7|
We apply Transformer-XL to a variety of datasets on both word-level and character-level language modeling to have a comparison with state-of-the-art systems, including WikiText-103 (Merity et al., 2016), enwiki8 (LLC, 2009), text8 (LLC, 2009), One Billion Word (Chelba et al., 2013), and Penn Treebank (Mikolov & Zweig, 2012).
WikiText-103 is the largest available word-level language modeling benchmark with long-term dependency. It contains 103M training tokens from 28K articles, with an average length of 3.6K tokens per article, which allows testing the ability of long-term dependency modeling. We set the attention length to 384 during training and 1600 during evaluation. We adopted adaptive softmax and input representations (Baevski & Auli, 2018; Grave et al., 2016a). As shown in Table 1, Transformer-XL reduces the previous SoTA perplexity from 20.5 to 18.3, which demonstrates the superiority of the Transformer-XL architecture.
The dataset enwiki8 contains 100M bytes of unprocessed Wikipedia text. We compare our architecture with the previous results in Table 2. Under the model size constraint, the 12-layer Transformer-XL achieves a new SoTA result, outperforming the 12-layer vanilla Transformer from Al-Rfou et al. (2018) by 0.05, while both Transformer variants have a large margin over conventional RNN-based models. Notably, our 12-layer architecture achieves the same result as the 64-layer network from Al-Rfou et al. (2018), using only 17% of the parameter budget. In order to see whether better performances can be obtained by increasing the model size, we train 18-layer and 24-layer Transformer-XLs with increased model sizes. With the attention length 784 during training and 3,800 during evaluation, we obtained a new SoTA result and our method is the first to break through 1.0 on widely-studied character-level benchmarks. Different from Al-Rfou et al. (2018), Transformer-XL does not need any auxiliary losses, and thus all benefits are credited to a better architecture.
Similar to but different from enwiki8, text8 contains 100M processed Wikipedia characters created by lowering case the text and removing any character other than the 26 letters a through z, and space. Due to the similarity, we simply adapt the best model and the same hyper-parameters on enwiki8 to text8 without further tuning. The comparison with previous methods is summarized in Table 3. Again, Transformer-XL achieves the new SoTA result with a clear margin.
One Billion Word does not preserve any long-term dependency because sentences have been shuffled. Consequently, this dataset mainly tests the ability of modeling only short-term dependency. The comparison between Transformer-XL and the other methods is shown in Table 4. Although Transformer-XL is mainly designed to better capture longer-term dependency, it dramatically improves the single-model SoTA from 23.7 to 21.8. Specifically, Transformer-XL significantly outperforms a contemporary method using vanilla Transformers Baevski & Auli (2018), suggesting the advantage of Transformer-XL is generalizable to modeling short sequences.
We also report the results on word-level Penn Treebank in Table 5. Similar to AWD-LSTM (Merity et al., 2017), we apply variational dropout and weight average to Transformer-XL. With proper regularization, Transformer-XL achieves a new SoTA result among models without two-step finetuning. Penn Treebank has only 1M training tokens, which implies that Transformer-XL also generalizes well even on small datasets.
We conduct two sets of ablation studies to examine the effects of two proposed techniques used in Transformer-XL: the recurrence mechanism and the new positional encoding scheme.
The first study is performed on WikiText-103, which requires modeling long-term dependency. The results are reported in Table 6. Among the compared encoding schemes, Shaw et al. (2018) is relative, while Vaswani et al. (2017) and Al-Rfou et al. (2018) are absolute. “Full” and “half” losses refer to applying a cross entropy loss to all or the recent half positions in the segment. We found that absolute encodings only work well with half losses because half losses exclude positions with very short attention lengths during training for better generalization. Table 6
shows that both the recurrence mechanism and our encoding scheme are necessary to achieve the best performance, as well as generalizing to longer attention sequences during evaluation time. Although the backpropagation length during training is only 128, with the two techniques the attention length can be increased to 640 at test time. In the standard setting with 151M parameters, the perplexity decreases as the attention length increases.
Since the recurrence mechanism costs additional memory, we also compare Transformer-XL with baselines under the same GPU memory constraints. As shown in Table 10 in Appendix A, despite using a shorter backpropagation length, Transformer-XL remains superior to the baselines.
The second study targets at isolating the effects of resolving the context fragmentation problem from the benefit of capturing longer context length. In order to achieve this goal, we deliberately choose a dataset that does not require long-term dependency, so that any improvement from establishing the recurrence can be attributed to solving the context fragmentation. Specifically, we perform this controlled experiment on the One Billion Word dataset, which can only benefit from removing the context fragmentation. We train a 20-layer Transformer-XL with 0.3B parameters for 400K steps. As shown in Table 7, using segment-level recurrence substantially improves performance even when long-term dependency is not needed, which is consistent with our previous discussion that the recurrence mechanism resolves the context fragmentation problem. Moreover, our relative positional encodings is also superior to Shaw et al. (2018) on short sequences.
|- use Shaw et al. (2018) encoding||400||400||300|
|- remove recurrence||300||300||300|
Khandelwal et al. (2018) proposed a method to evaluate the Effective Context Length (ECL) of a sequence model. ECL is the longest length to which increasing the context span would lead to a gain more than a threshold. However, ECL ignores the fact that it is harder to get improvement when a model already achieves a lower perplexity using only a shorter context, and thus it is not suitable for fair comparison among multiple models. We instead propose a new metric called Relative Effective Context Length (RECL). RECL is defined on a model group instead of a single model, and the gain of a long context is measure by the relative improvement over the best short context model. As such, the model group shares the same baseline to enable fair comparison. RECL also has a parameter , which means constraining the comparison on top- hard examples. See Appedix C for more details about RECL. As shown in Table 8, Transformer-XL manages to model dependency of 900 words long on average with . The RECL of Transformer-XL is 80% and 450% longer than recurrent networks and Transformer respectively. Both the recurrence mechanism and our positional encodings contribute to a longer RECL. This further substantiates our argument that Transformer-XL is able to model longer-term dependency.
Finally, we compare the evaluation speed of the proposed model with the vanilla Transformer model Al-Rfou et al. (2018). As shown in Table 9, due to the state reuse scheme, Transformer-XL achieves an up to 1,874 times speedup during evaluation compared to the architecture in Al-Rfou et al. (2018).
|Attn Len||How much Al-Rfou et al. (2018) is slower than ours|
We propose a novel architecture, Transformer-XL, for language modeling with self-attention architectures beyond a fixed-length context. Our main technical contributions include introducing the notion of recurrence in a purely self-attentive model and deriving a novel positional encoding scheme. These two techniques form a complete set of solutions, as any one of them alone does not address the issue of fixed-length contexts. Transformer-XL is the first self-attention model that achieves substantially better results than RNNs on both character-level and word-level language modeling. Transformer-XL is also able to model longer-term dependency than RNNs and Transformer, and achieves substantial speedup during evaluation compared to vanilla Transformers.
This work was supported in part by the Office of Naval Research, NSF grant IIS1763562, Google focused award, and the Nvidia fellowship.
Journal of machine learning research, 3(Feb):1137–1155, 2003.
Mesh-tensorflow: Deep learning for supercomputers.In Advances in Neural Information Processing Systems, pp. 10434–10443, 2018.
|Backprop Len||Recurrence||Encoding||Loss||pplx best||pplx init||Attn Len|
Table 10 compares Transformer-XL with baseline under the same memory budget. Transformer-XL still outperforms the baseline even with a shorter backprop length.
As we discussed in section 3.3, the naive way of computing the for all pairs is subject to a quadratic cost. Here, we present a simple method with only a linear cost. Firstly, notice that the relative distance can only be integer from 0 to , where and are the memory length and segment length respectively. Hence, the rows of the matrix
consist of all possible vector outputs of for any . Note that we have defined in a reversed order, i.e., , to make further discussion easier.
Next, we collect the term for all possible into the following matrix,
Then, we further define
Now, it is easy to see an immediate relationship between and , where the -th row of is simply a left-shifted version of -th row of . Hence, the computation of only requires a matrix multiplication to compute and then a set of left-shifts.
Similarly, we can collect all term for all possible into another matrix ,
Then, we can follow the same procedure to define
Again, each row of is simply a left-shift version of . Hence, the main computation cost comes from the matrix-vector multiplication , which is not expensive any more.
In this section, we describe the details of the metric RECL. Let be a model group consisting of models. Let denote the loss of model on the -th token in the corpus with a context length . Concretely, the loss can be written as
where is the probability distribution given by model , and is the -th token in the corpus. Given a short context length and a long context length such that , we can further define a baseline for each position ,
The relative loss of w.r.t. the model group is written as
The above equation uses the minimum loss of all models on the short length as a baseline, and only losses smaller than the baseline will be effectively counted towards the relative loss. This enables fair comparison between multiple models because all models with a long context length need to improve over the same baseline. Sometimes we only care about those positions where the baseline performs poorly (which means short-term dependency with context length is not sufficient), so given a ratio parameter , we define the set is the above equation as
The relative gain is subsequently defined as the relative perplexity reduction:
Given a step size , we then use an algorithm to find the RECL by thresholding the relative gain:
Set initial short context length , and long context length
Compute . If , return . If , set and go to step 1.
In Figure 3, we visualize the unnormalized relative perplexity gains with various pairs of when . It is clear that Transformer-XL has a longer RECL compared to RNNs and other baselines because the relative gains are substantially larger.
For reference, we plot the perplexities with varying context lengths in Figure 4. The y-axis denotes the “normal” perplexity (not calibrated by baselines).
In this section, we provide some visualization of the attention learned by the SoTA model on the WikiText-103 validation set. Recall that, this model has 16 10-head transformer layers and relies on a memory of length 640.
The first visualization aims at revealing the overall trend of where the model is attending. Specifically, for each attention head of each layer, we average the attention distributions of all tokens in the validation set. This is shown in Fig. 5. As we can see, the overall trend is to focus more on the nearby tokens than the faraway ones. However, it is also very clear that some attention heads have a wider attention distribution over the entire memory span, notably the head 8 from layer 1, head 78 from layer 8, and the head 158 from layer 16.
Since we are focused on learning long-range dependency, we are especially interested in these heads with a wider attention span. Thus, in the second set of visualization, we pick the three notable heads mentioned above, and visualize their attention behavior for a randomly chosen position, as shown in Fig. 6. Here, we see three different patterns of wider attention:
For the head 8 in the 1st layer, we see an almost uniform attention over the entire memory span. This is quite intuitive, as lower-level layers needs to screen the entire memory span to decide where to focus for higher-level layers
For the head 78 in the 8th layer (a middle-level layer), we see a very sparse attention pattern scattered in all ranges of the memory. Again, this well fits our intuition that as information accumulates, the network may focus on some particular position with special interests.
For the head 158 in the 16th layer (i.e. the last layer), each target location (corresponding to each row) has its own distinct sparse focus, differing from head 78 where target locations largely share the same attentive location in memory. Meanwhile, the pattern is also different from the case of head 8, where a few locations are clearly attended more than others.
Finally, as we have discussed in section 3.3, the attention score can be decomposed into four intuitive terms. Here, we want to further investigate how these four terms contribute to the overall attention trend in Fig. 5. Since the term represents the global content bias, i.e., the prior importance of each word regardless of the context, we will leave it out and focus on the terms , and . So, for each term, we take the Softmax w.r.t. the memory span and average the resulted distribution of all tokens in the validation set. The results are visualized in Fig. 7:
Since term is fully content-based addressing, when averaging over all target words, the result is essentially uniform over the entire context, except for a few very close words, which are likely to be semantically similar to the target word.
The overall trend of term highly resembles that of the entire attention distribution in Fig. 5. It suggests that the global trend of focusing on the nearby context is largely contributed by this content-dependent positional bias.
The overall trend of term is also focusing more on nearby words. However, compared to the trend of term , it is clearly flatter and biases towards a longer context.