bitcoin
bitcoin

$98486.05 USD 

0.11%

ethereum
ethereum

$3337.54 USD 

0.23%

tether
tether

$1.00 USD 

0.03%

solana
solana

$256.16 USD 

-0.55%

bnb
bnb

$645.94 USD 

1.52%

xrp
xrp

$1.60 USD 

14.41%

dogecoin
dogecoin

$0.407259 USD 

5.69%

usd-coin
usd-coin

$1.00 USD 

0.02%

cardano
cardano

$1.10 USD 

25.39%

avalanche
avalanche

$43.98 USD 

22.69%

tron
tron

$0.208416 USD 

4.32%

shiba-inu
shiba-inu

$0.000026 USD 

4.49%

toncoin
toncoin

$5.55 USD 

0.01%

stellar
stellar

$0.446611 USD 

54.07%

bitcoin-cash
bitcoin-cash

$550.47 USD 

11.70%

Articles d’actualité sur les crypto-monnaies

Comprendre les transformateurs

Jun 28, 2024 at 02:02 am

Une explication simple de « L’attention est tout ce dont vous avez besoin »¹

Comprendre les transformateurs

A straightforward breakdown of “Attention is All You Need”¹

Une explication simple de « L’attention est tout ce dont vous avez besoin »¹

Aveek Goswami

Aveek Goswami

Follow

Suivre

Towards Data Science

Vers la science des données

--

--

Listen

Écouter

Share

Partager

The transformer came out in 2017. There have been many, many articles explaining how it works, but I often find them either going too deep into the math or too shallow on the details. I end up spending as much time googling (or chatGPT-ing) as I do reading, which isn’t the best approach to understanding a topic. That brought me to writing this article, where I attempt to explain the most revolutionary aspects of the transformer while keeping it succinct and simple for anyone to read.

Le transformateur est sorti en 2017. Il y a eu de très nombreux articles expliquant son fonctionnement, mais je les trouve souvent soit qu'ils approfondissent trop les mathématiques, soit qu'ils sont trop superficiels dans les détails. Je finis par passer autant de temps à chercher sur Google (ou à discuter sur GPT) qu'à lire, ce qui n'est pas la meilleure approche pour comprendre un sujet. Cela m'a amené à écrire cet article, dans lequel j'essaie d'expliquer les aspects les plus révolutionnaires du transformateur tout en le gardant succinct et simple à lire.

This article assumes a general understanding of machine learning principles.

Cet article suppose une compréhension générale des principes d’apprentissage automatique.

The ideas behind the Transformer led us to the era of Generative AI

Les idées derrière le Transformer nous ont conduits à l’ère de l’IA générative

Transformers represented a new architecture of sequence transduction models. A sequence model is a type of model that transforms an input sequence to an output sequence. This input sequence can be of various data types, such as characters, words, tokens, bytes, numbers, phonemes (speech recognition), and may also be multimodal¹.

Les transformateurs représentaient une nouvelle architecture de modèles de transduction de séquence. Un modèle de séquence est un type de modèle qui transforme une séquence d'entrée en séquence de sortie. Cette séquence d'entrée peut être de différents types de données, tels que des caractères, des mots, des jetons, des octets, des nombres, des phonèmes (reconnaissance vocale), et peut également être multimodale¹.

Before transformers, sequence models were largely based on recurrent neural networks (RNNs), long short-term memory (LSTM), gated recurrent units (GRUs) and convolutional neural networks (CNNs). They often contained some form of an attention mechanism to account for the context provided by items in various positions of a sequence.

Avant les transformateurs, les modèles de séquence étaient largement basés sur les réseaux de neurones récurrents (RNN), la mémoire à long terme (LSTM), les unités récurrentes fermées (GRU) et les réseaux de neurones convolutifs (CNN). Ils contenaient souvent une forme de mécanisme d'attention pour tenir compte du contexte fourni par les éléments situés à diverses positions d'une séquence.

The downsides of previous models

Les inconvénients des modèles précédents

Hence, introducing the Transformer, which relies entirely on the attention mechanism and does away with the recurrence and convolutions. Attention is what the model uses to focus on different parts of the input sequence at each step of generating an output. The Transformer was the first model to use attention without sequential processing, allowing for parallelisation and hence faster training without losing long-term dependencies. It also performs a constant number of operations between input positions, regardless of how far apart they are.

D’où l’introduction du Transformer, qui repose entièrement sur le mécanisme d’attention et supprime la récurrence et les circonvolutions. L'attention est ce que le modèle utilise pour se concentrer sur différentes parties de la séquence d'entrée à chaque étape de génération d'une sortie. Le Transformer a été le premier modèle à utiliser l'attention sans traitement séquentiel, permettant une parallélisation et donc une formation plus rapide sans perdre les dépendances à long terme. Il effectue également un nombre constant d'opérations entre les positions d'entrée, quelle que soit leur distance.

Walking through the Transformer model architecture

Présentation de l'architecture du modèle Transformer

The important features of the transformer are: tokenisation, the embedding layer, the attention mechanism, the encoder and the decoder. Let’s imagine an input sequence in french: “Je suis etudiant” and a target output sequence in English “I am a student” (I am blatantly copying from this link, which explains the process very descriptively)

Les caractéristiques importantes du transformateur sont : la tokenisation, la couche d'intégration, le mécanisme d'attention, l'encodeur et le décodeur. Imaginons une séquence d'entrée en français : « Je suis etudiant » et une séquence de sortie cible en anglais « I am a student » (je copie de manière flagrante ce lien, qui explique le processus de manière très descriptive)

