P

Gradient Descent : Définition et Exemples

Le Gradient Descent (descente de gradient) est un algorithme d'optimisation itératif utilisé pour minimiser une fonction de coût en ajustant progressivement les paramètres d'un modèle dans la direction opposée au gradient.

Définition complète

Le Gradient Descent, ou descente de gradient en français, est l'algorithme fondamental qui permet aux modèles d'intelligence artificielle d'apprendre. Son principe est remarquablement intuitif : imaginez que vous êtes perdu dans un brouillard épais au sommet d'une montagne et que vous cherchez à descendre dans la vallée. À chaque pas, vous tâtez le terrain autour de vous et avancez dans la direction où la pente descend le plus fortement. C'est exactement ce que fait le Gradient Descent avec les paramètres d'un modèle.

Concrètement, l'algorithme calcule le gradient (la dérivée partielle) de la fonction de coût par rapport à chaque paramètre du modèle. Ce gradient indique la direction dans laquelle l'erreur augmente le plus rapidement. En se déplaçant dans la direction opposée, on réduit progressivement l'erreur. Le taux d'apprentissage (learning rate) contrôle la taille de chaque pas : trop grand, on risque de dépasser le minimum ; trop petit, l'entraînement sera extrêmement lent.

Il existe plusieurs variantes de cet algorithme. Le Batch Gradient Descent utilise l'ensemble du jeu de données pour calculer chaque mise à jour, ce qui est précis mais coûteux en calcul. Le Stochastic Gradient Descent (SGD) n'utilise qu'un seul exemple à la fois, ce qui le rend plus rapide mais plus bruité. Le Mini-batch Gradient Descent, le plus utilisé en pratique, constitue un compromis en utilisant de petits lots de données. Des optimiseurs modernes comme Adam, RMSProp ou AdaGrad ajoutent des mécanismes adaptatifs pour ajuster automatiquement le taux d'apprentissage.

Le Gradient Descent est au cœur de l'entraînement de tous les réseaux de neurones, y compris les grands modèles de langage (LLM) comme GPT ou Claude. Sans cet algorithme, il serait impossible d'ajuster les milliards de paramètres qui permettent à ces modèles de comprendre et générer du texte. Comprendre son fonctionnement aide à mieux appréhender pourquoi certains modèles convergent difficilement, pourquoi le fine-tuning fonctionne, et comment les hyperparamètres influencent la qualité finale d'un modèle.

Étymologie

Le terme vient du latin « gradiens » (qui marche, qui progresse) et « descensus » (descente). Le concept mathématique de gradient désigne le vecteur des dérivées partielles d'une fonction, indiquant la direction de plus forte variation. L'association des deux mots décrit littéralement l'action de « descendre en suivant la pente ». L'algorithme a été formalisé par Augustin-Louis Cauchy en 1847, bien avant l'ère de l'intelligence artificielle.

Exemples concrets

Comprendre pourquoi un modèle ne converge pas

Mon modèle de classification d'images ne s'améliore plus après quelques époques. Le learning rate est à 0.1. Peux-tu m'expliquer comment le gradient descent pourrait être bloqué et quels ajustements essayer ?

Choisir le bon optimiseur pour un projet

Je dois entraîner un petit réseau de neurones pour de la détection de spam. Quelles sont les différences pratiques entre SGD, Adam et RMSProp pour mon cas d'usage ? Lequel me recommandes-tu et pourquoi ?

Vulgariser le concept pour une présentation

Explique le gradient descent à un public non technique en utilisant une analogie du quotidien. Je prépare une présentation pour des décideurs qui veulent comprendre comment l'IA apprend.

Usage pratique

En prompt engineering, comprendre le Gradient Descent permet de mieux formuler des questions sur l'entraînement et le fine-tuning de modèles. Vous pouvez demander à un LLM d'expliquer pourquoi un entraînement diverge, de recommander des hyperparamètres adaptés, ou de diagnostiquer des problèmes de convergence. Cette connaissance est également essentielle pour rédiger des prompts techniques précis lorsque vous travaillez sur des projets de machine learning.

Concepts liés

BackpropagationLearning RateLoss FunctionStochastic Gradient Descent

FAQ

Quelle est la différence entre Gradient Descent et Stochastic Gradient Descent ?
Le Gradient Descent classique (batch) calcule le gradient sur l'ensemble du jeu de données avant chaque mise à jour des paramètres, ce qui donne une direction précise mais coûteuse en calcul. Le Stochastic Gradient Descent (SGD) calcule le gradient sur un seul exemple aléatoire à chaque itération, ce qui est beaucoup plus rapide mais introduit du bruit dans la trajectoire d'optimisation. En pratique, on utilise le plus souvent le mini-batch SGD qui traite de petits lots de données, offrant un bon compromis entre précision et vitesse.
Pourquoi le learning rate est-il si important dans le Gradient Descent ?
Le learning rate détermine la taille du pas effectué à chaque itération. Un learning rate trop élevé fait osciller l'algorithme autour du minimum sans jamais l'atteindre, voire le fait diverger complètement. Un learning rate trop faible rend l'entraînement extrêmement lent et peut piéger le modèle dans un minimum local sous-optimal. C'est pourquoi des techniques comme le learning rate scheduling (réduction progressive) ou les optimiseurs adaptatifs (Adam) sont largement utilisés pour ajuster automatiquement ce paramètre pendant l'entraînement.
Le Gradient Descent est-il utilisé pour entraîner les grands modèles de langage comme ChatGPT ou Claude ?
Oui, le Gradient Descent (plus précisément des variantes comme Adam ou AdamW) est l'algorithme fondamental utilisé pour entraîner tous les grands modèles de langage. Combiné à la rétropropagation (backpropagation), il permet d'ajuster les milliards de paramètres de ces modèles en minimisant l'erreur de prédiction sur d'immenses corpus de texte. L'entraînement est distribué sur des milliers de GPU et utilise des techniques avancées comme le gradient accumulation et le mixed precision training pour gérer l'échelle colossale de ces modèles.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.