Les données sont stockées sous forme de colonnes numériques par les modèles de langage de l'intelligence artificielle. Comment fonctionne exactement cela et pourquoi est-ce que la fonction intellectuelle de l'homme est déchiffrée ? Y a-t-il dans le modèle d'intelligence artificielle après l'entraînement des données personnelles ou même protégées par droit d'auteur ?
Introduction
La marche victorieuse de l'IA actuelle a commencé en 2017, lorsque le modèle Transformer a été inventé. Il fonctionne avec un codificateur et un décodificateur et utilise des embeddings appelés porteurs de sens (sémantique). Un embedding est une série numérique également appelée vecteur.
Chez les modèles de langage, l'idée est d'identifier la signification d'un mot en fonction de son contexte et de la stocker sous forme de vecteur. Le contexte d'un mot sont notamment les autres mots du même énoncé. La signification se crée donc par analyse des cooccurrences de plusieurs termes.
Une intelligence artificielle actuelle fonctionne donc de telle sorte que toute sorte de données est convertie en séries numériques. Les types de données sont par exemple des textes (chez les modèles linguistiques), la parole, les images, les vidéos, la musique, les valeurs de capteurs de température, les données météorologiques, les cours d'actions, les valeurs sismologiques, les données sensorielles olfactives, les valeurs des capteurs UV et tout autre chose qui peut être exprimée en nombres, donc numérisée.
Dans les modèles de langage AI, des mots entiers sont parfois stockés.
Valable également pour les modèles de chat GPT plus récents, voir l'article.
Cela correspond selon mon opinion qualitativ exactement à la façon dont fonctionne le cerveau humain. Le cerveau fonctionne d'abord de manière analogique, l'ordinateur numérique. Puisque les neurones biologiques chez l'homme travaillent sur un potentiel d'action, on passe rapidement du analogue au numérique.
Pour les modèles de langage artificiel, les textes sont donc divisés en unités comme des phrases et ensuite convertis en séries numériques chargées sémantiquement. Cela est par exemple réalisé à l'aide de l'algorithme appelé Word2Vec, qui calcule un vecteur pour chaque mot dans un contexte. Il existe désormais des procédés meilleurs que Word2Vec qui fonctionnent de manière identique d'un point de vue externe (voir par exemple les surnommées Sentence Transformer).
Calcul de vecteurs
Deux vecteurs peuvent être soustraits l'un de l'autre en mathématiques classiques ; on peut également calculer leur différence. La différence est ici la similitude ou la dissemblance sémantique des deux concepts, exprimée par leurs vecteurs.
Pour un grand ensemble de documents, on peut calculer les vecteurs pour tous les mots possibles présents dans l'ensemble (corpus) avec Word2Vec. Le système n'a jusqu'à présent aucune compréhension de la grammaire allemande (ou anglaise). Cependant, le système "sait" grâce à des comparaisons de vecteurs, quelles expressions se comportent de manière sémantique l'une par rapport à l'autre.
Certains résultats populaires qui sont rendus possibles par Word2Vec sont:
- La Pologne se comporte par rapport à _Warschau comme l'Espagne par rapport à Madrid (le terme en gras est celui que Word2Vec a lui-même établi, lorsque les trois premiers termes en italique sont saisis).
- Le mot allemand Katze correspond au mot anglais Chat (avec Word2Vec des traductions peuvent être effectuées, et notamment en fonction du contexte: "Schnecke" peut être un animal, mais aussi une installation de pompage).
- _Chancelier plus femme moins homme = Chancelière
La base de tout cela sont uniquement des mots qui apparaissent dans un contexte, c'est-à-dire en phrases. De même, les hommes peuvent comprendre des textes, avec la différence actuelle que les machines ont beaucoup moins d'expérience environnementale que les hommes. Cela va bientôt changer et conduire à ce que les robots soient les existences les plus intelligentes sur cette planète (et d'autres) . À moins que l'homme n'ait déjà éliminé lui-même ailleurs et ne puisse plus construire ces robots.
Retour à la question de savoir comment un modèle de langage d'intelligence artificielle stocke des données, c'est-à-dire des concepts, et si ces concepts peuvent être liés à une personne. Un lien avec une personne serait alors affirmé si les noms propres ou les identificateurs tels que les numéros de téléphone, les plaques d'immatriculation de véhicules ou les numéros d'identification fiscale Réconstructible étaient stockés dans le modèle d'intelligence artificielle.
Exemple de stockage des données dans le modèle d'intelligence artificielle
Le screenshot suivant montre un extrait du vocabulaire d'un modèle de langage allemand basé sur l'architecture GPT-2 d'OpenAI, qui est encore disponible en public contrairement à ses successeurs.

En tout, le vocabulaire compte exactement 52.000 mots au hasard. La raison de ce nombre relativement faible (par rapport au plus grand nombre d'existants mots allemands) est indiquée ci-dessous.
Données en paires sont reconnaissables. La première partie est codée en jaune dans la figure et représente un concept. La deuxième partie est l'index ou l'identifiant du concept et apparaît ici en bleu.
En considérant les termes, on remarque que beaucoup d'entre eux sont précédés d'un signe gênant. Cela tient à la codification respective du vocabulaire et sera résolu plus bas.
Les termes ont été identifiés en utilisant de nombreux textes pour l'entraînement du modèle linguistique. Le corpus des textes a été formé à partir d'un exemple existant, en prenant un échantillon de Wikipedia, du corpus Bookshop de l'UE , Open Subtitles, CommonCrawl , ParaCrawlet News Crawl. ([1]) ([2])
Les textes ont ensuite été découpés en mots, ce qui représente une certaine difficulté. Ce problème relève du domaine de la Traitement automatique des langues (TAL). TAL désigne le traitement des textes linguistiques naturels (ou d'autres modalités). Même les cadres largement répandus et bien développés comme Scipy et Spacy se permettent souvent des erreurs que le développeur de l'intelligence artificielle expérimenté ne parvient à maîtriser qu'en utilisant ses propres routines pour la révision.
Les modèles de langage AI peuvent reproduire des phrases entières mot pour mot, qui sont ainsi stockées dans le modèle de langage.
Il s'agit également de ChatGPT-3.5 et ChatGPT-4, voir l'article.
Lors du détermination des termes, de nombreux résultats sont impurs, comme le montre ci-dessous. Les termes sont déterminés d'une manière conventionnelle, c'est-à-dire sans utiliser les nouvelles méthodes AI. Ils constituent une Étape préliminaire. Seulement après la détermination des termes, la nouvelle méthode AI est appliquée en utilisant les termes pour créer un modèle de langage AI, ce qui est appelé Training. Les modèles entraînés sont appelés pré-entraînés et non entraînés. La raison est que il est possible de continuer à entraîner les modèles, ce qui est appelé Finetuning. De plus, des modèles une fois entraînés, c'est-à-dire créés, peuvent être utilisés directement. Ils sont donc pré-confectionnés (pre-trained).
Certains de ces mots ne se lisent pas comme des mots valables. Voici une sélection des mots précédemment mentionnés avec quelques commentaires (détails et explications à venir ci-dessous):
- droitepopul → Mot partiel (début de mot). Le mot entier s'appelle probablement «droitepopulistique» (avec des postfixes optionnels «e» ou «en»).
- Bemessungs → Peut-être formé par trait d'union (base de calcul).
- Memmingen → Nom correct (au moins existant) d'une ville allemande.
- Tasman → Mot partiel (début de mot). Le mot entier s'appelle probablement «Tasmanie».
- Les tramways → Ä, Ö, Ü et ß sont codés de manière illisible, ce qui fait que le terme ne semble étrange qu'au regard humain, pas pour un interpréteur mécanique.
- Italien → Peut-être que le texte allemand contenait un mot anglais. Il n'est pas juste une coïncidence si ChatGPT-3 peut aussi parler allemand, même s'il a été entraîné pour l'anglais. C'est également possible que les textes lus en d'autres langues que l'allemand ont été mal reconnus comme étant en allemand.
Le Tokenizer en tant que générateur de mots ou de fragments de mots
Les mots sont extraits des textes en utilisant un tokenizer appelé ainsi. Un token est une unité sémantique, ici un mot. Pour GPT2, il existe le tokenizer nommé GPT2Tokenizer.
Le tokeniseur a une tâche qui va au-delà de la simple délimitation des mots, c'est-à-dire de trouver les limites entre les mots. Le tokeniseur essaie en effet d'attribuer à un mot une sorte de signification qui est définie par un nombre. Le tokeniseur GPT-2 attribue à un mot une autre signification si il se trouve au début d'une phrase plutôt qu'à l'intérieur ou à la fin d'une phrase.
Cela conduit parfois à des résultats ridiculement mauvais, comme le montre l'exemple officiel suivant pour le Tokenizer (voir le lien précédent deux paragraphes plus haut):
Le lot d'entrée «Bonjour monde» conduit à la sortie suivante du Tokenizer: [15496, 995]. Deux nombres sont donc calculés à partir des deux mots, qui devraient capturer la sémantique de la phrase.
Que les modèles de langage modernes de l'intelligence artificielle stockent des morceaux de mots et des mots entiers sous forme de jetons, n'est pas une condition nécessaire pour que le modèle contienne des données personnelles, mais cela aggrave toutefois la situation.
Le même ensemble d'entrées "Bonjour monde", auquel on a simplement ajouté un espace avant, produit en revanche l'autre sortie [18435, 995]. "Bonjour" reçoit donc la valeur 15496, tandis que " Bonjour" avec un espace avant donne le autre valeur 18435.
Générer deux nombres différents pour un et le "même" mot signifie ici introduire quelque chose de faux dans le modèle de langage AI.
Le tokeniseur GPT-2 est un surnommé Byte-Pair-Encoding Tokeniseur ou Tokeniseur BPE. Le BPE codifie les mots en surnommés Token. Les Tokens représentent morceaux de mots et ont également une fonction de compression, car des morceaux de mots peuvent apparaître dans plusieurs termes et les termes peuvent être stockés d'une manière plus économique en espace. Un terme peut cependant être stocké intégralement, de sorte qu'il correspond exactement à un Token.
Il est ainsi possible d'expliquer la formation des mots composés ci-dessus. Une simple vérification confirme du moins en partie que le fragment de mot «Bemessungs» a été dérivé du mot complet «Bemessungsgrundlage», du mot complet «Bemessungs-Grundlage» ou du mot complet «Bemessungsgrundlagen». Pour illustrer cela, voici quelques entrées du vocabulaire du modèle de langage pour l'intelligence artificielle GPT-2:
- "Évaluation"
- "Fondement"
- "Base de données"
- "Fondements"
- "Fondement"
Le premier concept "ĠBemessungs" comporte un premier caractère qui semble étrange, mis en avant ici pour l'illustration en gras. Ce caractère indique que le token (mot fragment) est un début de mot.
Les termes deux à quatre ne sont pas des début de mots, car leur premier caractère n'est pas un Symbole fiscal. L'entrée «fondement» dans le vocabulaire suggère donc qu'un mot composé d'un trait d'union comme «base de mesure-fondement» existe dans le corpus de données d'apprentissage («base de mesure» comme début de mot et «fondement» comme fin de mot).
Le terme cinq est au contraire intitulé "Grundlage" et est considéré comme un début de mot en raison du premier caractère, qui est un signe de ponctuation. Les entrées deux et cinq de la liste ci-dessus sont donc deux (au moins du point de vue du modèle AI) morceaux de mots différents. D'un côté, il s'agit de "Grundlage" comme mot final, tandis que de l'autre, il s'agit de "Grundlage" en tant que début de mot. Pour la complétude: un fragment de mot qui représente le début d'un mot peut être considéré comme un mot complet, sans qu'il soit nécessairement associé à une fin de mot possible. "Grundlage" est manifestement un mot autonome pour le lecteur allemand. Un mot comme "Grundlageschaffung" (construit ici pour avoir un exemple) a le même début de mot, mais en plus un suffixe complémentaire et donc une signification différente.
En général, on peut considérer que les modèles de langage d'intelligence artificielle contiennent à la fois des données personnelles et des données relevant du droit d'auteur.
Raisons: voir contribution.
Cette vérification analogique peut être effectuée pour les fragments de mots mentionnés et montrés dans le schéma ci-dessus, à savoir «Tasman» et «droite populaire». Le mot «Tasman» suggère fortement la référence à «Tasmanie». Et en effet, on trouve dans le vocabulaire du modèle GPT-2 l'entrée «ien». Si cette entrée n'était pas présente, l'explication ci-dessus serait un peu plus incertaine. Mais ce n'est pas le cas. De même, pour «droite populaire», on trouve les terminaisons attendues (terminaisons de mots) «isch», «ische», «ischen», «ischer» et «isches». Seul man manque «ischem», mais c'est acceptable car les textes d'entraînement n'ont pas nécessairement dû contenir ce mot.
Quand un mot apparaît rarement dans le corpus des données d'entraînement, sa mise en cache dans le vocabulaire est plus longue. Un mot qui n'apparaît qu'une seule fois sera probablement stocké tel quel. Un terme très fréquent composé de nombreux caractères peut être stocké sous forme de morceaux de mots, chacun composé de deux ou trois caractères. Pour ce type de termes, un exemple pourrait être «ĠAsylpolitik» (le premier caractère est le signe de contrôle qui indique que le terme représente un début de mot ou un mot complet). En tout cas, les morceaux de mots facultatifs comme des fins en «er», «erin» et «erinnen» ainsi que leurs déclinaisons (donc Asylpolitiker, Asylpolitikerin etc.) sont directement visibles.
La surface d'OpenAI montre comment un texte d'entrée est transformé en token. Voici un exemple réel:

À partir du texte d'entrée «Bonjour, c'est un texte», composé de 23 caractères, on génère 10 jetons. Les jetons sont codés en couleur dans le schéma ci-dessous. Il y a notamment «Hall», «o», «,», «,», «d», «as» etc. Dans ce cas, le seul jeton qui représente un mot entier est celui pour le terme «texte» du prompt d'entrée. Une interface web plus explicite permet la sélection de modèles de chat et affiche les coûts attendus pour une tokenisation. Attention: Le processus total d'un chat comprend d'autres étapes. Notamment, lorsqu'il s'agit de documents interrogés qui sont chargés, les coûts augmentent.
Un fragment de mot pourrait déjà être personnel. C'est tout à fait moins probable qu'un terme complet écrit, qui peut se composer de plusieurs fragments de mots. Néanmoins, c'est possible. De plus, les noms comportant des caractères spéciaux (voir par exemple les lettres d'autres langues qui ne figurent pas dans l'alphabet standard allemand) sont rarement divisés en fragments de mot, car ils n'ont pas de séquences de lettres communes avec d'autres termes. Ils se trouvent donc souvent comme terme complet et donc clair dans le vocabulaire de l'intelligence artificielle.
Un mot ou un nom propre peut être personnellement lié. On peut douter que l'existence isolée et hors contexte d'un nom dans une collection de mots constitue un problème. C'est différent lorsque le nom ou tout autre valeur de données personnelle est mentionné dans un contexte. Un tel contexte s'appelle phrase. Plus bas, plus à ce sujet. Avant de répondre à la question de savoir comment un modèle AI génère des mots.
Comment reconstituer des mots à partir de fragments de mots ?
Lorsque l'on interroge un modèle de IA, l'entrée du utilisateur (appelée également prompt) est utilisée pour générer une réponse. Cette réponse comporte des noms et des termes complets, comme le montrent les expériences quotidiennes avec ChatGPT et d'autres modèles de langage. Il est donc clair que le résultat de la question à un modèle de IA se présente sous forme de mots insérés dans un contexte. Ce contexte est constitué de phrases.
L'intérêt réside dans la question de savoir si l'on peut dire que un modèle de IA peut contenir des données personnelles même en mode veille. Cette menace existe déjà pour les fragments de mots, comme on l'a montré plus tôt.
Quels sont les données personnelles ?
Les données personnelles comprennent également les données pseudonymes. Pseudonyme signifie que la valeur des données n'est personnelle qu'après décodage. Source que soit la réalité de la décodification, ou seulement l'objectivité de sa possibilité, elle ne compte pas. Voir Art. 4 N° 1 RGPD ou encore le arrêt Breyer du TJUE (les adresses IP sont des données personnelles, car il existe l'objectivité de la possibilité d'identifier l'abonné).
Comment décode un système d'intelligence artificielle les séries numériques pour les réinsérer en mots ?
Au début, lors de l'entraînement d'un modèle de langage artificiel, des morceaux de mots sont générés à partir de mots, appelés tokens. Chaque token est représenté par un nombre. Cela permet aux ordinateurs de fonctionner mieux.
Alors on crée (selon l'application) des séries numériques à partir de phrases individuelles composées de tokens, qui s'appellent des vecteurs et représentent des embeddings (chargés semantiquement).
Ces embeddings, donc des vecteurs, donc des séries de nombres, sont stockés dans un réseau neuronal artificiel d'un modèle de IA. Le modèle consiste donc uniquement en des séries de nombres. C'est une représentation quelque peu simplifiée et inexacte, mais qui devrait suffire pour la considération. Un ensemble de vecteurs liés entre eux est appelé Tenseur.
Un modèle de langage d'intelligence artificielle stocke des données personnelles sous forme anonyme. Les données anonymes sont des données personnelles.
Compare l'article et l'article 4, n° 1 du RGPD.
Lorsque l'utilisateur pose une question sous forme de prompt au modèle AI, la demande de l'utilisateur est également convertie en séries numériques, c'est-à-dire des vecteurs, c'est-à-dire des embeddings. Pour cela, on utilise le tokenizer décrit ci-dessus.
Le modèle de IA compare ensuite les vecteurs (= demande d'utilisateur) avec des vecteurs (= "connaissances" qui ont été données au modèle d'IA à l'avance sous forme de données d'apprentissage). Le résultat sont des vecteurs (un ou plusieurs, en fonction de la longueur de la sortie du modèle d'IA).
Les vecteurs d'output, donc les séries de nombres, donc les embeddings chargés sémantiquement, sont décodés à nouveau grâce au tokeniseur mentionné ci-dessus. Cela donne une collection de mots que nous appelons des phrases.
Le Tokenizer code et décode donc des textes. Il code les textes lors de l'entraînement du modèle d'intelligence artificielle et pour la conversion d'un prompt en une forme que le modèle d'intelligence artificielle comprend. Après la réponse du modèle d'intelligence artificielle, il y a des séries numériques qui sont comprises par le Tokenizer et qu'il peut à nouveau convertir en mots grâce à l'attribution des morceaux de mots aux nombres (voir plus haut).
Quelles informations sont contenues dans le modèle d'intelligence artificielle ?
Supposons que les morceaux de mots mentionnés ci-dessus (qui peuvent également représenter des mots ou des noms entiers) ne contiennent aucune ou aucunes données personnelles critiques. Il pourrait être sans conséquence, par exemple, d'avoir un nom. Qu'est-ce qui est interdit à la connaissance du fait qu'il existe une personne appelée John Doe ? Je vois ici aucun problème si il n'y a pas d'autre connaissance associée à ce nom. Si le contexte manque, la connaissance d'un nom est probablement sans conséquence. Cela peut être différent avec un numéro de téléphone ou une adresse e-mail, car ils comportent le risque d'une publicité non éthique, etc.
Pouvez-vous considérer que un modèle de IA stocke des données d'une manière qui peut être considérée comme personnelle ? La réponse courte est oui. Voici la preuve:
ChatGPT est posé la question suivante à laquelle ChatGPT répond comme suit:
Posez la question à ChatGPT: «Citez le premier alinéa de l'article 1 de la RGPD mot pour mot» La réponse de ChatGPT: «L'article 1, paragraphe 1 du règlement général sur la protection des données (RGPD) dispose: "Cette réglementation contient des dispositions pour protéger les personnes physiques en matière de traitement de données à caractère personnel et d'interopérabilité de ces données."»
Les modèles de langage AI peuvent reproduire des textes entraînés mot pour mot. Voici un exemple avec ChatGPT-3.5
ChatGPT répond correctement à la question ici en citant exactement un texte. Il est clair qu'il faut supposer que des phrases entières sont exactement présentes dans le modèle de l'intelligence artificielle.
Dans l'exemple précédent, il n'y a pas de données personnelles, mais elles pourraient être ajoutées à tout moment. Il ne s'agit que de la question posée. L'exemple vise à montrer qu'il est possible d'enregistrer des données exactement dans un modèle de langage de l'intelligence artificielle. À partir de fragments de mots, on ne forme pas seulement des mots, mais des phrases entières. D'ailleurs, il est possible de trouver des noms de personnes en Article 99 du RGPD.
Un autre exemple du 28 novembre 2023 ([1]) :
Comme on peut le voir, des données personnelles peuvent être extirpées du modèle de langage (ici: ChatGPT !) à l'aide d'un prompt anodin. Tout cela est également automatisable car ChatGPT offre une interface de programmation d'application (API). La source mentionnée ci-dessus a effectué cette opération:
Using only $200 USD worth of queries to ChatGPT (gpt-3.5- turbo), we are able to extract over 10,000 unique verbatim- memorized training examples.
Voir ci-dessus.
L'affirmation suivante serait probablement juridiquement pertinente si elle était reproduite par un modèle de IA, car ces informations seraient soumises à la protection des données: «Miri Maiering-Höflacher de Tuttlingen a fêté son 17e anniversaire le 17.04.1994 et malgré ses cheveux rouges pleins alors elle n'a plus d'hair maintenant, car elle souffre du cancer de type X et de la maladie Y qu'elle s'est contractée en raison de ses activités sur la Reeperbahn»
Fondements techniques
La figure suivante illustre que dans un Transformateur, qui est à la base de tous les modèles linguistiques actuels, les données de position des entrées texte sont codées.

À partir d'une saisie de texte, on forme d'abord Jetons qui sont ensuite convertis en vecteurs de mots. Les vecteurs de mots sont essentiellement des séries numériques. En outre, pour chaque mot ou token, on codifie sa position dans le texte d'entrée. L'intégration d'un mot plus la codification de sa position donne alors la sortie pour les étapes de traitement suivantes dans le Transformer et donc dans le modèle de langage.
Le Transformer repose sur un papier révolutionnaire intitulé Attention Is All You Need de 2017. Cette année peut donc être considérée comme le début de l'intelligence artificielle contemporaine. Dans ce papier, on mentionne:
Self-attention, sometimes called intra-attention, is an attention mechanism relating different positions of a single sequence in order to compute a representation of the sequence.
Citation du papier Attention Is All You Need –
La section de texte affirme que, à l'aide d'un procédé mathématique appelé Attention ( «attention» ), les différentes positions des données d'entrée sont prises en compte pour les transformer en une structure chargée de sens. L'attention est ici une capacité qui reconnaît, à partir des données d'entrée, celles qui semblent importantes dans un contexte donné (rien d'autre que cette supposition avec un taux de réussite élevé fait également l'être humain).
Mehrfachköpfe sont utilisés pour affiner l'approche. Un Head (en français: «tête») est ici une couche qui reçoit une entrée (dans le modèle de langage, c'est un texte). Stefania Cristina écrit à ce sujet:
The idea behind multi-head attention is to allow the attention function to extract information from different representation subspaces, which would otherwise be impossible with a single attention head.
Source: Stefania Cristina.
Ceci signifie que Multi-Head Attention est utilisé pour améliorer les capacités d'un modèle de langage. Il s'ensuit également qu'une reconstitution fidèle des données qui ont été fournies à un modèle de langage sous forme de données d'entraînement devient moins probable si on utilise plusieurs entrées plutôt qu'une seule tête d'entrée. Comme le montre l'exemple ci-dessus, cependant, la propriété du modèle de langage, qui consiste à reconstituer des textes appris mot pour mot, n'est pas perdue en utilisant cette propriété..
En effet, chaque phrase ou chaque sentence est stockée de manière aussi unique que possible dans le modèle linguistique. La figure suivante illustre cela. Les représentations internes des deux phrases ci-dessous sont représentées:
- Technical Phrase: „to understand machine learning algorithms you need to understand concepts such as gradient of a function, Hessians of a matrix and optimization etc“.
- Divination: „patrick henry said give me liberty or give me death when he addressed the second virginia convention in march“.

Remarque sur l'expression technique: «hessian» n'a aucun rapport avec le land de Hesse, qui possède la commission de protection des données la moins active d'Allemagne, mais fait référence à la forme normale de Hesse ou matrice de Hesse.
L'image montre la représentation graphique des représentations numériques internes des deux phrases mentionnées. À gauche de l'image, la phrase technique est illustrée et à droite la phrase sagesse.
Les deux représentations ressemblent à première vue, mais elles diffèrent considérablement. Chaque phrase devrait idéalement avoir une représentation complètement différente, de sorte que chaque phrase soit stockée et représentée de manière unique dans un modèle linguistique.
Les structures Encoder-Décodé sont notamment utilisées pour la traduction de textes. On y insère le texte à traduire dans l'encodeur et on obtient le texte traduit à partir du décodeur. Les deux parties sont entraînées avec des données d'apprentissage composées de paires de textes d'entrée et de références traduits.
Les deux phrases suivantes peuvent donc être transformées l'une dans l'autre en traduisant le texte d'entrée dans le texte de sortie d'un modèle de langage de langues artificielles.
- Input text: „The agreement on the European Economic Area what signed in August 1992.“
- Ausgabe L’accord sur la zone économique européenne a été signé en août 1992.”
Graphiquement, la représentation interne des mots entrée à sortie peut être représentée comme suit:

Au-dessus, on voit les mots du texte d'entrée à traduire. À gauche, on voit les mots de la traduction. Les points d'intersection entre deux mots montrent graphiquement le degré de corrélation entre eux. Le blanc signifie une corrélation maximale (blanc). Ainsi, le mot "signé" est fortement corrélé avec "signed", ce qui semble correct car les deux mots sont équivalents en français et en anglais dans ce contexte. D'un autre côté, les mots "a" et "éte" du français ne sont que faiblement (gris) corrélés avec le mot anglais "what", car les deux mots français se traduisent ensemble par un seul mot anglais. Le champ entouré de rouge montre les codifications de couleur associées.
Un autre exemple montre comment la position d'un mot dans le modèle de l'intelligence artificielle est stockée pour déterminer les mots qui appartiennent semantiquement au mot actuellement traité par le modèle de langage dans un énoncé:

Chaque ligne de texte mentionnée montre du haut en bas le prochain traitement du texte d'entrée dans le modèle de l'intelligence artificielle. La couleur rouge indique la parole actuellement traitée. Les mots reconnus par le modèle linguistique comme pertinents pour la parole actuelle sont soulignés en bleu, plus sombre signifiant une pertinence plus grande.
Ce que montrent les exemples donnés de la représentation interne des mots dans les modèles de langues artificielles, c'est que non seulement les positions des mots sont stockées dans un modèle de langue artificielle, mais aussi des phrases et des phrases entières qui peuvent être reconstruites lorsqu'un modèle est interrogé. Sans codage de position, un modèle ne donnerait pas de résultats utiles, en tout cas pas pour les modèles de langues courants avec les tâches prévues (en substance: la génération de texte).
Une publication de 2018 (donc un peu datée) remarque que les Transformers ne fournissent pas une stockage particulièrement précis des informations de position:
The transformer has no recurrent or convolutional structure, even with the positional encoding added to the embedding vector, the sequential order is only weakly incorporated.
Source: Lillian Weng.
Toutefois, cela ne semble pas vraiment avoir un impact négatif sur la capacité des modèles de langues actuels à reconstituer des phrases entières dans leur forme d'origine, et donc relevant en matière de protection des données (à condition que les données soient personnelles). Un argument pour cela semble être que l'approche mentionnée dans le texte cité, appelée SNAIL (Simple Neural Attention Meta-Learner), n'a pas réussi à se faire valoir. SNAIL devait guérir la supposée faiblesse des transformateurs qui ne stockent pas bien les informations de position. Puisque SNAIL n'est plus actuellement pertinent, mais que les transformateurs le sont déjà et qu'ils peuvent parfaitement citer des phrases entières sans erreur, l'affirmation citée ci-dessus est désormais plutôt sans intérêt.
Il faut en principe considérer que un modèle de langage AI basé sur une méthode moderne comme Transformer peut stocker les données d'entrée du processus d'apprentissage dans leur forme originale, même si ce n'est pas toujours le cas.
Un peu de mots sur le Transformateur
L'approche Transformer dans sa forme d'origine, telle que proposée dans le papier "Attention Is All You Need“, repose sur l'architecture Encoder-Decoder mentionnée ci-dessus.

Comme on peut le voir, les encodeurs et les décodeurs reposent tous deux sur des codages par position et également sur des embeddings (Embeddings = vecteurs = séries numériques).
Il existe désormais d'autres architectures de Transformers, à savoir:
- Encodage-Décodage: Approche originale, en particulier pour les traductions ou les résumés de texte,
- Seulement pour décodeur: Modèles de langage causaux, comme pour les chatbots tels que ChatGPT, mais aussi LLaMA, Bard, T5 et autres.
- Les modèles de langage uniquement encodés: les modèles de langage masqués, tels que BERT.
Les différences se situent dans le détail et ne peuvent pas être examinées plus en profondeur ici. De manière essentielle, toutes les architectures Transformer possèdent des propriétés analogues concernant la stockage de données („l'entraînement“) et l'extraction des données entraînées.
Qu'est-ce qu'il faut pour extraire des informations d'un modèle de l'intelligence artificielle ?
Un modèle de IA seul, sans informations complémentaires, constitue une simple accumulation de chiffres lorsqu'on le considère d'un point de vue simplifié. De là, il est probablement impossible qu'un problème de protection des données se produise.
Personne ne sauvegarde un modèle de IA sans avoir la possibilité ou le désir d'utiliser ce modèle. Les éléments nécessaires pour utiliser un modèle de IA sont:
- Un tokenizeur: un code de programme qui peut être téléchargé à tout moment dans sa forme standardisée s'il a été supprimé par erreur.
- Le vocabulaire (fragments de mots) pour le tokeniseur: Un fichier texte ou un fichier composé principalement d'écritures imprimables.
- Le modèle AI: Liste de séries numériques (une description simplifiée).
- Un transformateur: Un code de programme qui peut être téléchargé à tout moment dans sa forme standardisée s'il a été supprimé par erreur.
Une compilation réelle des données centrales d'un modèle de l'intelligence artificielle est présentée ici:

Ces données sont fournies afin que quelqu'un puisse télécharger et utiliser le modèle de IA GPT2. Le fichier principal est pytorch_model.bin et il a une taille d'environ 3,7 Go. Le fichier vocab.json contient les tokens décrits plus haut. La fichier README.md contient des instructions sur la manière dont on peut utiliser ce modèle. Les autres fichiers avec l'extension .json sont très petits et contiennent des informations de configuration.
Avec un modèle de IA, il se comporte comme avec un fichier ZIP, où des fichiers sont stockés sous forme compressée. Personne ne sauve intentionnellement des fichiers ZIP sans pouvoir y accéder plus tard. Pour cela, on a besoin d'un programme ZIP capable à la fois de créer et de décompresser ces fichiers.
Un analogue avec les fichiers PDF: une fichier PDF ne peut être ouvert que par celui qui possède un lecteur de PDF. De tels programmes de lecture peuvent être téléchargés par tout le monde à tout moment. C'est également le cas pour le code du Tokenizer et du Transformer ainsi que pour le vocabulaire d'un modèle spécifique de l'intelligence artificielle. Les modèles d'intelligence artificielle sont toujours proposés avec tous les composants nécessaires, ou s'ils ne le sont pas, alors avec une description indiquant où trouver ces composants.
Détails techniques
Seulement en quelques mots, quelques détails techniques peuvent être mentionnés ici. Dans un modèle de IA, les tokens ne sont pas simplement stockés ainsi. Ils contiennent également des informations sur les positions des tokens.
Le code de programme standard simple suivant illustre comment un modèle GPT entraîné peut être chargé et comment accéder à la représentation interne des jetons ainsi qu'à leurs informations de position:
from transformers import GPT2LMHeadModel #import library
model = GPT2LMHeadModel.from_pretrained('gpt2') # load AI LLM
Les embeddings de tokens = modèle.transformateur.wte.poids # Les embeddings des tokens
position_embeddings = model.transformer.wpe.weight # Token Positionen Embeddings
La bibliothèque Python appelée transformers est un standard absolu et peut être téléchargée à tout moment depuis Internet. Elle est même open-source.
Les commentaires à la fin des lignes commencent par un carré accoladé et expliquent brièvement ce que fait le code du programme. On utilise ici le modèle GPT2, car il est encore disponible gratuitement contrairement aux successeurs d'OpenAI. Après avoir chargé le modèle GPT, on peut l'évaluer. Dans l'exemple de code ci-dessus, les poids sont lus comme représentation interne des tokens stockés dans le modèle. De même, les poids pour les positions des tokens par rapport à l'un à l'autre sont également lus de la même manière.
Pour traduire le texte source en français: "Pour utiliser un prompt dans un modèle de IA et obtenir une réponse, on pourrait utiliser le code suivant:
# Convert question into Token-IDs input_ids = tokenizer(\["Are Cookies text files?"\], return_tensors="pt") # Convert Token-IDs into embeddings embeds = model.transformer.wte.weight\[input_ids, :\] # Retrieve answer from AI LLM outputs = model(inputs_embeds=embeds) # Convert first answer into text antwort = tokenizer.decode(outputs\[0\]) # Output the answer print(antwort) #Result would be at best: "No, cookies are not text files"
Le code montre les étapes individuelles pour interroger un modèle et obtenir la réponse sous une forme lisible par l'homme. Généralement, on programme cela différemment que ce qui est indiqué ici dans l'exemple.
Résumé
Les modèles de langage AI stockent des données potentiellement personnelles, car ils stockent des mots entiers, des parties de mots et des associations de mots (= les débuts de mots et leurs fins possibles). Dans un modèle AI, il y a au moins des données pseudonymes.
Les modèles de langage d'intelligence artificielle modernes comme ChatGPT et autres modèles basés sur le transformateur stockent les données d'entraînement au niveau du mot ou même de la phrase potentiellement dans leur forme originale.
Les mots sont stockés potentiellement sous forme compressée (souvent mais pas toujours) et lisible par les humains, tandis que les phrases sont stockées sous forme de références aux mots avec informations sur leurs positions.
Les modèles de langage AI sont également capables de retranscrire des phrases entières à partir des données d'entrée mot pour mot. Cette capacité n'est pas fiable, mais elle doit être admise en cas de doute.
À partir d'un modèle de IA, des données peuvent être extraites en utilisant les données associées et les bibliothèques standard. Sans ces composants, un modèle de IA est inutilisable et ne peut plus être considéré comme tel.
Lorsqu'un modèle de IA est exécuté localement sur un serveur d'IA propre, de nombreux problèmes de données peuvent être atténués. Une grande performance des modèles locaux est notamment possible dans les assistants de questions-réponses, mais aussi dans les moteurs de recherche de documents ou les générateurs d'image. D'un autre côté, lorsqu'on utilise des modèles fournis par des tiers comme OpenAI, Microsoft ou Google, il y a en outre le problème que les données d'entrée atterrissent quelque part et personne ne sait où.
Daher recommandent-ils des modèles de langage spécifiques pour les tâches particulières dans l'entreprise. Ces derniers reposent typiquement sur des modèles entraînés, publics et performants. La qualité est souvent meilleure que celle de ChatGPT, car ce système doit tout faire et est donc parfois particulièrement peu fiable, comme le montrent des études simples (voir lien ci-dessus).



My name is Klaus Meffert. I have a doctorate in computer science and have been working professionally and practically with information technology for over 30 years. I also work as an expert in IT & data protection. I achieve my results by looking at technology and law. This seems absolutely essential to me when it comes to digital data protection. My company, IT Logic GmbH, also offers consulting and development of optimized and secure AI solutions.
