# Language Modelling for Source Code with Transformer-XL

**Authors:** Thomas Dowdell, Hongyu Zhang  
**arXiv:** [2007.15813](https://arxiv.org/abs/2007.15813)  
**Date:** 2020-07-31  
**Summary page:** https://www.summarizepaper.com/fr/paper/2007.15813v1/

## Key points

- Les logiciels et les textes en langage naturel présentent une "naturalité" capturable par des modèles de langage statistiques.
- Les modèles de langage neuronaux, notamment Transformer-XL, représentent cette naturalité grâce à l'apprentissage profond.
- Le modèle Transformer-XL surpasse les modèles basés sur RNN dans la capture de la naturalité du logiciel avec moins de coûts computationnels.
- Le modèle Transformer-XL nécessite un temps d'entraînement plus court et est plus efficace que les modèles RNN (y compris LSTM et GRU).
- En pré-entraînant les modèles pour la modélisation du langage, ils peuvent apprendre le comportement statistique sous-jacent du code source pour des tâches ultérieures.
- Les travaux futurs pourraient se concentrer sur l'application de ces modèles à des tâches telles que l'autocomplétion automatique du code ou la détection automatique d'erreurs.
- Les modèles basés sur Transformer peuvent être réentrainés facilement pour des tâches plus complexes en exploitant la naturalité du logiciel qu'ils ont apprise.
- J'espère que cela vous sera utile!

## Summary

Il a été découvert que les logiciels et les textes en langage naturel présentent une "naturalité" qui peut être capturée par des modèles de langage statistiques. Ces dernières années, des modèles de langage neuronaux ont été proposés pour représenter cette naturalité grâce à l'apprentissage profond. Dans cet article, nous menons une évaluation expérimentale des modèles de langage neuronaux de pointe pour le code source. Nous comparons notamment les modèles basés sur RNN et ceux basés sur Transformer-XL. À travers des expériences sur un corpus de code Python à grande échelle, nous constatons que le modèle Transformer-XL surpasse les modèles basés sur RNN (y compris les modèles LSTM et GRU) dans la capture de la naturalité du logiciel, avec moins de coûts computationnels. De plus, le modèle Transformer-XL nécessite un temps d'entraînement plus court par rapport aux modèles RNN. Même avec une profondeur deux fois supérieure aux RNNs, le modèle Transformer-XL à 8 couches prend moins de la moitié du temps pour s'entraîner. Cela souligne l'efficacité et la rapidité d'apprentissage des modèles basés sur Transformer-XL pour la modélisation du code source. De plus, en pré-entraînant les modèles pour effectuer la modélisation du langage, ils peuvent "apprendre" le comportement statistique sous-jacent (la naturalité) du code source. Cette compréhension peut ensuite être exploitée pour effectuer efficacement des tâches ultérieures. Les travaux futurs pourraient se concentrer sur l'application de ces modèles de langage à des tâches telles que l'autocomplétion automatique du code. De plus, ces modèles pourraient être réentrainés facilement pour effectuer des tâches plus complexes telles que la détection automatique d'erreurs ou la correction automatique de bugs. Bien que ces tâches ne puissent pas être exprimées exactement comme la modélisation du langage, la naturalité du logiciel que le modèle apprend peut être exploitée pour mieux accomplir ces tâches ultérieures. En conclusion, cet article a démontré que les modèles de langage basés sur Transformer surpassent largement les modèles basés sur RNN pour la modulation du code source. Le modèle Transformer-XL obtient des résultats nettement meilleurs avec moins de complexité et un temps d'entraînement réduit par rapport aux autres approches traditionnelles comme LSTM et GRU.
