Qu’est-ce que l’entraînement ?
L’entraînement de l’IA est un processus d’optimisation. Le modèle traite des exemples et le système d’entraînement mesure dans quelle mesure ses sorties respectent un objectif. Il met ensuite à jour les paramètres ajustables du modèle et répète l’opération.
Pour un réseau neuronal entraîné à l’aide de gradients, une étape d’entraînement comporte généralement trois éléments essentiels :
- Exécuter le modèle vers l’avant pour produire une sortie.
- Calculer une perte, c’est-à-dire un nombre représentant l’écart entre la sortie et l’objectif d’entraînement.
- Calculer et appliquer des modifications des paramètres destinées à améliorer les sorties suivantes.
Toutes les méthodes d’entraînement n’utilisent pas des exemples annotés ni le même algorithme de mise à jour. Le résultat qui définit l’entraînement reste toutefois un état appris modifié : un nouvel ensemble de paramètres, un adaptateur mis à jour ou un nouveau point de contrôle qui pourra être utilisé ultérieurement.
Qu’est-ce que l’inférence ?
L’inférence de l’IA exécute un modèle entraîné afin de calculer une prédiction, une génération, un score, un plongement ou une autre sortie. L’opération utilise l’état appris sélectionné du modèle, mais ne lui applique pas de mise à jour d’entraînement.
L’inférence peut avoir lieu lorsque vous envoyez un prompt à un chatbot, lorsqu’un modèle de détection des fraudes évalue une transaction ou lorsqu’une entreprise traite en un seul lot les images d’une nuit entière. Elle n’a pas besoin d’être effectuée en temps réel, et son entrée ne doit pas nécessairement être littéralement nouvelle. Ce qui compte, c’est que l’entrée serve à obtenir une sortie, et non à mettre à jour le modèle au cours de cette opération.
La distinction proprement dite
La distinction la plus nette concerne ce qui se passe après que le modèle a calculé une sortie.
- Entraînement : utiliser un signal objectif pour modifier l’état appris.
- Inférence : utiliser la sortie tout en gardant l’état appris inchangé.
Cette distinction est plus fiable que d’affirmer que l’entraînement est lent et l’inférence rapide, ou que l’entraînement a lieu dans un laboratoire tandis que l’inférence se déroule dans un produit. Ces descriptions sont souvent vraies, mais il est facile de trouver des exceptions.
| Dimension | Training | Inference |
|---|---|---|
| Primary purpose | Improve or adapt the model | Produce an output from the model |
| Learned parameters | Updated during the process | Read and used, but not updated by the operation |
| Typical gradient-based work | Forward calculation, objective calculation, backward calculation, optimizer update | Forward model calculation only |
| Input role | Supplies evidence for a learning objective | Supplies the case for which an output is needed |
| Result | Updated parameters, adapter, or checkpoint | Prediction, generation, score, embedding, or action signal |
| Timing | Can be one-off, periodic, or continuous | Can be request-driven, streamed, scheduled, or batched |
| Main system concerns | Learning quality, stability, data, memory, and time to reach an objective | Output quality, latency, throughput, reliability, and cost per workload |
Les deux phases peuvent utiliser la même architecture de modèle et une grande partie du même matériel. Ces similitudes n’effacent pas la frontière entre elles. C’est la présence ou l’absence d’une mise à jour d’apprentissage qui fait la différence.
Un exemple concret
Supposons que vous construisiez un filtre anti-spam. Les nombres suivants sont donnés à titre illustratif.
Pendant l’entraînement, le modèle reçoit un e-mail dont l’étiquette connue est « spam ». Il attribue à l’e-mail un score de spam de 0,40. Le système d’entraînement compare ce score à l’étiquette connue, calcule une erreur et ajuste les paramètres du modèle. Il répète ce processus sur de nombreux exemples. Un point de contrôle enregistré ultérieurement attribue à ce même e-mail d’entraînement un score de 0,91.
Le filtre reçoit maintenant l’e-mail entrant d’un utilisateur. Pendant l’inférence, le point de contrôle enregistré lui attribue un score de spam de 0,82. L’application peut déplacer l’e-mail vers un dossier de spam. Cette action, à elle seule, n’apprend rien au modèle. Les paramètres utilisés pour l’e-mail suivant restent les mêmes.
Si le système collecte ensuite des e-mails examinés et les utilise pour mettre à jour le modèle, cette exécution d’optimisation ultérieure constitue de l’entraînement. La prédiction et la mise à jour d’apprentissage sont des opérations distinctes, même lorsque l’une fournit des données à l’autre.
Quand chacune de ces phases compte
Les choix d’entraînement déterminent quels comportements font partie de l’état appris du modèle. Les données, l’objectif, la méthode de mise à jour et le moment de l’arrêt influencent tous le point de contrôle qui sera disponible pour l’utilisation.
Les choix d’inférence déterminent la manière dont ce point de contrôle se comporte dans le cadre d’une charge de travail réelle. Une équipe peut optimiser la rapidité de réponse à un utilisateur, le traitement efficace d’un grand lot, la qualité prévisible des sorties ou un équilibre entre ces objectifs.
La comparaison des coûts dépend du système. Une seule exécution d’entraînement importante peut consommer bien plus de calcul qu’une seule requête d’inférence. Un service qui reçoit suffisamment de requêtes peut néanmoins consacrer davantage de ressources à l’inférence au total. Un modèle réentraîné fréquemment peut encore modifier cet équilibre. Dire que « l’entraînement coûte plus cher » est incomplet si l’unité et la période considérées ne sont pas précisées.
Ce que l’on confond souvent
L’inférence n’est pas un apprentissage automatique
Une application d’IA peut enregistrer des conversations, récupérer des documents, mettre à jour un cache ou mémoriser une préférence utilisateur tout en traitant une requête. Il s’agit de modifications de l’application environnante. Ce n’est pas de l’entraînement du modèle, sauf si un processus d’apprentissage modifie les paramètres du modèle ou ceux d’un autre composant appris.
L’évaluation est une opération voisine
La validation et les tests ressemblent souvent à de l’inférence, car le modèle produit des sorties sans mise à jour de ses paramètres. Ils s’en distinguent par leur objectif : l’évaluation compare les sorties à des réponses ou à des critères connus afin de mesurer le modèle. Un flux de travail d’entraînement peut s’interrompre entre deux séries de mises à jour pour évaluer un point de contrôle, mais cette passe d’évaluation ne constitue pas en elle-même une mise à jour d’entraînement.
L’affinage reste de l’entraînement
L’affinage commence à partir d’un point de contrôle existant plutôt qu’à partir d’un modèle non entraîné. Il peut mettre à jour tous les paramètres du modèle ou uniquement un adaptateur plus petit. Dans les deux cas, il modifie l’état appris pour satisfaire un objectif ; il appartient donc au domaine de l’entraînement.
Les phases peuvent être imbriquées
Un système déployé peut effectuer des prédictions immédiatement, recueillir des retours, puis entraîner ultérieurement un modèle révisé. L’apprentissage en ligne peut alterner entre les étapes de prédiction et de mise à jour, ou les combiner plus étroitement. Le cycle de vie peut devenir flou, mais chaque opération peut toujours être identifiée selon qu’elle met ou non à jour l’état appris.
Pour aller plus loin
Lisez Qu’est-ce que l’entraînement en IA ? pour découvrir le processus d’optimisation qui modifie un modèle. Lisez Qu’est-ce que l’inférence en IA ? pour comprendre comment un modèle entraîné transforme les entrées en sorties dans les systèmes interactifs et par lots.