Creer Llm From Scratch

Comprendre et créer un LLM de zéro

Pourquoi s’intéresser aux entrailles des IA en 2026 ?

Depuis fin 2022 avec l’arrivée de ChatGPT, on a souvent tendance à utiliser le terme “Intelligence Artificielle” à toutes les sauces pour parler des grands modèles de langage génératif. C’est un abus de langage déjà bien cerné. On utilise tous ces outils au quotidien, mais combien savent vraiment ce qui se passe sous le capot ?

Avant d’aborder des concepts qui ont une application plus directe dans l’utilisation quotidienne (orchestration d’agents IA, RAG, context engineering, etc.), je veux prendre le problème par la racine pour comprendre les implications de chaque élément constitutif de la chaîne de création d’un LLM.

Disclaimer : Je ne suis pas un ingénieur en intelligence artificielle, ni un chercheur, ni même un expert. Je suis simplement une personne qui cherche à comprendre par l’application, en commençant son apprentissage par les bases.

Afin de bien saisir comment fonctionne un LLM, quelle meilleure solution que d’en construire un par soi-même ? L’idée de cette série d’articles est de retracer mon expérience, avec deux objectifs :

  • Être le plus précis possible pour permettre à d’autres personnes, ayant l’envie de comprendre en profondeur ces mécanismes, de reproduire l’expérience menée ici.
  • Confronter les ressources, articles, vidéos, livres et les explications issues des IA génératives afin de me forger une opinion et d’appréhender le sujet dans son ensemble.

Pour ceux qui liront ces quelques lignes, voyez-les comme un journal de bord dans mon laboratoire d’apprentissage des IA génératives. L’objectif n’est pas de demander à l’un des derniers modèles de langage de me coder un moteur simplifié. Même si les IA m’aideront à déboguer, à décortiquer ou à confronter des idées, j’attache une importance capitale à développer “à la main” ce qui aujourd’hui pourrait être réalisé par des machines.

Qu’est-ce qu’un LLM ? Définition et concepts clés

En introduction, et avant de commencer à rentrer dans le vif du sujet technique, cherchons d’abord à savoir de quoi nous parlons.

1.1. Au-delà de l’acronyme : L’arbre généalogique de l’IA On nous décrit souvent l’IA Générative comme un sous-ensemble du Deep Learning, lui-même étant un sous-ensemble du Machine Learning, qui est lui-même une branche de l’Intelligence Artificielle. C’est d’ailleurs ce que confirme Sebastian Raschka dans ses ouvrages, en présentant les grands modèles de langage comme un sous-ensemble du Deep Learning.

Commençons par définir les termes pour construire notre glossaire de référence :

Qu’est-ce qu’un grand modèle de langage (LLM) ?

Un réseau de neurones conçu pour comprendre, générer et répondre au travers de textes ressemblant à ceux rédigés par l’humain. Ce sont de grands réseaux de neurones entraînés sur des quantités énormes de données textuelles, du domaine libre ou encore scrappées sur internet (cf. les différents procès aux États-Unis entre de grands éditeurs et les sociétés mères des LLM). Les LLM étant capables de générer du texte, on se réfère souvent à eux sous le terme d’intelligence artificielle générative ou GenAI. Ils représentent une section spécifique d’application du deep learning en utilisant leur capacité à analyser et générer le langage naturel humain.

Qu’est-ce que l’IA Générative ?

Elle englobe l’ensemble des modèles d’intelligence artificielle à même de comprendre, générer ou répondre à partir de différents supports : vidéo, texte, image, son, en imitant la manière humaine. En fonction, on parlera alors de LVM (Large Video Model) pour les modèles de vidéo, de Modèle de diffusion pour l’image et LAM (Large Audio Model) pour le son et l’audio. On dit qu’un modèle est multimodal lorsque celui-ci est capable de générer et de comprendre plusieurs types de données simultanément (c’est le cas de la plupart des acteurs les plus connus du marché).

