P

Model Serving : Définition et Exemples

Le model serving désigne le processus de déploiement et de mise à disposition d'un modèle d'intelligence artificielle entraîné pour qu'il puisse recevoir des requêtes et retourner des prédictions en temps réel ou par lots.

Définition complète

Le model serving est l'étape qui transforme un modèle d'IA entraîné en un service opérationnel, capable de répondre à des requêtes de production. Concrètement, il s'agit de charger le modèle en mémoire, d'exposer une interface (généralement une API REST ou gRPC) et de gérer l'infrastructure nécessaire pour traiter les demandes d'inférence de manière fiable et performante.

Cette étape est souvent considérée comme le pont entre la phase de recherche et la mise en production. Un modèle peut obtenir d'excellents résultats en laboratoire, mais sans une infrastructure de serving adaptée, il ne peut pas être utilisé par des applications réelles. Le model serving englobe donc des problématiques de latence, de débit, de mise à l'échelle automatique et de gestion des versions du modèle.

Les solutions de model serving vont des frameworks open source comme TensorFlow Serving, TorchServe ou Triton Inference Server, aux plateformes managées proposées par les fournisseurs cloud (SageMaker, Vertex AI, Azure ML). Le choix dépend du volume de requêtes, des contraintes de latence, du type de modèle et du budget disponible.

Dans le contexte des grands modèles de langage (LLM), le model serving présente des défis spécifiques liés à la taille des modèles, à la gestion de la mémoire GPU et aux techniques d'optimisation comme la quantification, le batching continu ou le PagedAttention. Ces optimisations permettent de servir des modèles de plusieurs milliards de paramètres à des coûts raisonnables.

Étymologie

Le terme combine "model" (modèle d'IA) et "serving" (servir, au sens informatique de fournir un service). L'analogie vient du web serving, où un serveur "sert" des pages web aux clients. De la même manière, le model serving "sert" des prédictions aux applications qui en font la demande.

Exemples concrets

Déploiement d'un modèle de classification d'images pour une application mobile

Conçois une architecture de model serving pour un modèle de classification d'images ResNet-50 qui doit traiter 500 requêtes par seconde avec une latence inférieure à 100 ms. Quelles technologies recommandes-tu ?

Optimisation du coût de serving d'un LLM en production

Mon API de serving d'un modèle LLM 7B coûte trop cher en GPU. Quelles techniques d'optimisation (quantification, batching, mise en cache KV) puis-je appliquer pour réduire les coûts tout en maintenant la qualité des réponses ?

Mise en place d'un A/B test entre deux versions d'un modèle

Explique comment configurer un système de model serving qui route 80 % du trafic vers le modèle v2 et 20 % vers le modèle v3, avec collecte de métriques pour comparer les performances.

Usage pratique

En prompt engineering, comprendre le model serving permet de mieux adapter ses prompts aux contraintes de l'infrastructure sous-jacente. Par exemple, connaître les limites de tokens ou les mécanismes de batching aide à structurer des prompts plus efficaces. Cela permet aussi de dialoguer avec les équipes d'infrastructure pour optimiser la latence et le coût des appels à l'API.

Concepts liés

InférenceMLOpsDéploiement de modèlesAPI d'IA

FAQ

Quelle est la différence entre model serving et model training ?
Le training (entraînement) consiste à créer le modèle en lui faisant apprendre à partir de données. Le serving consiste à déployer ce modèle entraîné pour qu'il puisse répondre à de nouvelles requêtes en production. Ce sont deux phases distinctes du cycle de vie d'un modèle, avec des besoins en infrastructure très différents.
Faut-il obligatoirement un GPU pour le model serving ?
Non, pas nécessairement. Les modèles plus légers (classification, régression, petits réseaux) peuvent être servis efficacement sur CPU. En revanche, les grands modèles de langage et les modèles de vision complexes nécessitent généralement des GPU ou des accélérateurs spécialisés (TPU) pour atteindre des latences acceptables en production.
Comment gérer plusieurs versions d'un modèle en production ?
La plupart des plateformes de model serving supportent le versionnement natif. On peut déployer plusieurs versions simultanément et utiliser des stratégies de routage (canary deployment, A/B testing, shadow mode) pour basculer progressivement du trafic vers une nouvelle version tout en surveillant les métriques de qualité et de performance.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.