Découvrez la première partie de cette série d’articles ici et la deuxième partie ici.
Des chercheurs de Google (encore eux !) proposent un nouveau type de transformer ([5]) : Transformer Decoder With Memory Compressed Attention, ou T-DMCA, ou tout simplement transformer, ce dernier devenant ensuite la norme. Ici, comme la version longue de son nom l’indique, exit l’encoder, on ne garde que le decoder. Pour générer le prochain mot, on considère que la phrase de départ et les premiers mots déjà générés ne forment qu’un seul et même bloc. Il n’y a donc plus besoin d’effectuer un processus différent pour les mots de départ et les mots déjà générés ! Ainsi, pour générer le prochain mot, le mot précédent crée son propre résumé de tout ce qui le précède via le mécanisme d’attention vu précédemment. Cela explique la partie “Transformer Decoder”, mais il reste à définir “With Memory Compressed Attention”.
Pour comprendre ce terme, les auteurs s’inspirent d’une technique beaucoup utilisée en ce qui concerne les images : la convolution. Afin de détecter un chien sur une image, il faut pouvoir déterminer quelles formes la composent. La convolution va observer un bloc de pixels, par exemple composé de 3 lignes et 3 colonnes, et en faire un résumé d’un seul Pixel. Pour ce faire, plusieurs méthodes peuvent être imaginées : utiliser la moyenne, le maximum, le minimum, … Mais toutes seraient arbitraires. On préfère donc laisser le modèle apprendre lui-même la meilleure façon de faire ce résumé en utilisant une somme pondérée de tous les pixels, dont il estimera les poids. Ces derniers sont ensuite regroupés sous un “kernel”, qui sera le même pour tous les blocs de taille 3×3 de l’image de départ.
Exemple de réseau de neurones appliqués à l’image utilisant les convolutions
Revenons au texte. Les embeddings (chacun étant un vecteur, donc une ligne) des mots disponibles de la phrase d’entrée, ainsi que ceux qui ont déjà été générés, peuvent être positionnés les uns sous les autres et former ainsi un tableau, à la manière d’une image. Avant que le decoder ne résume la phrase en question, une convolution est appliquée sur ce tableau. On peut les considérer comme des mini résumés, segment par segment. Ces mini résumés sont ensuite agrégés via le mécanisme d’attention du decoder pour produire le decoder final.
Cette convolution a permis de gérer des documents en entrée beaucoup plus longs qu’auparavant : ceux-ci peuvent être jusqu’à trois fois plus longs que par le passé, selon les auteurs.
En 2018, openAI propose sa première version de gpt ([6]), qui vise à développer un modèle de génération de texte capable d’effectuer des tâches variées : répondre à des questions, résumer des documents, comparer des documents, ou encore répondre à un QCM. Son algorithme repose sur deux idées : le pre-training et le fine-tuning.
Pre-training : gpt est l’acronyme de Generative Pre-trained Transformer. La première étape consiste donc à entraîner un transformer exactement comme décrit dans l’étape précédente.
Fine-tuning : le fine-tuning consiste à poursuivre l’apprentissage d’un modèle existant sur de nouvelles données avec un objectif de labellisation précis.
A gauche : le transformer de base. A droite : les différentes techniques de fine-tuning pour une tâche
Par exemple, pour fine tuner une tâche de déduction logique (entailment en anglais), le prémisse et l’hypothèse sont considérés comme une seule phrase séparée par un caractère spécial. Une fois cette tâche définie de cette manière, l’apprentissage de l’ensemble du modèle est poursuivi de sorte à continuer de prédire le prochain mot d’une phrase (comme dans le pre-training), mais aussi afin de répondre correctement aux problèmes de déduction logique.
Cette technique de pre-training associée au fine-tuning a permis aux auteurs d’améliorer les performances de l’état de l’art dans 75% des tests effectués, comprenant 12 datasets.
À bientôt pour la 4ème partie de cet article !
Discover all the latest news, articles, webinar replays and fifty-five events in our monthly newsletter, Tea O'Clock.