Table des matières

Le rôle d'un LLM

Un LLM (Large Language Model) est un système d'intelligence artificielle conçu pour prédire le mot suivant dans une séquence de texte. Il ne comprend pas le langage comme un humain, mais calcule la probabilité des mots les plus plausibles à partir du contexte, en s'appuyant sur des milliards d'exemples.

🎯 Objectif : générer, résumer, traduire, classer ou compléter du texte avec cohérence.

Anatomie d'un LLM

Synthèse générale du fonctionnement des Transformers

Les LLM modernes reposent sur une architecture appelée Transformer, qui permet de traiter des séquences entières en parallèle. Son fonctionnement repose sur six grandes étapes :

  1. Tokenisation : découpage du texte en unités appelées tokens.
  2. Embeddings : conversion des tokens en vecteurs numériques.
  3. Codage positionnel : ajout d'une information sur la place des mots.
  4. Attention multi-têtes : prise en compte du contexte.
  5. Réseau de neurones : prédiction du mot suivant.
  6. Fine-tuning : spécialisation du modèle sur une tâche ou un domaine.

Ce processus est optimisé pour les architectures parallèles comme les GPU, ce qui le rend très performant.

➡️ L'attention est une méthode qui permet au modèle de repérer, dans une phrase, quels mots sont les plus pertinents pour comprendre un mot donné. Par exemple, dans la phrase « Le chat qui dort est sur le coussin », pour interpréter correctement « dort », il faut comprendre que c'est le « chat » qui dort.

➡️ Multi-têtes signifie que plusieurs mécanismes d'attention sont utilisés en parallèle, chacun observant des types de relations différents (grammaire, sens, structure…). Cela permet au modèle de mieux capter la complexité du langage.

Ces représentations enrichies passent ensuite dans un réseau de neurones profond, qui agit comme le cerveau du modèle.

➡️ Un réseau de neurones est un système inspiré du cerveau humain, composé de couches de calculs qui analysent, combinent et transforment les informations. Dans notre cas, il permet de prédire le mot suivant dans une phrase en fonction du contexte.

Enfin, le modèle peut être affiné (fine-tuning) pour s'adapter à des cas d'usage spécifiques.

➡️ Le fine-tuning consiste à réentraîner légèrement un modèle existant sur un domaine particulier (ex. médical, juridique, industriel) afin qu'il donne de meilleures réponses dans ce contexte précis.

Ce processus est entièrement parallélisable – c'est-à-dire que toutes les opérations peuvent être effectuées en même temps – ce qui rend l'entraînement efficace sur des machines spécialisées comme les GPU (processeurs graphiques très puissants).

L'enchaînement cohérent de ces étapes permet aux LLM de générer des textes fluides, pertinents, et adaptés à une grande variété de tâches, sans intervention humaine directe.

Embeddings – Transformer les mots en vecteurs

➡️ Pourquoi vectoriser les mots ? Un ordinateur ne comprend pas les mots comme nous. Il ne manipule que des nombres. Pour qu'il puisse « traiter » un mot comme “chat”, il faut d'abord le convertir en une forme qu'il peut utiliser dans des calculs : un vecteur. Ce processus de vectorisation est donc une étape essentielle pour permettre l'analyse du langage par des algorithmes.

➡️ Le calcul matriciel, c'est quoi ? Une matrice est un tableau de nombres, comme une grille ou une feuille Excel. Un vecteur est une ligne ou une colonne de cette grille. Les calculs matriciels consistent à multiplier, additionner ou transformer ces tableaux pour faire circuler l'information dans un modèle. Cela permet, par exemple, de comparer deux mots entre eux, de transformer un mot selon son contexte, ou de combiner plusieurs mots pour comprendre une phrase.

➡️ Pourquoi c'est si utile ? Grâce aux vecteurs et aux matrices, un modèle peut :

➡️ Pendant l'entraînement : Le modèle ajuste les valeurs dans ses vecteurs pour apprendre à prédire les bons mots selon le contexte. Il utilise les calculs matriciels pour comparer ses prédictions avec la réalité (les textes qu'on lui montre), puis il se corrige (via une technique appelée rétropropagation).

➡️ Pendant l'exploitation (inférence) : Une fois entraîné, le modèle utilise ces vecteurs pour analyser une phrase qu'on lui donne, en appliquant les mêmes calculs que pendant l'entraînement. Cela lui permet de produire une réponse cohérente, même sans compréhension réelle.

🧪 Exercice : Montrer que “roi” - “homme” + “femme” ≈ “reine” dans l'espace des embeddings. Cela illustre que les relations sémantiques (comme genre ou rôle social) peuvent être captées par des opérations mathématiques simples.

Explication : Chaque mot est représenté par un vecteur dans un espace mathématique. Si deux mots ont des significations proches ou sont liés par une relation logique, leurs vecteurs auront une certaine proximité ou structure commune.

Dans cet exemple :

  • “roi” représente un souverain masculin,
  • “homme” représente le genre masculin,
  • “femme” représente le genre féminin.

Si l'on soustrait le concept de masculin (“homme”) au mot “roi”, on obtient un vecteur qui représente le concept de “souveraineté” sans le genre. Puis, en ajoutant le vecteur “femme”, on injecte l'idée de genre féminin dans le concept de souveraineté.

Le résultat de cette opération vectorielle (roi - homme + femme) donne un vecteur très proche de celui de “reine”.

Conclusion : Cela démontre que les modèles peuvent apprendre des relations sémantiques profondes uniquement à partir des statistiques d'usage du langage, et que ces relations peuvent être modélisées de façon mathématique.