Qu’est-ce que le Machine Learning ?

Il implique le développement d’algorithmes capables d’apprendre, de prendre des décisions ou de faire des prédictions en se basant sur des données sans avoir été explicitement programmés pour faire ces tâches. On peut prendre l’exemple des filtres anti-spam. Ils n’ont pas de règles explicites leur permettant de déterminer si tel ou tel mail est un spam, ils sont nourris d’exemples de mails spam et non-spam clairement libellés. L’algorithme apprend ainsi à reconnaître les patterns et caractéristiques qui lui permettent de classer les emails : c’est l’apprentissage supervisé. L’humain doit extraire les caractéristiques importantes pour aider l’algorithme.

Qu’est-ce que le Deep Learning ?

C’est un sous-ensemble du machine learning qui utilise les réseaux de neurones à plus de trois couches pour modéliser des concepts complexes dans les données. Là où le machine learning classique a souvent besoin d’une action manuelle de la part de l’humain pour identifier et comprendre la donnée avec des labels (pour reprendre l’exemple du mail, on identifiera manuellement des spams), le deep learning excelle dans la capacité à s’en passer. S’il peut utiliser des données labellisées, sa vraie force réside dans l’apprentissage non supervisé : il utilise des réseaux de neurones artificiels profonds qui lui donnent la capacité d’établir ses propres règles et de repérer des concepts complexes dans des données brutes, sans qu’un humain n’ait eu besoin de les étiqueter au préalable.

NLP (Natural Language Processing) :

L’art d’interpréter, de traiter et de catégoriser le langage humain à l’aide de la machine. C’est une discipline à part entière qui utilise ces technologies à l’intersection entre l’informatique, l’IA et la linguistique.

Le rôle de la prédiction : Les LLM ne sont-ils qu’une prédiction mathématique du prochain mot, vrai ou faux ?

Les modèles pré-entraînés type GPT ont pour but de prédire le prochain mot dans une phrase, les LLM, eux, font preuve d’autres capacités telles que la capacité de classer, traduire ou résumer un texte. C’est techniquement vrai : pour prédire le prochain mot, le modèle doit d’abord comprendre le sens de ceux qui le précèdent.

La prédiction est l’objectif (la fonction de perte mathématique), mais la compréhension et le raisonnement sont les moyens que le modèle a développés pour atteindre cet objectif avec une efficacité maximale. Si les premiers modèles de type “GPT” se contentaient effectivement d’être de super-correcteurs orthographiques prédisant statistiquement le mot suivant, les LLM modernes ont franchi un cap grâce à l’architecture Transformer. Aujourd’hui, ils ne parient pas sur une suite de lettres, mais naviguent dans un espace sémantique complexe (les embeddings) où ils manipulent des concepts et des relations d’idées. Le véritable moteur de cette évolution est le mécanisme d’Attention, qui permet au modèle de peser l’importance de chaque mot par rapport à tout le contexte, lui offrant une forme de “compréhension” des nuances et de la logique. En cherchant à être le plus précis possible dans sa prédiction, le modèle a fini par développer des capacités émergentes : il ne se contente plus de répéter, il raisonne, résout des problèmes mathématiques et code, car pour prédire la suite d’un raisonnement, il a été obligé d’en simuler les règles internes.

Pourquoi parle-t-on de “Grands” modèles de langage ?

Le terme « grand » renvoie d’abord au nombre de paramètres du modèle, c’est‑à‑dire les valeurs numériques que le réseau de neurones ajuste pendant l’entraînement ; un grand modèle de langage en possède généralement plus d’un milliard. Il renvoie aussi à la taille des données d’entraînement : ces modèles sont entraînés sur des corpus massifs de textes, ce qui leur permet de repérer des motifs complexes de grammaire, de style et de sens.

Le fonctionnement technique : L’architecture Transformer

