Les Large Language Models (LLMs)

UE Modélisation et Machine learning - M1 Physique UPC


Anna Preto

Doctorante groupe Cosmo (APC)

Ingénieure Machine Learning (Mews Labs)

Qui suis-je ?

Mon objectif : l'Astrophysique
  • Master 1 de Physique Fondamentale (Université Paris Cité).

  • 💡 C'est en étant assise exactement à votre place dans cette UE de Machine Learning qu'a eu lieu le déclic !

  • Master 2 en Astrophysique (Observatoire de Paris) avec pour but une thèse à la croisée de l'Astro et du ML.
De l'Industrie à la Recherche
  • Ingénierie : Un an en entreprise (Mews Labs) pour approfondir le ML. Je me suis spécialisée sur les LLMs
  • Aujourd'hui : Depuis novembre dernier, je suis en thèse au labo APC sur du deblending de galaxies.

  • Ce doctorat est financé par mon entreprise (CIFRE) donc je continue à y travailler (sur les LLMs)

Avant que je vous déroule ma présetation...

Petit test de température ! A votre avis, pourquoi est-ce que je vous parle de LLM en cours de Modélisation et Machine Learning ? Quel est le lien entre ce que vous avez vu en cours et les LLMs ?

Un LLM, c'est quoi ?

  • Large : Des dizaines de milliards de paramètres en mémoire.

  • Données : Entraîné sur presque tout le texte d'Internet.

  • Contexte : Traite tout l'historique d'une conversation avant de répondre.