Positional Encoding – Situer les mots dans la phrase

➡️ Pourquoi c'est important ? Sans position, une phrase comme « Le chat mange la souris » pourrait être interprétée comme identique à « La souris mange le chat ». Or, le sens est radicalement différent. Les modèles doivent donc intégrer une notion de séquentialité, même s'ils traitent les mots en parallèle.

➡️ Comment ça marche ? Le codage positionnel ajoute à chaque vecteur d'embedding un second vecteur qui encode sa position (1er mot, 2e mot, etc.). Ce codage utilise souvent des fonctions trigonométriques (sinus et cosinus) pour produire une signature unique à chaque position tout en permettant au modèle de reconnaître les régularités (comme les répétitions ou les structures).

➡️ Effet combiné : Chaque mot est donc représenté à la fois par son sens (embedding) et par sa position (codage positionnel). Cela permet au modèle de comprendre que deux occurrences du même mot peuvent avoir des rôles différents selon où elles apparaissent.

💡 Analogie : Lire un livre sans ponctuation ni paragraphes – c'est difficile à suivre. Le codage positionnel, c'est comme remettre les phrases dans l'ordre et redonner du rythme et de la logique à ce que l'on lit.

Attention et Multi-head Attention – Comprendre le contexte

➡️ Origine du concept : Le mécanisme d'attention a été introduit dans le papier "Attention is All You Need" (Vaswani et al., 2017), qui a marqué un tournant majeur dans le traitement du langage naturel. Avant cela, les modèles utilisaient des architectures dites “séquentielles” (comme les RNN et LSTM), qui lisaient les mots un par un et avaient des difficultés à mémoriser des contextes longs.

➡️ Avantage majeur : L'attention permet de traiter tous les mots en parallèle tout en tenant compte du contexte complet de la phrase. Elle rend donc l'entraînement beaucoup plus rapide et efficace, tout en permettant une meilleure compréhension du contexte global.

➡️ Conséquence sur les LLM : Ce mécanisme est au cœur de l'explosion des capacités des modèles comme GPT, BERT ou Mistral. C'est grâce à lui que les modèles peuvent gérer des textes longs, comprendre des subtilités, et générer du texte cohérent sur plusieurs paragraphes.

➡️ Principe : L'attention permet au modèle de déterminer quels autres mots sont importants pour comprendre un mot donné.

➡️ Fonctionnement :

  1. Chaque token est projeté en Query (Q), Key (K) et Value (V).
  2. Le modèle calcule la similarité entre Q et K pour chaque mot de la séquence.
  3. Une fonction softmax (fonction de normalisation qui convertit des nombres en probabilités) est appliquée aux scores pour produire des poids.
  4. Ces poids pondèrent les V, générant une sortie contextuelle.

➡️ Multi-head attention :

💡 Exemple : Dans “Le chat noir saute sur la table”

  • Une tête relie « chat » à « saute » (sujet/verbe).
  • Une autre relie « chat » à « noir » (description).
  • Une autre relie « saute » à « table » (lieu).

Réseau de neurones – Le "cerveau" du modèle

📌 Exemple : Sur “Le chat boit du…”, le modèle propose :

  • lait : 89 %
  • vin : 4 %
  • miel : 2 %

🎓 Zoom technique : Des mécanismes comme Add & Norm (normalisation + connexions résiduelles) assurent la stabilité et la convergence de l'apprentissage.

Fine-tuning – Adapter le modèle à un domaine

Une fois le modèle de base entraîné sur un corpus généraliste, il peut être affiné pour répondre à des besoins spécifiques. Cette phase d'adaptation est appelée fine-tuning.

Le fine-tuning permet de spécialiser un modèle généraliste afin qu'il utilise un vocabulaire adapté, respecte un cadre métier, réponde dans un style précis, ou suive des règles métiers spécifiques. C'est une étape cruciale pour rendre les modèles plus utiles, plus précis et plus fiables dans des contextes professionnels ou sensibles.

Il existe plusieurs méthodes :

➡️ Le fine-tuning n'est possible que si l'on a accès aux poids du modèle. Les poids sont les paramètres appris par le modèle lors de son entraînement. Ce sont des millions (voire des milliards) de valeurs numériques qui déterminent comment le modèle interprète les données d'entrée et génère des réponses. Ces poids définissent les connexions entre les couches du réseau de neurones et l'importance donnée à chaque entrée. Sans accès à ces poids, il est impossible de modifier ou de réentraîner le modèle de manière fine – on est alors limité à une simple utilisation (inférence) sans personnalisation. C'est le cas avec les modèles open-weight (ex. LLaMA, Mistral) ou open-source (ex. Falcon, BLOOM), mais pas avec les modèles fermés (ex. GPT-4, Claude), dont les poids sont gardés privés.

➡️ Impact pour l'utilisateur :

🎯 Exemples :

  • Un assistant RH entraîné sur la convention collective, les procédures internes, et les politiques RH de l'entreprise, permettant des réponses conformes et contextualisées.
  • Un chatbot médical capable de reformuler des diagnostics dans un langage accessible pour les patients, tout en respectant les recommandations officielles du domaine de santé.

Limites des LLM

Même très performants, les LLM présentent des failles :

🚨 Exemple : un LLM peut inventer une référence scientifique inexistante ou adopter un ton sexiste ou stéréotypé si mal configuré.

Pour en savoir plus

Quelques documentaires :


Principes de base du prompt engineering