Quand on commence à se documenter sur les grands modèles de langage, un certain nombre de concepts clés et de termes spécifiques reviennent systématiquement pour qualifier ces modèles, transformers, embedding, tokens, etc. essayons d’y voir plus clair.

Qu’est-ce qu’un modèle Transformer et l’analogie de l’attention ?

Les transformateurs sont le cœur de l’architecture derrière les modèles d’IA modernes type GPT. Introduit en 2017 par le papier “Attention is all you need”, ce modèle a révolutionné la manière dont l’IA interprète l’information. Ce mécanisme permet de générer le mot le plus probable à la suite d’une entrée utilisateur. Ils sont composés de trois composantes principales

De l’idée au vecteur : le processus d’Embedding

La première étape consiste à découper et transformer le texte en nombres (les fameux vecteurs). Dans le jargon, le terme Embedding (ou “plongement lexical” en français) se réfère aussi bien à ce processus de transformation qu’au vecteur final obtenu.

Concrètement, les mots constitutifs d’une phrase sont découpés en “jetons” (ou tokens), qui sont de petites séquences de mots ou des morceaux de mots. À chacun de ces tokens est attribué un identifiant unique basé sur le dictionnaire du modèle, ainsi qu’une position. La position des mots a une importance capitale dans le mécanisme du langage. Cet “encodage positionnel” permet de donner à chaque token une information précise quant à sa place exacte dans la phrase.

Le cœur du réacteur : les blocs de Transformers et l’auto-attention

Une fois le texte transformé en vecteurs, l’information entre dans les blocs de Transformers, dont le rôle est de la mélanger grâce à un mécanisme appelé “auto-attention” (self-attention). Ces blocs sont composés de deux parties complémentaires :

  • L’auto-attention multi-têtes (multi-head self-attention), qui permet aux tokens de partager des informations entre eux.
  • Le perceptron multicouche (MLP pour Multilayer Perceptron), un réseau de neurones classique qui affine les détails de chaque token.

Plusieurs de ces blocs sont empilés les uns sur les autres afin d’enrichir la représentation de chaque token à mesure qu’il traverse les couches. L’auto-attention permet au modèle de décider quelle partie du texte initial est la plus représentative pour un token donné, l’aidant ainsi à comprendre les relations entre les mots, même s’ils sont éloignés dans la phrase.

Pour réaliser cette auto-attention, chaque embedding est transformé en trois nouveaux vecteurs : la Requête (Query), la Clé (Key) et la Valeur (Value). Cette transformation s’effectue en appliquant différents poids et biais, qui sont des matrices de valeurs figées, déterminées et optimisées lors de l’entraînement. Dans cet espace matriciel, les valeurs de la Requête sont comparées à celles de la Clé pour mesurer leur pertinence, et ce score de pertinence est ensuite utilisé pour évaluer la Valeur finale.

Dans sa forme “multi-têtes”, le modèle fait tourner plusieurs mécanismes d’attention en parallèle. Chaque tête d’attention (Head) possède ses propres valeurs QKV et se concentre sur différents motifs (patterns) du texte : la grammaire, le sens, ou les liens à longue distance. En multipliant ces têtes, le modèle apprend plusieurs types de relations simultanément, enrichissant considérablement sa compréhension.

Le choix final : logits, probabilités et paramètres de génération

La dernière étape détermine la probabilité du prochain token. Pour simplifier le mécanisme (que nous détaillerons probablement dans un prochain article) : une fois que les couches d’attention ont terminé leurs calculs, le modèle sort un vecteur final. Ce vecteur traverse une dernière couche qui le projette sur l’intégralité du vocabulaire du modèle. Le résultat obtenu s’appelle un logit.