Sur le principe : un réseau de neurones qui prédit le mot suivant
"Le chat boit du ..."

  • lait (95%)
  • sirop (4%)
  • pétrole (1%)


  • Le réseau ne fait que calculer la probabilité du mot suivant.

    Sous le capot

    Du Deep Learning au Transformer

    Le lien avec le Deep Learning

    Un LLM est un Réseau de Neurones Artificiels profond.

    Le Neurone
    Une opération mathématique : multiplications et additions matricielles + fonction d'activation.

    Les Paramètres (Les Poids)
    Les fameux "100 Milliards" de paramètres. Ce sont les poids des liaisons ($W_{ij}$) qu'on ajuste via la backpropagation.
    Input Couches cachées Output Wij

    $y_j = \sigma\left(\sum_{i} W_{ij} \cdot x_i + b_j\right)$

    • $i$ et $j$ : Index du neurone émetteur ($i$) et neurone récepteur ($j$).
    • $x_i$ : Signal en entrée provenant de $i$ (l'information du mot).
    • $W_{ij}$ / $b_j$ : Poids connectant $i$ vers $j$, et biais du neurone $j$.

    1. Tokenisation (Le Dictionnaire)

    De la lettre à l'index

    Un modèle ne lit pas de lettres. Le Tokenizer découpe la phrase en sous-mots (les Tokens), et donne à chacun son numéro d'index (ID) exclusif au sein de son dictionnaire interne.


    "J'étudie le ML"

    $\downdownarrows$

    ["J", "'étud", "ie", "le", "ML"]

    $\downdownarrows$

    IDs: [45, 8934, 12, 9812, 345]

    2. L'Embedding

    La projection géométrique

    L'ID n'est qu'un numéro. La couche d'Embedding projette chaque token ID vers un vecteur de coordonnées unique (~4096 dimensions) pour y apprendre la structure profonde du langage.

    Deux façons d'obtenir la matrice d'embedding : soit en modèle pré-entrainé (word2vec, GloVe, FastText) soit en end-to-end dans le transformeur.


    V(Roi) - V(Homme) + V(Femme) ≈ V(Reine)

    2. L'Embedding

    La projection géométrique

    Chaque modèle a son propre espace vectoriel.


    Les modèles d'embedding font partie des LLMs (ce sont les premières couches). Mais on peut décider d'extraire juste ces couches pour utiliser le modèle d'embedding pour d'autres tâches.

    Les Embeddings "Standalone"

    Pourquoi extraire uniquement ces couches vectorielles ?

    1. RAG & Moteurs Sémantiques
    On transforme des paragraphes entiers (via Pooling) en vecteurs. La Similarité Cosinus permet de chercher par le sens (NLP) dans des millions de documents.
    2. Classification Zero-Shot
    Classifier des textes en mesurant purement la proximité géométrique de l'embedding du texte vis-à-vis de l'embedding du nom de la catégorie (ex: Sport, Politique).
    3. Clustering de données
    On projette 100k textes dans l'espace. En y appliquant des algorithmes (K-Means, HDBSCAN), on découvre automatiquement les thématiques par densité locale.
    4. Détection d'anomalies
    Tout échantillon dont le vecteur tombe dans une zone isolée et aberrante de l'espace est facilement discriminé statistiquement (Outliers).

    L'impasse d'avant 2017 : Le goulot

    Pour comprendre le sens ou prédire la suite, il faut tout le contexte.
    L'ère des RNN / LSTM (Réseaux Séquentiels) échouait :

    • Traitement Linéaire : Un mot à la fois. Le signal disparaît vite.
    • Le Goulot (Bottleneck) : Toute l'histoire doit tenir dans un seul vecteur.
    Catastrophe matérielle
    Impossible de paralléliser. Les GPUs dorment pendant qu'on lit le texte mot à mot.
    ... Mot 1 Mot N Oubli progressif du signal

    La révolution Transformer

    L'idée : Supprimer le goulot. Chaque mot se connecte à TOUS les autres :

    • Parallélisation Totale : On traite la phrase comme une matrice unique instantanément.
    • Self-Attention : Chaque mot "vote" pour l'importance des autres.
    Attention is All You Need (2017)
    Permet des relations à longue distance sans perte d'information.
    Tout le contexte, tout le temps. Mot 1 Mot N

    Chaque token scrute dynamiquement ses voisins.

    Le Scaled Dot-Product Attention

    La formulation mathématique
    $$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
    Les Matrices de projection

    Chaque mot $x_i$ est projeté dans 3 espaces par des poids appris :

    $\mathbf{q}_i = \mathbf{x}_i W_Q, \quad \mathbf{k}_i = \mathbf{x}_i W_K, \quad \mathbf{v}_i = \mathbf{x}_i W_V$

    • $QK^T$ : Corrélation (produit scalaire).
    • Scaling : Stabilité des gradients.
    • Softmax : Normalisation en probas.
    • Sortie : Tenseur contextualisé.

    * $N$ tokens en parallèle $\implies$ Multiplication matricielle ultra-optimisée sur GPU.

    Pas à pas : "Le chat dort"

    Étape 1 : Projection des tokens

    Token Input $X$ Query $Q$ Key $K$ Value $V$
    [Le] [0.1, -0.2...] [q_le] [k_le] [v_le]
    [chat] [0.5, 0.8...] [q_chat] [k_chat] [v_chat]
    [dort] [-0.3, 0.4...] [q_dort] [k_dort] [v_dort]

    Le mot [chat] lance sa requête (Query) :
    "Qui est mon sujet / mon action ?"

    Pas à pas : L'Affinité ($Q \cdot K$)

    Étape 2 : Le mot [chat] scrute les clés (Keys)

    Scores bruts pour [chat] :

    • $Q_{\text{chat}} \cdot K_{\text{le}} = 2.1$
    • $Q_{\text{chat}} \cdot K_{\text{chat}} = 9.5$ (Lui-même)
    • $Q_{\text{chat}} \cdot K_{\text{dort}} = 8.2$ (Sémantique forte)
    Softmax (Weights)

    $\mathbf{\alpha}_{Le} \approx 0.05$

    $\mathbf{\alpha}_{Chat} \approx 0.60$

    $\mathbf{\alpha}_{Dort} \approx 0.35$

    Le mot [chat] décide d'accorder 35% de son attention au mot [dort].

    Pas à pas : La Sortie

    Étape 3 : Création du vecteur enrichi

    $\text{Out}_{\text{chat}} = 0.05 \mathbf{V}_{\text{le}} + 0.60 \mathbf{V}_{\text{chat}} + 0.35 \mathbf{V}_{\text{dort}}$
    Identité initiale :
    [chat] = mammifère, poilu...
    $\rightarrow$
    Identité finale :
    [chat] = mammifère qui dort.

    Synthèse : L'Architecture Globale

    1. Input IDs (Tokenizer) 2. Embeddings + Position x30 à x80 blocs empilés Self-Attention Réseau Dense (FFN) 3. LM Head (Linear) Proba du Mot Suivant
    Synthèse de la propagation
    • L'Entrée : Les mots sont projetés dans un espace à 4-12k dimensions. C'est le contexte initial.
    • Le Corps : On empile des dizaines de blocs Transformer.
      • L'Attention mélange les vecteurs pour créer du sens contextuel.
      • Le FFN agit comme une mémoire sémantique massive.
    • La Sortie : Une projection finale vers tout le dictionnaire (~100k mots). Le mot le plus probable est choisi par Softmax.
    L'architecture Transformer calcule des corrélations globales instantanées, là où les RNN s'essoufflaient sur la mémoire à long terme.

    L'achitecture Transformer : au-delà de la génération de texte

    Grâce à l'architecture Transformer, on peut aligner n'importe quel signal.

    CLIP (OpenAI, 2021)

    On entraîne deux Encoders Transformer en parallèle : un pour les images (ViT), un pour le texte pour créer des embeddings alignés.

    Conséquence : ça permet de labelliser des images pour d'autres tâches.

    Le Transformer ne se limite pas aux mots : il permet d'aligner les concepts de n'importe quelle modalité.

    Application : AstroCLIP

    AstroCLIP (PolymathicAI, 2024)
    • Goals : Retrouver une galaxie à partir de sa signature chimique (spectre) ou faire de la classification etc..
    • Physique Latente : L'espace commun "apprend" tout seul les propriétés par proximité géométrique.

    $\implies$ Être à l'interface de deux champs de recherche permet d'innover.

    Les phases d'Entraînement

    Du Modèle Brut à l'Assistant Conversationnel

    1. Le Pre-training (Les Modèles "Base")

    • Concept : Apprentissage auto-supervisé. Il lit des centaines de To de Web, pour ajuster les milliards de poids.

    • Modèles Open-Source : Mistral-7B-v0.1, LLaMA-3-8B (Prédiction statistique brute).
    Un Base Model n'est PAS un chatbot
    Prompt: "Donne la recette des crêpes."

    Réponse Modèle Base : "...Donne la recette des gaufres. Donne le dessert..."

    $\Longrightarrow$ Il se croit sur un forum, il ne répond pas à l'ordre.

    2. SFT et L'Alignement (Modèles "Instruct")

    Toute API Utilisateur (ChatGPT, Mistral-Large, Claude) repose sur ces phases :


    SFT (Supervised Fine Tuning)
    On fige son comportement en lui apprenant le format: [Consigne -> Réponse Experte] via des milliers de datasets spécialisés.
    L'Alignement (RLHF / DPO)
    Ajustement par feedback humain ou IA. Il est puni s'il est toxique, récompensé s'il est utile.

    L'Architecture Agentique

    Passer du "Modèle Brut" au "Service Intelligent"

    Le Modèle seul ne suffit pas

    "Brillant mais Isolé"
    Un LLM pur est un cerveau déconnecté :
    • Il n'a pas accès à vos fichiers.
    • Il ne connaît pas l'Heure actuelle.
    • Il a des hallucinations.
    L'Ingénierie derrière ChatGPT
    Ce qu'on appelle "IA" aujourd'hui est un assemblage :
    • RAG (Retrieval) : Injecter vos documents dans le prompt.
    • Browsing : Accès au Web en temps réel.
    • Code Interpreter : Lancer du Python pour ses calculs.
    • Filtres : Sécurisation des réponses.

    Consommer le modèle : Deux mondes

    Un modèle est un fichier de plusieurs Go. Comment l'exploiter ?

    1. Inférence Locale (Open Source)

    Vous faites tourner les calculs sur vos propres GPUs.

    
    from transformers import pipeline
    # Charge le modèle en VRAM (GPU)
    pipe = pipeline("text-generation", model="mistralai/Mistral-7B-v0.1")
    res = pipe("La constante de Hubble est...")
                                

    $\oplus$ Confidentialité totale.
    $\ominus$ Nécessite un matériel coûteux.

    2. Cloud API (Passerelle)

    Vous appelez un modèle hébergé (Mistral, OpenAI).

    
    from mistralai import Mistral
    client = Mistral(api_key="***")
    resp = client.chat.complete(
        model="mistral-large-latest", 
        messages=[{"role": "user", "content": "..."}]
    )
                                

    $\oplus$ Aucun matériel requis, vitesse extrême.
    $\ominus$ Données partagées.

    Le revers de la médaille

    Garder un esprit d'analyse : ce n'est toujours pas de la magie !

    Limites Systémiques & Hallucinations

    L'Hallucination mathématique
    Le réseau préférera toujours inventer la fin d'une phrase très probable statistiquement plutôt que de choisir le mot "Je ne sais pas" appris lors de son RLHF.
    • Désastre Écologique : L'entraînement des Base Models nécessite des MW d'électricité.
    • L'amplificateur de Biais : Internet était la source, l'humanité y a imprimé ses stéréotypes.
    • Sensibilité Syntaxique : Corrélation formelle vs Raisonnement. Un modèle peut proposer d'aller au contrôle technique à pied car c'est à "50m" : la statistique écrase la logique physique.

    Conclusion : Ce qu'il faut retenir

    Sous le capot

    Les LLM ne sont pas "conscients" : ce sont des modèles de probabilités conditionnelles ultra-massifs.

    Comprendre le mécanisme (Attention, Vecteurs) permet de les détourner vers la science (CLIP, AstroCLIP).

    Votre Futur

    Ne soyez pas de simples "Prompt Engineers".

    Soyez les architectes qui injectent du savoir

    Merci pour votre écoute.

    Des questions ?

    Anna Preto

    Labo : apreto@apc.in2p3.fr
    Mews : anna.preto@mews-labs.com