Encoders and decodersEncodeurs et décodeurs
TRA6008 S2 · in classS2 · en classe
Two halves, one translation
Being a translation model, the 2017 transformer transformertransformeur deep learningapprentissage profond A neural-network architecture for processing sequences, such as text.Architecture de réseau de neurones pour le traitement des séquences, comme le texte. has to do two different things: read a source text, and produce a target text. It does them in two halves (Vaswani et al., 2017).
- The encoder takes the source and turns it into contextual representations, all words at the same time.
- The decoder writes the target one word at a time, and at each word it looks in two directions: back over what it has already written, and across at the encoder’s representations of the source.
Click the drawing, or a line below, to build it up stage by stage. Cliquez sur le dessin, ou sur une ligne ci-dessous, pour le construire étape par étape.
Figure 6figure 6 follows one sentence through both halves, le chien suit Jean becoming the dog follows Jean, caught at the moment the decoder produces follows. Training is over by then, so the figure shows one pass through a finished model (see also the Attention page) (voir aussi la page L'attention). Training a translation model in the first place is a subject of its own (see also the What machine translation is chapter, in the Machine translation module) (voir aussi le chapitre Qu'est-ce que la traduction automatique, dans le module Traduction automatique).
- Into the encoder. Words become static vectors, and self-attention self-attentionautoattention deep learningapprentissage profond An attention mechanism that allows each token in a sequence to assign different weights to other relevant tokens in the same sequence and combine information from them.Mécanisme d'attention qui permet à chaque jeton d'une séquence d'attribuer des poids différents aux autres jetons pertinents de la même séquence et de combiner l'information qu'ils portent. turns those into contextual embeddings contextual embeddingplongement contextuel embeddingsplongements A numerical representation generated for a particular occurrence of a token by taking account of the other tokens available to the model.Représentation numérique générée pour une occurrence particulière d'un jeton en tenant compte des autres jetons accessibles au modèle. , every word drawing on every other, in both directions. Translation needs that, since the word that settles a gender or a sense is available before the first target word is written (see also the impact on machine translation page) (voir aussi la page L'incidence sur la traduction automatique).
- Across, with cross-attention. The vector being built for follows draws on the encoder’s vectors through cross-attention cross-attentionattention croisée deep learningapprentissage profond An attention mechanism in which the queries come from one sequence or component and the keys and values come from another.Mécanisme d'attention dans lequel les requêtes proviennent d'une séquence ou d'un composant et les clés et valeurs d'un autre. , mostly on the one for suit. Nothing restricts that link, so any source word can be drawn on, wherever it sits.
- Back, with masked self-attention. That same vector also draws on what the decoder has already written, the and dog. The fourth slot is empty, because the words after the one being produced do not exist yet, so attention over the target runs backwards only.
- Out of the decoder. The finished vector is mapped back to a word.
Direction belongs to the attention, not to the turning of words into vectors and back.
Encoder, decoder, or both?
Both halves are made of the same attention layers, so a model can keep one or keep both. The choice follows from the shape of the task: what goes in, and what has to come out.
- Encoder only, when the output is not a text. Sorting a document into a category, finding the names in it, judging how close two sentences are: the model has to read, not write, and what it produces is a label, a span or a set of vectors. BERT reads a whole text at once, in both directions, and a small task-specific layer is trained on top of its representations (Devlin et al., 2019) (see also the Contextual embeddings chapter) (voir aussi le chapitre Plongements contextuels). That makes an encoder-only model encoder-only modelmodèle à encodeur seul language modelsmodèles de langue A neural-network architecture that processes an input sequence and produces a contextual representation for each input token, without using a separate decoder to generate an output sequence.Architecture de réseau de neurones qui traite une séquence d'entrée et produit une représentation contextuelle de chaque jeton, sans décodeur distinct pour générer une séquence de sortie. .
- Decoder only, when the output continues the input. A chatbot’s answer and the prompt promptrequête promptingrequêtes Input given to a generative AI system to specify a task, provide context, or otherwise guide its output.Entrée fournie à un système d'IA générative pour préciser une tâche, donner du contexte ou orienter la sortie. that produced it are one running text, so there is no separate thing to read: each word is produced from everything before it, the prompt included (Radford et al., 2019). That makes a decoder-only model decoder-only modelmodèle à décodeur seul language modelsmodèles de langue A transformer language-model architecture that uses a sequence of decoder blocks without a separate encoder.Architecture de modèle de langue à transformeur qui enchaîne des blocs décodeurs sans encodeur distinct. , and the behaviour of a generator comes from it (see also the LLM lifecycle module) (voir aussi le module Cycle de vie des GML).
- Both, when one sequence becomes a different one. The output is not a continuation of the input and may be in another language, another form or another medium, so the input has to be read whole before the output is written and the two halves stay connected by cross-attention. Machine translation machine translation (MT)traduction automatique (TA) translationtraduction The use of a computer system to produce content in a target language that conveys content expressed in a source language.Utilisation d'un système informatique pour produire, dans une langue cible, un contenu qui rend un contenu exprimé dans une langue source. is the case at hand, and it is not the only one: speech recognition works the same way, the encoder reading audio and the decoder writing text (Radford et al., 2023), as do speech translation and summarization.
The line is not a wall. A decoder-only model translates perfectly well when the source and its translation are given to it as one running text, which happens whenever a translation is asked of a chatbot (see also the Machine translation module) (voir aussi le module Traduction automatique).
Deux moitiés, une traduction
Étant un modèle de traduction, le transformeur transformertransformeur deep learningapprentissage profond A neural-network architecture for processing sequences, such as text.Architecture de réseau de neurones pour le traitement des séquences, comme le texte. de 2017 doit faire deux choses différentes : lire un texte de départ et produire un texte d’arrivée. Il les confie à deux moitiés (Vaswani et al., 2017).
- L’encodeur prend le texte de départ et le transforme en représentations contextuelles, tous les mots en même temps.
- Le décodeur écrit le texte d’arrivée un mot à la fois, et à chaque mot il regarde dans deux directions : en arrière sur ce qu’il a déjà écrit, et de l’autre côté vers les représentations du texte de départ produites par l’encodeur.
Click the drawing, or a line below, to build it up stage by stage. Cliquez sur le dessin, ou sur une ligne ci-dessous, pour le construire étape par étape.
La Figure 6figure 6 suit une phrase à travers les deux moitiés, le chien suit Jean devenant the dog follows Jean, saisie au moment où le décodeur produit follows. L’entraînement est terminé à ce stade : la figure montre donc un seul passage dans un modèle achevé (see also the Attention page) (voir aussi la page L'attention). L’entraînement d’un modèle de traduction est un sujet à part entière (see also the What machine translation is chapter, in the Machine translation module) (voir aussi le chapitre Qu'est-ce que la traduction automatique, dans le module Traduction automatique).
- Vers l’encodeur. Les mots deviennent des vecteurs statiques, et l’autoattention self-attentionautoattention deep learningapprentissage profond An attention mechanism that allows each token in a sequence to assign different weights to other relevant tokens in the same sequence and combine information from them.Mécanisme d'attention qui permet à chaque jeton d'une séquence d'attribuer des poids différents aux autres jetons pertinents de la même séquence et de combiner l'information qu'ils portent. les transforme en plongements contextuels contextual embeddingplongement contextuel embeddingsplongements A numerical representation generated for a particular occurrence of a token by taking account of the other tokens available to the model.Représentation numérique générée pour une occurrence particulière d'un jeton en tenant compte des autres jetons accessibles au modèle. , chaque mot puisant dans tous les autres, dans les deux sens. La traduction a besoin de cela, puisque le mot qui règle un genre ou un sens est disponible avant que le premier mot d’arrivée soit écrit (see also the impact on machine translation page) (voir aussi la page L'incidence sur la traduction automatique).
- De l’autre côté, avec l’attention croisée. Le vecteur en cours de construction pour follows puise dans les vecteurs de l’encodeur par l’attention croisée cross-attentionattention croisée deep learningapprentissage profond An attention mechanism in which the queries come from one sequence or component and the keys and values come from another.Mécanisme d'attention dans lequel les requêtes proviennent d'une séquence ou d'un composant et les clés et valeurs d'un autre. , surtout dans celui de suit. Rien ne restreint ce lien : n’importe quel mot de départ peut être utilisé, où qu’il se trouve.
- En arrière, avec l’autoattention masquée. Ce même vecteur puise aussi dans ce que le décodeur a déjà écrit, the et dog. La quatrième place est vide, parce que les mots qui suivent celui qu’on produit n’existent pas encore : l’attention sur le texte d’arrivée ne va donc que vers l’arrière.
- Hors du décodeur. Le vecteur terminé est ramené à un mot.
La direction appartient à l’attention, non au passage des mots aux vecteurs et des vecteurs aux mots.
Encodeur, décodeur ou les deux ?
Les deux moitiés sont faites des mêmes couches d’attention : un modèle peut donc n’en garder qu’une, ou garder les deux. Le choix découle de la forme de la tâche : ce qui entre, et ce qui doit sortir.
- L’encodeur seul, quand la sortie n’est pas un texte. Classer un document dans une catégorie, y trouver les noms propres, juger de la proximité de deux phrases : le modèle doit lire, pas écrire, et ce qu’il produit est une étiquette, un segment ou un ensemble de vecteurs. BERT lit un texte entier d’un coup, dans les deux sens, et une petite couche propre à la tâche est entraînée par-dessus ses représentations (Devlin et al., 2019) (see also the Contextual embeddings chapter) (voir aussi le chapitre Plongements contextuels). C’est un modèle à encodeur seul encoder-only modelmodèle à encodeur seul language modelsmodèles de langue A neural-network architecture that processes an input sequence and produces a contextual representation for each input token, without using a separate decoder to generate an output sequence.Architecture de réseau de neurones qui traite une séquence d'entrée et produit une représentation contextuelle de chaque jeton, sans décodeur distinct pour générer une séquence de sortie. .
- Le décodeur seul, quand la sortie prolonge l’entrée. La réponse d’un agent conversationnel et la requête promptrequête promptingrequêtes Input given to a generative AI system to specify a task, provide context, or otherwise guide its output.Entrée fournie à un système d'IA générative pour préciser une tâche, donner du contexte ou orienter la sortie. qui l’a produite forment un seul texte courant : il n’y a donc rien de distinct à lire, et chaque mot est produit à partir de tout ce qui précède, requête comprise (Radford et al., 2019). C’est un modèle à décodeur seul decoder-only modelmodèle à décodeur seul language modelsmodèles de langue A transformer language-model architecture that uses a sequence of decoder blocks without a separate encoder.Architecture de modèle de langue à transformeur qui enchaîne des blocs décodeurs sans encodeur distinct. , et le comportement d’un générateur vient de là (see also the LLM lifecycle module) (voir aussi le module Cycle de vie des GML).
- Les deux, quand une séquence devient une séquence différente. La sortie ne prolonge pas l’entrée et peut être dans une autre langue, une autre forme ou un autre média : l’entrée doit donc être lue en entier avant que la sortie soit écrite, et les deux moitiés restent reliées par l’attention croisée. La traduction automatique machine translation (MT)traduction automatique (TA) translationtraduction The use of a computer system to produce content in a target language that conveys content expressed in a source language.Utilisation d'un système informatique pour produire, dans une langue cible, un contenu qui rend un contenu exprimé dans une langue source. est le cas qui nous occupe, et ce n’est pas le seul : la reconnaissance de la parole fonctionne de la même manière, l’encodeur lisant l’audio et le décodeur écrivant le texte (Radford et al., 2023), comme la traduction de la parole et le résumé automatique.
La frontière n’est pas un mur. Un modèle à décodeur seul traduit très bien quand le texte de départ et sa traduction lui sont donnés comme un seul texte courant, ce qui arrive chaque fois qu’on demande une traduction à un agent conversationnel (see also the Machine translation module) (voir aussi le module Traduction automatique).
Sources
- Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. 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). https://doi.org/10.18653/v1/N19-1423
- Radford, A., Kim, J. W., Xu, T., Brockman, G., McLeavey, C., & Sutskever, I. (2023). Robust speech recognition via large-scale weak supervision. Proceedings of the 40th International Conference on Machine Learning (PMLR 202), 28492–28518. https://proceedings.mlr.press/v202/radford23a.html
- Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners. OpenAI. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems 30 (NIPS 2017). https://papers.nips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html
Sources
- Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. 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). https://doi.org/10.18653/v1/N19-1423
- Radford, A., Kim, J. W., Xu, T., Brockman, G., McLeavey, C., & Sutskever, I. (2023). Robust speech recognition via large-scale weak supervision. Proceedings of the 40th International Conference on Machine Learning (PMLR 202), 28492–28518. https://proceedings.mlr.press/v202/radford23a.html
- Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language Models are Unsupervised Multitask Learners. OpenAI. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems 30 (NIPS 2017). https://papers.nips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html