Le logit est le score brut attribué à chaque mot du dictionnaire. Plus ce logit est élevé, plus le modèle “pense” que ce mot est le bon candidat. C’est à cette étape précise qu’interviennent les paramètres de génération de l’IA, qui vont influencer la sélection finale de la réponse :

  • La Température : En réduisant la température, on accentue les écarts (on rend les grands logits encore plus grands et les petits encore plus petits). Cela favorise les tokens les plus probables et mène à des choix très prévisibles. À l’inverse, une température élevée réduit ces écarts, rendant d’autres tokens plus probables et favorisant la “créativité” du modèle.
  • Le Top-K et le Top-P : Le Top-K indique au modèle de ne conserver que le nombre “K” de tokens les plus probables, écrémant ainsi les propositions farfelues.
  • La fonction Softmax : Enfin, cette fonction mathématique transforme les logits bruts restants en véritables probabilités comprises entre 0 et 1 (dont la somme totale fait exactement 1). Le mot est ensuite choisi en fonction de cette distribution.

(Sources : https://poloclub.github.io/transformer-explainer/ , https://arxiv.org/abs/1706.03762)

Pourquoi créer un LLM “From Scratch” aujourd’hui ?

Souveraineté et compréhension profonde

Ne pas dépendre aveuglément des machines nécessite d’en comprendre les rouages de A à Z. C’est tout le sens de cette démarche : passer de consommateur à créateur. À l’aide de ces mêmes modèles d’IA générative, il est aujourd’hui facile de créer des Agents IA, de s’adonner au prompt engineering ou au context engineering ou encore de créer des outils, mais pour comprendre profondément ce qui influence ces modèles, leurs forces et leurs faiblesses, quoi de mieux que de mettre les mains sous le capot ?

L’apprentissage par la pratique et le fil conducteur

Pour construire la structure de mon approche, je vais beaucoup me baser sur le livre “Build a Large Language Model” de Sebastian Raschka, qui me servira de fil conducteur. L’idée n’étant pas de paraphraser un livre existant ni d’en divulguer le contenu, je m’attacherai à confronter systématiquement les informations qui s’y trouvent avec d’autres sources pour enrichir et compléter les concepts exposés. Pour permettre à tout un chacun de comprendre (ou de soulever mes erreurs lors de mon apprentissage), je m’attacherai également à sourcer tous les documents me servant de base de littérature.

Contraintes de ressources et choix technologiques

Évidemment, construire un LLM nécessite énormément de puissance de calcul. Étant limité en ressources, je vais explorer les outils et alternatives me permettant d’obtenir un résultat plus proche d’un GPT-2 que de l’une des dernières itérations de ChatGPT, Claude ou Gemini. Pour saisir l’ensemble des concepts clés, il me faudra parfois prendre certains raccourcis. Je ne pourrai pas, par exemple, entraîner un vrai LLM au sens propre du terme, mais plutôt un SLM (Small Language Model). À des fins d’expérimentation et pour aller plus loin dans l’apprentissage avec mes ressources, j’utiliserai par la suite des modèles pré-entraînés.

La Roadmap Gen0lab : Les étapes de notre création

  • Étape 1 : Les modèles transformers & BERT, bien comprendre
  • Étape 2 : Collecte et nettoyage du Dataset (le carburant).
  • Étape 3 : Coder le mecanisme de l’attention
  • Étape 4 : Implémenter un model GPT pour généer du text
  • Étape 5 : Pre-entrainement sur des données non structuées
  • Étape 6 : Fine-tuning pour la classification
  • Étape 7 : finetunin pour suivre les instructions
  • Étape 8 : Choix de l’architecture et configuration de l’environnement (Python, PyTorch/Jax).
  • Étape 9 : Évaluation et déploiement.

A propos de moi

Je ne suis ni chercheur en IA, ni ingénieur en Machine Learning. Gen0lab est mon laboratoire personnel : un espace où je documente mon apprentissage des IA génératives en partant de zéro. Mon objectif ? Démystifier la technique par la pratique, confronter les sources et partager mes découvertes en toute transparence. Ce blog est le carnet de bord de mon défi : passer de simple utilisateur à créateur.

Généré avec Hugo
Thème Stack conçu par Jimmy