Tokenisation

Tokenisation

The input sequence of words is converted into tokens of 3–4 characters long

La séquence de mots saisie est convertie en jetons de 3 à 4 caractères.

Embeddings

Intégrations

The input and output sequence are mapped to a sequence of continuous representations, z, which represents the input and output embeddings. Each token will be represented by an embedding to capture some kind of meaning, which helps in computing its relationship to other tokens; this embedding will be represented as a vector. To create these embeddings, we use the vocabulary of the training dataset, which contains every unique output token that is being used to train the model. We then determine an appropriate embedding dimension, which corresponds to the size of the vector representation for each token; higher embedding dimensions will better capture more complex / diverse / intricate meanings and relationships. The dimensions of the embedding matrix, for vocabulary size V and embedding dimension D, hence becomes V x D, making it a high-dimensional vector.

La séquence d'entrée et de sortie est mappée sur une séquence de représentations continues, z, qui représente les intégrations d'entrée et de sortie. Chaque jeton sera représenté par une intégration pour capturer une sorte de signification, ce qui aide à calculer sa relation avec d'autres jetons ; cet intégration sera représenté sous forme de vecteur. Pour créer ces intégrations, nous utilisons le vocabulaire de l'ensemble de données d'entraînement, qui contient chaque jeton de sortie unique utilisé pour entraîner le modèle. Nous déterminons ensuite une dimension d'intégration appropriée, qui correspond à la taille de la représentation vectorielle pour chaque jeton ; Des dimensions d'intégration plus élevées permettront de mieux capturer des significations et des relations plus complexes/diversifiées/intriquées. Les dimensions de la matrice d'intégration, pour la taille du vocabulaire V et la dimension d'intégration D, deviennent donc V x D, ce qui en fait un vecteur de grande dimension.

At initialisation, these embeddings can be initialised randomly and more accurate embeddings are learned during the training process. The embedding matrix is then updated during training.

Lors de l'initialisation, ces intégrations peuvent être initialisées de manière aléatoire et des intégrations plus précises sont apprises au cours du processus de formation. La matrice d'intégration est ensuite mise à jour lors de la formation.

Positional encodings are added to these embeddings because the transformer does not have a built-in sense of the order of tokens.

Des codages de position sont ajoutés à ces intégrations car le transformateur n'a pas de sens intégré de l'ordre des jetons.

Attention mechanism

Mécanisme d'attention

Self-attention is the mechanism where each token in a sequence computes attention scores with every other token in a sequence to understand relationships between all tokens regardless of distance from each other. I’m going to avoid too much math in this article, but you can read up here about the different matrices formed to compute attention scores and hence capture relationships between each token and every other token.

L'auto-attention est le mécanisme par lequel chaque jeton d'une séquence calcule les scores d'attention avec tous les autres jetons d'une séquence pour comprendre les relations entre tous les jetons, quelle que soit la distance les uns par rapport aux autres. Je vais éviter trop de mathématiques dans cet article, mais vous pouvez lire ici les différentes matrices formées pour calculer les scores d'attention et ainsi capturer les relations entre chaque jeton et tous les autres jetons.

These attention scores result in a new set of representations⁴ for each token which is then used in the next layer of processing. During training, the weight matrices are updated through back-propagation, so the model can better account for relationships between tokens.

Ces scores d'attention aboutissent à un nouvel ensemble de représentations⁴ pour chaque jeton qui est ensuite utilisé dans la couche de traitement suivante. Pendant la formation, les matrices de poids sont mises à jour par rétro-propagation, afin que le modèle puisse mieux prendre en compte les relations entre les jetons.

Multi-head attention is just an extension of self-attention. Different attention scores are computed, the results are concatenated and transformed and the resulting representation enhances the model’s ability to capture various complex relationships between tokens.

L’attention multi-têtes n’est qu’une extension de l’attention personnelle. Différents scores d'attention sont calculés, les résultats sont concaténés et transformés et la représentation résultante améliore la capacité du modèle à capturer diverses relations complexes entre les jetons.

Encoder

Encodeur

Input embeddings (built from the input sequence) with positional encodings are fed into the encoder. The input embeddings are 6 layers, with each layer containing 2 sub-layers: multi-head attention and feed forward networks. There is also a residual connection which leads to the output of each layer being LayerNorm(x+Sublayer(x)) as shown. The output of the encoder is a sequence of vectors which are contextualised representations of the inputs after accounting for attention scored. These are then fed to the decoder.

Les intégrations d'entrée (construites à partir de la séquence d'entrée) avec des codages de position sont introduites dans l'encodeur. Les intégrations d'entrée sont constituées de 6 couches, chaque couche contenant 2 sous-couches : l'attention multi-têtes et les réseaux de rétroaction. Il existe également une connexion résiduelle qui conduit à ce que la sortie de chaque couche soit LayerNorm(x+Sublayer(x)) comme indiqué. La sortie de l'encodeur est une séquence de vecteurs qui sont des représentations contextualisées des entrées après prise en compte de l'attention accordée. Ceux-ci sont ensuite transmis au décodeur.

Decoder

Décodeur

Output embeddings (generated from the target output sequence) with positional encodings are fed into the decoder. The decoder also contains 6 layers, and there are

Les intégrations de sortie (générées à partir de la séquence de sortie cible) avec des codages de position sont introduites dans le décodeur. Le décodeur contient également 6 couches, et il y a

Source de nouvelles:towardsdatascience.com

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Autres articles publiés sur Nov 23, 2024