lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: We compute the same thing with different queries, values, and keys multiple times in parallel. The reason for this is that we want to predict the next word using different things. For example, when we predict the word “unicorns” using three previous words “These” “horned” and “silver-white”. We know it is a unicorn by “horned” “silver-white”. However, we can know it is plural “unicorns” by “These”. Therefore, we probably want to use all these three words to know what the next word should be. Multi-headed attention is a way of letting each word look at multiple previous words.
French: Nous calculons la même chose avec différentes requêtes, valeurs et clés plusieurs fois en parallèle. La raison en est que nous voulons prédire le mot suivant en utilisant différentes choses. Par exemple, lorsque nous prédisons le mot « licornes » en utilisant les trois mots précédents « Ces », « cornues » et « blanc argenté ». Nous savons que c’est une licorne par « cornue » et « blanc argenté ». Nous pouvons savoir qu’il s’agit du pluriel « licornes » par « Ces ». Par conséquent, nous voulons utiliser ces trois mots pour savoir quel sera le prochain mot. L’attention à plusieurs têtes est une façon de laisser chaque mot regarder plusieurs mots précédents.
English: One big advantage about the multi-headed attention is that it is very parallelisable. Unlike RNNs, it computes all heads of the multi-head attention modules and all the time-steps at once. One problem of computing all time-steps at once is that it could look at futures words too, while we only want to condition on previous words. One solution to that is what is called self-attention masking. The mask is an upper triangular matrix that have zeros in the lower triangle and negative infinity in the upper triangle. The effect of adding this mask to the output of the attention module is that every word to the left has a much higher attention score than words to the right, so the model in practice only focuses on previous words. The application of the mask is crucial in language model because it makes it mathematically correct, however, in text encoders, bidirectional context can be helpful.
French: Un grand avantage de l’attention multi-têtes est qu’elle est très parallélisable. Contrairement aux RNNs, le calcul de toutes les têtes des modules d’attention multi-têtes et toutes les étapes de temps peut se faire en même temps. Un des problèmes du calcul de tous les pas de temps en une fois est qu’il pourrait également examiner les mots futurs, alors que nous ne voulons que conditionner les mots précédents. Une solution à ce problème est ce que l’on appelle le masquage de l’auto-attention. Le masque est une matrice triangulaire supérieure qui comporte des zéros dans le triangle inférieur et une infinité négative dans le triangle supérieur. L’effet de l’ajout de ce masque à la sortie du module d’attention est que chaque mot à gauche a un score d’attention beaucoup plus élevé que les mots à droite, de sorte que le modèle en pratique se concentre uniquement sur les mots précédents. L’application du masque est cruciale dans le modèle linguistique car elle le rend mathématiquement correct. Cependant, dans les modules encodeurs, le contexte bidirectionnel peut être utile.
English: One detail to make the transformer language model work is to add the positional embedding to the input. In language, some properties like the order are important to interpret. The technique used here is learning separate embeddings at different time-steps and adding these to the input, so the input now is the summation of word vector and the positional vector. This gives the order information.
French: Un détail pour faire fonctionner le transformer est d’ajouter l’enchâssement positionnel à l’entrée (l’ordre des mots dans un texte). Dans le langage, certaines propriétés comme l’ordre sont importantes à interpréter. La technique utilisée ici est l’apprentissage d’enchâssements séparés à différents moments et les ajouter à l’entrée de sorte que l’entrée est maintenant la somme du vecteur mot et du vecteur positionnel. Cela donne des informations sur l’ordre.
English: 1. It gives direct connections between each pair of words. Each word can directly access the hidden states of the previous words, mitigating vanishing gradients. It learns very expensive function very easily
French: 1. Il donne des liens directs entre chaque paire de mots. Chaque mot peut accéder directement aux états cachés des mots précédents, ce qui atténue la disparition des gradients. Il apprend très facilement une fonction très coûteuse.
English: Self attention is quadratic (all time-steps can attend to all others), limiting maximum sequence length. As self attention is quadratic, its expense grows linearly in practice, which could cause a problem.
French: L’auto-attention est quadratique (tous les pas de temps peuvent s’occuper de tous les autres), ce qui limite la longueur maximale de la séquence. La nature quadratique entraîne aussi que la dépense augmente linéairement ce qui pourrait poser un problème en pratique.
English: We can now train a probability distribution over text - now essentially we could get exponentially many possible outputs, so we can’t compute the maximum. Whatever choice you make for your first word could affect all the other decisions. Thus, given that, the greedy decoding was introduced as follows.
French: Nous pouvons maintenant entraîner une distribution de probabilité sur le texte. Grossièrement, nous pouvons obtenir un nombre exponentiel de sorties possibles donc nous ne pouvons pas calculer le maximum. Le choix effectué pour votre premier mot peut avoir une incidence sur toutes les autres décisions. Ainsi, étant donné cela, le décodage gourmand (greedy decoding) a été introduit comme suit.
English: We take most likely word at each time step. However, no guarantee this gives most likely sequence because if you have to make that step at some point, then you get no way of back-tracking your search to undo any previous sessions.
French: Nous prenons les mots les plus vraisemblables à chaque pas de temps. Cependant, rien ne garantit que cela donne la séquence la plus probable car si nous devons franchir cette étape à un moment donné, il n’y a aucun moyen de revenir en arrière pour annuler les sessions précédentes.
English: To predict the next word you need to observe multiple separate things, in other words attention can be placed on multiple previous words in trying to understand the context necessary to predict the next word.
French: Pour prédire le mot suivant, vous devez observer plusieurs choses séparées, en d’autres termes, l’attention peut être portée sur plusieurs mots précédents en essayant de comprendre le contexte nécessaire pour prédire le mot suivant.
English: The multi-headed attention modules in transformers are highly parallelisable whereas RNNs are not and therefore cannot take advantage of GPU technology. In fact transformers compute all time steps at once in single forward pass.
French: Les modules d’attention multi-têtes des transformers sont hautement parallélisables alors que les RNNs ne le sont pas et ne peuvent donc pas tirer profit de la technologie GPU. En fait, les transformers calculent tous les pas de temps en une seule passe vers l’avant.
English: Beam search is another technique for decoding a language model and producing text. At every step, the algorithm keeps track of the kk most probable (best) partial translations (hypotheses). The score of each hypothesis is equal to its log probability.
French: La recherche en faisceau est une autre technique pour décoder un modèle de langue et produire du texte. À chaque étape, l’algorithme garde une trace des kk plus probables (meilleures) traductions partielles (hypothèses). Le score de chaque hypothèse est égal à son logarithme de probabilité.
English: At training time, the algorithm often does not use a beam, because it is very expensive. Instead it uses auto-regressive factorization (given previous correct outputs, predict the n+1 first words). The model is not exposed to its own mistakes during training, so it is possible for “nonsense” to show up in the beam.
French: Au moment de l’entraînement, l’algorithme n’utilise souvent pas de faisceau, car c’est très coûteux. Il utilise plutôt la factorisation auto-régressive (en fonction des sorties correctes précédentes, prédire les premiers mots n+1). Le modèle n’est pas exposé à ses propres erreurs pendant l’entraînement, il est donc possible que des absurdités apparaissent dans le faisceau.
English: However, sampling from the model distribution poses its own problem. Once a “bad” choice is sampled, the model is in a state it never faced during training, increasing the likelihood of continued “bad” evaluation. The algorithm can therefore get stuck in horrible feedback loops.
French: Cependant, l’échantillonnage à partir de la distribution du modèle pose son propre problème. Une fois qu’un mauvais choix est échantillonné, le modèle se trouve dans un état auquel il n’a jamais été confronté pendant l’entraînement, ce qui augmente la probabilité qu’une mauvaise évaluation continue. L’algorithme peut donc se retrouver coincé dans d’horribles boucles de rétroaction.
English: This technique works well because it essentially tries to prevent falling off of the manifold of good language when we sample something bad by only using the head of the distribution and chopping off the tail.
French: Cette technique fonctionne bien parce qu’en utilisant seulement la tête de la distribution et en coupant la queue, elle essaie essentiellement d’éviter de tomber dans la multitude des bonnes langues lorsque nous échantillonnons quelque chose de mauvais.
English: Evaluating the language model requires simply log likelihood of the held-out data. However, it is difficult to evaluate text. Commonly word overlap metrics with a reference (BLEU, ROUGE etc.) are used, but they have their own issues.
French: Pour évaluer le modèle linguistique, il suffit d’enregistrer la probabilité des données retenues. Cependant, il est difficile d’évaluer le texte. On utilise généralement des mesures de chevauchement des mots avec une référence (BLEU, ROUGE, etc.), mais elles ont leurs propres problèmes.
English: Every token in the output has direct connection to every previous token in the output, and also to every word in the input. The connections make the models very expressive and powerful. These transformers have made improvements in translation score over previous recurrent and convolutional models.
French: Chaque jeton de la sortie a un lien direct avec chaque jeton précédent de la sortie, ainsi qu’avec chaque mot de l’entrée. Ces connexions rendent les modèles très expressifs et puissants. Les transformers ont permis d’améliorer le score de traduction par rapport aux modèles convolutifs et récurrents précédents.
English: When training these models, we typically rely on large amounts of labelled text. A good source of data is from European Parliament proceedings - the text is manually translated into different languages which we then can use as inputs and outputs of the model.
French: Lorsque nous entraînons ces modèles, nous nous appuyons généralement sur de grandes quantités de texte labellisé. Une bonne source de données provient des procédures du Parlement européen où le texte est traduit manuellement dans différentes langues que nous pouvons ensuite utiliser comme entrées et sorties du modèle.
English: Not all languages are represented in the European parliament, meaning that we will not get translation pair for all languages we might be interested in. How do we find text for training in a language we can’t necessarily get the data for?
French: Toutes les langues ne sont pas représentées au Parlement européen, ce qui signifie que nous n’avons pas de paire de traduction pour toutes les langues qui pourraient nous intéresser. Comment trouver un texte à entraîner dans une langue pour laquelle nous ne pouvons pas nécessairement obtenir les données ?
English: Assume we want to train a model to translate German into English. The idea of back-translation is to first train a reverse model of English to German
French: Supposons que nous voulions entraîner un modèle à traduire de l’allemand en anglais. L’idée de la rétro-traduction est d’entraîner d’abord un modèle inverse de l’anglais vers l’allemand.
English: Using some limited bi-text we can acquire same sentences in 2 different languages. Once we have an English to German model, translate a lot of monolingual words from English to German. Finally, train the German to English model using the German words that have been ‘back-translated’ in the previous step.
French: En utilisant quelques bi-textes limités, nous pouvons acquérir les mêmes phrases dans 2 langues différentes. Une fois que nous aurons un modèle anglais-allemand, on peut traduire beaucoup de mots monolingues de l’anglais vers l’allemand. Enfin, on peut entraîner le modèle anglais-allemand en utilisant les mots allemands qui ont été « retro-traduits » lors de l’étape précédente.
English: We can iterate the procedure of back-translation in order to generate even more bi-text data and reach much better performance - just keep training using monolingual data.
French: Nous pouvons itérer la procédure de rétro-traduction afin de générer encore plus de données bi-texte et d’atteindre de bien meilleures performances : il suffit de continuer à s’entraîner en utilisant des données monolingues.
English: Intuition - if words appear close together in the text, they are likely to be related, so we hope that by just looking at unlabelled English text, we can learn what they mean.
French: L’intuition est que si des mots apparaissent proches les uns des autres dans le texte, ils sont probablement liés. Nous espérons donc qu’en regardant simplement un texte anglais non labellisé, nous pouvons apprendre ce qu’ils signifient.
English: The idea is if we take the embedding for “king” after training and add the embedding for “female” we will get an embedding very close to that of “queen”. Shows some meaningful differences between vectors.
French: L’idée est que si nous prenons la représentation vectorielle de « roi » après l’entraînement et que nous ajoutons celle pour « femelle », nous obtiendrons une représentation très proche de celle de « reine ».
English: Interpretation of words depends strongly on context. So in the instance of ambiguous words - words that may have multiple meanings - the model will struggle since the embeddings vectors won’t capture the context needed to correctly understand the word.
French: Les enchâssements de mots dépendent fortement du contexte. Ainsi, dans le cas de mots ambigus, des mots qui peuvent avoir des significations multiples, le modèle aura du mal car les vecteurs ne captureront pas le contexte nécessaire pour comprendre correctement le mot.
English: To add context, we can train a conditional language model. Then given this language model, which predicts a word at every time step, replace each output of model with some other feature.
French: Pour ajouter du contexte, nous pouvons entraîner un modèle de langue conditionnel. Ensuite, étant donné ce modèle qui prédit un mot à chaque pas de temps, on remplace chaque sortie du modèle par une autre caractéristique.
English: BERT is similar to word2vec in the sense that we also have a fill-in-a-blank task. However, in word2vec we had linear projections, while in BERT there is a large transformer that is able to look at more context. To train, we mask 15% of the tokens and try to predict the blank.
French: BERT est similaire à Word2vec dans le sens où nous avons également une tâche de remplissage. Cependant, dans Word2vec, nous avions des projections linéaires, alors que dans BERT, il y a un grand transformer qui est capable de regarder plus de contexte. Pour entraîner, nous masquons 15 % des jetons et nous essayons de prédire ce qui a été masqué.
English: ELECTRA: Rather than masking words we substitute tokens with similar ones. Then we solve a binary classification problem by trying to predict whether the tokens have been substituted or not.
French: ELECTRA : Plutôt que de masquer les mots, nous remplaçons les jetons par des mots similaires. Ensuite, nous résolvons un problème de classification binaire en essayant de prédire si les jetons ont été substitués ou non.
English: ALBERT (A Lite Bert): We modify BERT and make it lighter by tying the weights across layers. This reduces the parameters of the model and the computations involved. Interestingly, the authors of ALBERT did not have to compromise much on accuracy.
French: ALBERT (A Lite Bert) : Nous modifions BERT et le rendons plus léger en liant les poids entre les couches. Cela réduit les paramètres du modèle et les calculs impliqués. Il est intéressant de noter que les auteurs d’ALBERT n’ont pas eu à faire beaucoup de compromis sur la précision.
English: XLM: Multilingual BERT: Instead of feeding such English text, we feed in text from multiple languages. As expected, it learned cross lingual connections better.
French: XLM : Il s’agit d’un BERT multilingue. Au lieu d’alimenter un texte en anglais, nous alimentons un texte en plusieurs langues. Comme prévu, il a mieux appris les connexions interlinguistiques.
English: Most of the models discussed above are engineered towards solving the text classification problem. However, in order to solve text generation problem, where we generate output sequentially much like the seq2seq model, we need a slightly different approach to pre training.
French: La plupart des modèles évoqués ci-dessus sont conçus pour résoudre le problème de la classification de textes. Cependant, pour résoudre le problème de la génération de texte, où nous générons les résultats de manière séquentielle comme le modèle seq2seq, nous avons besoin d’une approche légèrement différente du pré-entraînement.
English: In BART, for pretraining we take a sentence and corrupt it by masking tokens randomly. Instead of predicting the masking tokens (like in the BERT objective), we feed the entire corrupted sequence and try to predict the entire correct sequence.
French: Dans BART, pour le pré-entraînement, nous prenons une phrase et la corrompons en masquant des jetons au hasard. Au lieu de prédire les jetons masqués (comme dans l’objectif de BERT), nous donnons toute la séquence corrompue et essayons de prédire toute la séquence correcte.
English: BART was able to match RoBERTa on SQUAD and GLUE tasks. However, it was the new SOTA on summarization, dialogue and abstractive QA datasets. These results reinforce our motivation for BART, being better at text generation tasks than BERT/RoBERTa.
French: BART a pu faire aussi bien que RoBERTa sur les tâches SQUAD et GLUE. Il établit le nouvel état de l’art sur les jeux de données de résumé, de dialogue et les questions/réponses. BART est meilleur que BERT/RoBERTa dans les tâches de génération de texte.
English: From a bias variance perspective, Transformers are low bias (very expressive) models. Feeding these models lots of text is better than explicitly modelling linguistic structure (high bias). Architectures should be compressing sequences through bottlenecks
French: Du point de vue de la variance de biais, les transformers sont des modèles à faible biais (très expressifs). Il est préférable de nourrir ces modèles avec beaucoup de texte plutôt que de modéliser explicitement la structure linguistique (biais élevé). Les architectures doivent comprimer les séquences à travers les goulots d’étranglement.
English: Models can learn a lot about language by predicting words in unlabelled text. This turns out to be a great unsupervised learning objective. Fine tuning for specific tasks is then easy
French: Les modèles peuvent apprendre beaucoup sur le langage en prédisant des mots dans un texte non étiqueté. Cela s’avère être un excellent objectif d’apprentissage non supervisé. Il est alors facile de finetuner des tâches spécifiques.
English: “The trophy did not fit into the suitcase because it was too big”: Resolving the reference of ‘it’ in this sentence is tricky for machines. Humans are good at this task. There is a dataset consisting of such difficult examples and humans achieved 95% performance on that dataset. Computer programs were able to achieve only around 60% before the revolution brought about by Transformers. The modern Transformer models are able to achieve more than 90% on that dataset. This suggests that these models are not just memorizing / exploiting the data but learning concepts and objects through the statistical patterns in the data. Moreover, BERT and RoBERTa achieve superhuman performance on SQUAD and Glue. The textual summaries generated by BART look very real to humans (high BLEU scores). These facts are evidence that the models do understand language in some way.
French: La phrase « mon trophée ne rentre pas dans mon bagage car il est trop grand » est difficile pour les modèles car ont des problèmes pour résoudre le problème de la référence à « il » dans cette phrase. L’homme est doué pour cette tâche. Il existe un jeu de données constitué d’exemples aussi difficiles et les humains atteignent 95% de performance sur ce jeu de données. Les programmes informatiques n’atteignaient que 60% environ avant la révolution provoquée par les transformers. Les modèles modernes de transformers sont capables d’atteindre plus de 90%. Cela suggère que ces modèles ne se contentent pas de mémoriser/exploiter les données, mais qu’ils apprennent des concepts et des objets grâce aux modèles statistiques des données. En outre, BERT et RoBERTa atteignent des performances supérieures à celle humaine sur les jeux de données SQUAD et GLUE. Les résumés textuels générés par BART semblent très réels pour les humains (scores BLEU élevés). Ces faits sont la preuve que les modèles comprennent le langage d’une certaine manière.
English: ‘World Knowledge’ is an abstract concept. We can test models, at the very basic level, for their world knowledge by asking them simple questions about the concepts we are interested in. Models like BERT, RoBERTa and T5 have billions of parameters. Considering these models are trained on a huge corpus of informational text like Wikipedia, they would have memorized facts using their parameters and would be able to answer our questions. Additionally, we can also think of conducting the same knowledge test before and after fine-tuning a model on some task. This would give us a sense of how much information the model has ‘forgotten’.
French: La connaissance du monde est un concept abstrait. Nous pouvons tester les modèles, au niveau le plus élémentaire en leur posant des questions simples sur les concepts qui nous intéressent. Des modèles comme BERT, RoBERTa et T5 ont des milliards de paramètres. Si l’on considère que ces modèles sont entraînés sur un énorme corpus de textes informationnels comme Wikipédia, ils mémorisent des faits en utilisant leurs paramètres et sont capables de répondre à nos questions. En outre, nous pouvons également envisager de réaliser le même test de connaissances avant et après le finetuning d’un modèle sur une tâche donnée. Cela nous donnerait une idée de la quantité d’informations que le modèle a « oubliées ».
English: We introduce the concept of attention before talking about the Transformer architecture. There are two main types of attention: self attention vs. cross attention, within those categories, we can have hard vs. soft attention.
French: Nous introduisons le concept d’attention avant de parler de l’architecture du Transformer. Il existe deux types principaux d’attention : l’auto-attention vs l’attention croisée. Dans ces catégories, nous pouvons avoir une attention dure vs une attention douce.
English: As we will later see, transformers are made up of attention modules, which are mappings between sets, rather than sequences, which means we do not impose an ordering to our inputs/outputs.
French: Comme nous le verrons plus tard, les transformers sont constitués de modules d’attention, qui sont des associations entre des ensembles (plutôt que des séquences), ce qui signifie que nous n’imposons pas d’ordre à nos entrées/sorties.