|
EN BREF
|
L’inférence est l’étape où un modèle d’intelligence artificielle utilise les paramètres appris pendant son entraînement pour produire une réponse à une nouvelle entrée. Elle mobilise des calculs, de la mémoire et des ressources matérielles, dont les besoins varient selon la taille du modèle, la longueur des données traitées et les exigences de rapidité.
Un modèle d’IA ne consulte pas nécessairement une base de données contenant des réponses toutes faites. Après son entraînement, il a encodé des régularités dans ses paramètres. Lorsqu’il reçoit une question, il traite les données en entrée et calcule une sortie à partir de ces régularités : c’est l’inférence.
Sommaire
ToggleDe l’entrée à la réponse
Dans un modèle de langage, le texte fourni est d’abord découpé en unités appelées jetons — ou tokens. Ces unités sont converties en représentations numériques, puis traversent les différentes couches du réseau neuronal. À chaque étape, le modèle calcule des relations entre les éléments de la séquence afin d’estimer quel jeton pourrait suivre.
La réponse est généralement produite de manière séquentielle : le modèle sélectionne un jeton, l’ajoute au contexte, puis recommence le calcul pour générer le suivant. Selon sa configuration, il peut choisir le jeton le plus probable ou échantillonner parmi plusieurs possibilités. Ce mécanisme explique pourquoi une même question peut parfois donner lieu à des formulations différentes.
Des calculs guidés par les paramètres appris
Les paramètres sont les valeurs numériques ajustées pendant l’entraînement. Lors de l’inférence, ils ne sont généralement pas réappris : ils servent à transformer l’entrée en une sortie. Le modèle effectue alors des opérations matricielles et des calculs d’attention, qui l’aident à pondérer les éléments pertinents du contexte.
Cette distinction entre apprentissage et utilisation est essentielle. L’entraînement peut demander d’importantes ressources pour modifier les paramètres, tandis que l’inférence les mobilise pour répondre aux requêtes. Elle peut toutefois devenir coûteuse à grande échelle, car chaque réponse nécessite du calcul et, souvent, le maintien temporaire d’informations en mémoire.
La mémoire et le matériel au cœur de l’inférence
La vitesse d’une réponse ne dépend pas uniquement de la puissance de calcul. Les accélérateurs doivent aussi accéder rapidement aux paramètres du modèle et aux données intermédiaires. Pour les grands modèles, déplacer ces données entre la mémoire et les unités de calcul peut constituer un goulot d’étranglement.
La mémoire à haute bande passante, ou HBM, est donc stratégique pour les accélérateurs d’IA. Elle permet de transférer rapidement de grands volumes de données. Les enjeux de mémoire dans le secteur sont notamment abordés dans cet article sur la mémoire HBM et son rôle dans la stratégie d’Apple pour l’intelligence artificielle.
Les choix d’infrastructure ont aussi une dimension industrielle et géopolitique. Investissements, accès aux puces et capacité de production influencent la disponibilité des ressources nécessaires à l’entraînement comme à l’inférence. Pour approfondir ces enjeux, voici une analyse de l’investissement massif de la Chine dans l’intelligence artificielle, entre ambitions et risques.
Latence, débit et coût par requête
Les performances d’un système d’inférence se mesurent à l’aide de plusieurs indicateurs. La latence désigne le délai avant l’obtention d’une réponse, tandis que le débit correspond au nombre de requêtes ou de jetons traités pendant une durée donnée. Dans une application interactive, une faible latence améliore l’expérience ; pour un service à grande échelle, le débit et le coût par requête sont également déterminants.
Ces indicateurs évoluent selon la longueur du prompt, la taille du modèle, le nombre de jetons générés et le nombre de requêtes traitées simultanément. Un contexte très long peut ainsi augmenter la quantité de calcul et la mémoire nécessaire. Les systèmes ajustent parfois la précision numérique des calculs ou regroupent plusieurs requêtes afin d’améliorer l’utilisation des accélérateurs.
Optimiser sans changer le modèle
Plusieurs techniques permettent de réduire les ressources requises. La quantification représente les paramètres avec moins de bits, ce qui peut diminuer l’empreinte mémoire et accélérer certains calculs. Le regroupement de requêtes, appelé batching, exploite mieux le matériel lorsque plusieurs utilisateurs sollicitent le service au même moment.
D’autres méthodes visent à limiter les calculs répétés. Pour les modèles de langage, un cache peut conserver les représentations déjà calculées pour le texte précédent, évitant de les recalculer à chaque nouveau jeton. Ces optimisations impliquent des compromis : une réduction de précision ou une stratégie de génération différente peut affecter la qualité, la stabilité ou le comportement du modèle.
Défaillances de service et diagnostic
L’inférence dépend également de composants logiciels et d’infrastructures disponibles. Une panne réseau, une saturation des ressources, une erreur de configuration ou une défaillance d’un service intermédiaire peut empêcher une réponse, même si le modèle lui-même fonctionne correctement. Le message affiché à l’utilisateur ne permet pas toujours d’identifier la cause technique exacte.
Par exemple, un service peut signaler qu’une erreur est survenue, annoncer une tentative de rétablissement et fournir un identifiant tel que 0.97a02417.1791356421.1ffc7ddd. Ce code sert généralement de repère pour diagnostiquer l’incident dans les journaux du système ; à lui seul, il ne révèle ni l’origine de la panne ni une erreur commise par le modèle.
Pour analyser un incident, les équipes examinent notamment les journaux d’exécution, le temps de réponse, la charge des accélérateurs, l’état des services dépendants et les erreurs renvoyées par les interfaces. La surveillance de ces signaux aide à distinguer une difficulté d’inférence — liée au calcul ou à la mémoire — d’un problème d’accès, de réseau ou de disponibilité du service.