Pour comprendre les coulisses
Pour aller plus loin, explorons les coulisses de l’IA. Cette partie décrypte les concepts techniques essentiels : tokens, inférence, fine-tuning, RAG et poids. Autant de mécanismes qui expliquent comment ces systèmes apprennent, raisonnent et génèrent des réponses.
Token
Un token est l’unité de base que les modèles d’IA utilisent pour traiter le texte. Il peut s’agir :
- d’un mot entier (ex : « chat »),
- d’une partie de mot (ex : « infor » + « mation » pour « information »),
- ou d’un caractère spécial (ex : « ! », « 😊 »).
Pourquoi ?
Les modèles ne lisent pas le texte comme nous : ils le découpent en tokens pour le transformer en nombres et le traiter mathématiquement.
Impact :
- Le nombre de tokens influence le coût (facturation à l’usage) et la limite de la fenêtre de contexte (voir partie 2).
- Exemple : « J’aime l’IA ! » = 5 tokens (J’, aime, l’, IA, !).
Astuce : Des outils comme le tokenizer de Mistral permettent de compter vos tokens avant d’envoyer une requête.
Inférence
L’inférence est le processus par lequel un modèle génère une réponse à partir d’une entrée (un prompt, une image, etc.).
Comment ça marche ?
- Le modèle analyse l’entrée (ex : votre question).
- Il calcule les probabilités pour chaque token suivant (« Quel mot a le plus de sens ici ? »).
- Il construit la réponse token par token, jusqu’à la fin.
Différence avec l’entraînement :
- Entraînement : Le modèle apprend sur des données (phase longue et coûteuse).
- Inférence : Le modèle utilise ce qu’il a appris pour répondre (phase rapide, en temps réel).
Enjeux :
- L’inférence consomme des ressources calcul (GPU/TPU).
- Plus le modèle est grand, plus elle est lente et énergivore.
Exemple : Quand vous demandez « Résume ce rapport », le modèle effectue une inférence pour produire le texte final.
Fine-tuning
Le fine-tuning (ou affinage) est une technique pour adapter un modèle pré-entraîné à une tâche ou un domaine spécifique, en le réentraînant sur un jeu de données ciblé.
Pourquoi ? Un modèle général (ex : Mistral, Llama) ne connaît pas votre domaine (jargon médical, processus internes, etc.).
Exemples d’usage :
- Spécialiser un modèle pour classer des emails selon vos catégories.
- L’adapter pour qu’il réponde dans le style de votre entreprise.
Alternatives :
- RAG (voir ci-dessous) : Moins coûteux, mais nécessite une base de données externe.
- Prompt engineering : Ajuster les instructions sans modifier le modèle.
Limites :
- Coûteux en temps et ressources.
- Risque de surapprentissage (overfitting) si les données sont insuffisantes.
RAG
Le RAG (Génération Augmentée par Récupération) combine un modèle de langage avec une base de données externe pour améliorer la précision et l’actualité des réponses.
Fonctionnement :
- Vous posez une question.
- Le système recherche des infos pertinentes dans une base de données (documents, FAQ, etc.).
- Le modèle génère une réponse en s’appuyant sur ces infos combinées à ses connaissances internes.
Avantages :
- Réponses plus fiables (sources vérifiables).
- Connaissances à jour (la base peut être mise à jour sans réentraîner le modèle).
- Moins d’hallucinations (voir partie 1).
Cas d’usage :
- Un chatbot client qui répond en citant votre documentation produit.
- Un assistant juridique qui référence des articles de loi.
Outils : LangChain, LlamaIndex, Weaviate.
Poids
Les poids (weights) sont les paramètres numériques d’un modèle qui déterminent comment il traite les informations. Ce sont eux qui « stockent” les connaissances apprises pendant l’entraînement.
Analogie : Imaginez un réseau de neurones comme un labyrinthe. Les poids sont les panneaux indicateurs qui guident le flux d’informations.
Rôle :
- Chaque poids représente l’importance d’une connexion entre deux neurones artificiels.
- Pendant l’entraînement, le modèle ajuste ces poids pour minimiser ses erreurs (via la “backpropagation”, rétropropagation).
Enjeux :
- Plus un modèle a de poids, plus il est puissant… mais aussi gourmand en ressources.
Exemple : Mistral 7B = 7 milliards de poids ; Llama 3 70B = 70 milliards.
- Les poids sont propriétaires : c’est pourquoi certains modèles sont open-source (poids accessibles) et d’autres non (ex : GPT-4).