Garder de nombreux modèles d’IA domestiques prêts réduit les démarrages à froid, mais transforme la mémoire partagée en engagements persistants liés aux poids, à l’environnement d’exécution, au cache et à l’espace de travail.
Un serveur domestique peut garder séparément des modèles prêts pour le chat, les embeddings, la voix, la vision, la génération d’images, le codage et l’automatisation. Chaque processus prêt semble inactif entre deux requêtes, mais ses poids et son contexte d’exécution restent en mémoire afin que l’appel suivant démarre rapidement. L’empreinte combinée réduit la mémoire disponible pour les longs contextes, les utilisateurs simultanés, les tenseurs temporaires et les services non liés à l’IA. Lorsque la capacité devient insuffisante, le système commence à expulser des modèles, à déporter des données ou à refuser des tâches, transformant une tentative de suppression des démarrages à froid en une nouvelle source d’instabilité de la latence.
Chaque modèle prêt occupe une base mémoire persistante
Un modèle résident conserve ses poids dans la mémoire du GPU, la mémoire unifiée ou la RAM système. Le processus de service peut également conserver des bibliothèques, des contextes d’exécution, des noyaux compilés et des pools d’allocation.
WarmServe considère le préchauffage des modèles comme un problème de placement, car la préparation d’un modèle peut perturber le chemin mémoire et le démarrage d’autres modèles.
L’utilisation du calcul peut être presque nulle alors que la mémoire reste réservée. Un tableau de bord inactif ne signifie donc pas que l’appareil dispose de suffisamment de capacité pour accueillir un autre modèle prêt.
La résidence combinée réduit la marge disponible pour les contextes et la concurrence
Les poids des modèles ne constituent que la base fixe. Les invites actives ont encore besoin d’un cache KV, d’activations et d’espaces de travail temporaires, en plus des modèles déjà prêts en mémoire.
MuxServe regroupe les modèles selon la popularité des modèles et leur comportement en matière de ressources, au lieu de supposer que chaque modèle doit rester entièrement indépendant et résident.
Un serveur capable de conserver trois modèles inactifs peut échouer lorsqu’un utilisateur envoie un long contexte ou que plusieurs utilisateurs deviennent actifs. Une planification sûre de la résidence doit réserver le pic dynamique, et pas seulement faire tenir les fichiers de poids.
Le guide de ZimaSpace consacré à la concurrence pour la mémoire de l’accélérateur explique pourquoi des services distincts peuvent entrer en conflit avant même qu’un processus atteigne sa propre limite configurée.
Des environnements d’exécution distincts dupliquent des états que les modèles pourraient partager
Un conteneur par modèle peut simplifier les mises à niveau et l’isolation des défaillances, mais chaque processus peut charger son propre contexte d’accélérateur, ses bibliothèques de framework, sa réserve d’allocation, ses ressources de tokenisation et ses composants de modèle partagés.
Le service de plusieurs modèles à moindre coût utilise l’allocation dynamique de mémoire afin de réduire le gaspillage lié aux réservations statiques propres à chaque modèle.
Un serveur d’inférence unifié peut réduire la duplication et coordonner la résidence, mais il crée également des compromis en matière de compatibilité et de domaine de défaillance. La limite appropriée dépend des familles de modèles, de la sécurité et de la prise en charge par l’environnement d’exécution.
L’expulsion transforme la pression mémoire en délai lors de la première requête
Lorsqu’un nouveau modèle ou une nouvelle requête nécessite davantage d’espace, l’environnement d’exécution peut décharger un modèle inactif. L’appel suivant de ce modèle doit alors recharger les poids et reconstruire l’état d’exécution.
ZimaSpace décrit le pic de latence qui survient lorsqu’un modèle auparavant prêt n’est plus résident.
Si plusieurs modèles alternent avec une mémoire insuffisante, le serveur peut entrer dans un cycle d’emballement : chaque requête expulse le modèle dont la requête suivante a besoin.
Des périodes de maintien plus longues ne sont pertinentes que lorsque la probabilité de réutilisation est suffisamment élevée pour justifier la mémoire occupée.
Les modèles prêts peuvent interférer avant même toute expulsion
Les processus résidents peuvent conserver des blocs d’allocation fragmentés, consommer de la bande passante mémoire pendant les requêtes simultanées et réduire la capacité de traitement par lots ou de cache KV disponible pour les services actifs.
AlpaServe utilise le multiplexage statistique afin de placer les modèles en fonction d’une demande en rafales, plutôt que de consacrer de la capacité à chaque pic individuel.
Un modèle prêt implique également un coût d’opportunité : la mémoire réservée à un modèle d’image utilisé occasionnellement ne peut pas, au même moment, prendre en charge davantage d’utilisateurs du chat ou un contexte plus long.
La résidence doit suivre la demande et le coût de récupération
Classez les modèles selon la fréquence des requêtes, la sensibilité à la latence, le temps de chargement, l’empreinte mémoire et le mode de repli acceptable. Gardez en mémoire les petits modèles vocaux ou de chat fréquemment utilisés et autorisez le chargement à la demande des modèles rares.
WarmServe utilise un placement tenant compte des expulsions, afin que les décisions de préchauffage prennent en compte les interférences qu’elles créent.
Mesurez les démarrages à froid propres à chaque modèle, le taux d’accès aux modèles prêts, les octets résidents, les pics de mémoire active, le nombre d’expulsions et la fréquence de changement de modèle. Appliquez des délais d’inactivité distincts plutôt qu’une seule valeur globale de maintien en vie.
L’objectif n’est pas de supprimer tous les démarrages à froid. Il s’agit d’obtenir un fonctionnement stable dans lequel les modèles nécessitant une réponse immédiate restent prêts, sans provoquer d’expulsions répétées ni réduire la capacité requise par les charges de travail domestiques actives.
Centre Tech & IA
Plus à lire

Comment un courtier secret fournit-il des identifiants à un agent d’IA sans les exposer dans les prompts ?
Suivez l’identité de charge de travail, les politiques, l’émission de jetons, l’injection des requêtes, la rédaction, l’expiration et la révocation au sein d’une architecture...

Comment un bac à sable d’outils contient-il les effets secondaires des agents d’IA ?
Découvrez comment l’isolation, les contrôles de capacité, l’état jetable, le contrôle des sorties réseau, les quotas et les journaux d’audit limitent les effets secondaires...

Comment le décodage contraint produit-il un JSON valide selon le schéma ?
Comprenez la compilation des schémas, le masquage des jetons, l’état de l’analyseur, les sous-ensembles pris en charge, la latence, la troncature et pourquoi la...

