Oui, un seul GPU domestique peut prendre en charge simultanément des charges de travail de reconnaissance vocale, de vision et de LLM, à condition de contrôler activement leurs pics combinés de mémoire et de latence.
Imaginez un serveur domestique qui transcrit une commande vocale, analyse une image de caméra et génère une réponse d’assistant local en quelques secondes. Chaque tâche peut fonctionner seule, mais entrer en conflit lorsque les poids des modèles, les activations temporaires, les tenseurs d’image, les tampons audio et le cache clé-valeur d’un LLM occupent simultanément la VRAM. Un partage réussi dépend donc moins de l’utilisation moyenne que de la résidence en mémoire lors des pics, de la planification et des priorités.
Le premier point de contrôle est la résidence combinée en VRAM
Chaque service a besoin des poids du modèle, d’espaces de travail d’exécution et de tenseurs intermédiaires. Un LLM augmente également un cache clé-valeur en fonction du contexte et du nombre de séquences simultanées ; les modèles de vision allouent des lots d’images ; les pipelines vocaux mettent en mémoire tampon l’audio et l’état du décodeur. Additionnez leurs pics observés plutôt que la taille de leurs fichiers de modèle, puis réservez une marge pour le pilote et l’allocateur afin d’éviter les erreurs de mémoire insuffisante.
La gestion de la mémoire GPU devient nécessaire lorsqu’un serveur doit héberger plus de modèles d’inférence que la mémoire de l’appareil ne peut en contenir. La contrainte est simple : la colocalisation n’est facile que lorsque les modèles et leurs ensembles de travail tiennent simultanément en mémoire. Dès que ce n’est plus le cas, le chargement, l’éviction ou le déport vers le CPU ajoutent une latence que l’utilisation moyenne du GPU ne révèle pas.
La quantification peut réduire la taille des poids, et des modèles vocaux ou de vision plus petits peuvent laisser de la place à un LLM. Toutefois, disposer de davantage de VRAM libre ne garantit pas automatiquement une concurrence plus stable. Un long contexte de conversation ou une série d’images haute résolution peut dépasser l’empreinte habituelle. Définissez une enveloppe de pire cas pour chaque service et refusez ou mettez en file les tâches avant que les allocations ne dépassent la limite de sécurité.
Le calcul peut être partagé, mais les charges de travail interfèrent
Lorsque les modèles tiennent en mémoire, les kernels GPU de processus ou de flux distincts peuvent se chevaucher ou s’exécuter à tour de rôle. La parole arrive souvent sous forme de courts segments répétés, la vision peut fonctionner par rafales lors d’événements de mouvement, et la génération LLM lance de nombreuses étapes séquentielles de décodage. Sans coordination, un gros lot de vision peut retarder la transcription audio, tandis qu’un LLM actif monopolise la bande passante mémoire et allonge chaque réponse.
Le partitionnement spatial du GPU peut améliorer l’utilisation tout en respectant les objectifs de latence, et les expérimentations révèlent les interférences lorsque des tâches hétérogènes partagent un même appareil. Un GPU domestique n’offre pas forcément les mêmes contrôles de partitionnement, mais la conclusion reste valable : la concurrence nécessite des limites de ressources ou un ordonnanceur, et pas simplement trois conteneurs indépendants pointant vers le même accélérateur.
L’exécution véritablement simultanée n’est pas toujours le meilleur objectif. Sérialiser une inférence de vision de 100 millisecondes avant une requête LLM en arrière-plan peut offrir de meilleures performances perçues que de laisser les deux tâches se disputer les ressources pendant plusieurs secondes. Le système utile optimise les échéances : les parcours de détection du mot d’activation et d’alerte caméra sont prioritaires, le chat interactif vient ensuite, puis l’indexation par lots ou l’ajout de tags aux photos utilise la capacité restante.
Des profils de latence différents nécessitent des politiques de mise en file différentes
La parole est sensible aux échéances, car les pauses et les retours tardifs donnent une impression de dysfonctionnement. Les alertes visuelles peuvent tolérer un léger délai, mais perdent leur utilité si elles sont mises en file derrière plusieurs minutes de travail. Le chat LLM accepte un flux de jetons plus lent après le début de la réponse au prompt, tandis que la génération de légendes en arrière-plan peut attendre. Une seule file « premier arrivé, premier servi » ignore ces différences et permet à une longue requête de bloquer les tâches urgentes et courtes.
HorizonServe étudie le service de modèles omnidisciplinaires sur un seul GPU avec des objectifs de niveau de service hétérogènes. Il coordonne l’admission et l’allocation des ressources, car les différents parcours de requêtes lient sinon leurs performances. Pour un serveur domestique, une politique légère équivalente peut classer les tâches selon leur échéance, limiter la taille des lots et suspendre ou différer les tâches non interactives pendant les événements vocaux ou de sécurité.
La préemption est imparfaite, car certains environnements d’exécution ne peuvent pas suspendre facilement un modèle au milieu d’un kernel ni libérer seulement une partie de son cache. Le contrôle d’admission est plus simple : vérifiez la mémoire disponible et la profondeur de la file avant de démarrer une tâche volumineuse. Si une tâche urgente arrive, autorisez-la à dépasser les tâches en arrière-plan déjà en file. Si le GPU est déjà engagé dans un pic non interruptible, dégradez le service de manière progressive en utilisant la reconnaissance vocale sur CPU ou en ignorant les images de vision non essentielles.
Un seul GPU atteint ses limites lorsque les pics se chevauchent ou que les modèles sont constamment rechargés
L’architecture échoue lorsque les poids des modèles ne peuvent pas rester en mémoire et que les requêtes alternent fréquemment. Décharger sans cesse un LLM pour traiter la vision, puis le recharger pour le chat, peut consacrer plus de temps au transfert des poids qu’au calcul des réponses. Elle échoue également lorsque chaque charge de travail impose une cible stricte en temps réel, car un GPU grand public ne peut pas garantir l’isolation en cas de concurrence incontrôlée entre plusieurs processus.
La latence bornée et les interférences sont des problèmes explicites de planification dans le service de modèles hétérogènes. Un déploiement domestique doit rester prudent : réservez suffisamment de VRAM au service prioritaire, limitez le contexte et la concurrence du LLM, et planifiez les gros lots de vision en dehors des périodes interactives. Si ces limites empêchent l’usage prévu, un seul GPU n’est pas la bonne frontière de consolidation.
La discussion de ZimaSpace sur l’exécution de Plex et d’une IA locale souligne le même principe d’isolation des charges de travail dans un contexte plus large de serveur domestique. Regrouper les services permet d’économiser du matériel uniquement tant que la concurrence reste prévisible. Un deuxième accélérateur ou une solution de repli sur CPU devient justifié lorsque les alertes manquées, les coupures audio ou les réponses de chat mises en file comptent davantage que le taux d’utilisation.
Validez la conception avec un test de collision des pics
Mesurez d’abord chaque service seul : VRAM au repos et en période de pointe, latence p95, débit, utilisation du CPU et consommation électrique. Rejouez ensuite un scénario de collision comprenant une transcription en direct, une rafale d’images de caméra et un prompt LLM à long contexte. Gardez les modèles, la quantification, les tailles de lots et les échantillons d’entrée constants. Observez les pics de mémoire, le délai d’attente en file, la latence du premier jeton, les images perdues et le facteur temps réel audio.
Le service d’inférence concurrent nécessite des tests reproductibles avec une charge croissante. Les systèmes d’IA domestiques mixtes exigent la même rigueur, même si les modèles diffèrent. Le nombre moyen de jetons par seconde peut sembler satisfaisant alors que le délai p95 de la parole ou la profondeur de la file caméra devient inacceptable ; enregistrez donc la latence de queue de chaque service plutôt qu’un seul indicateur global d’utilisation.
N’acceptez le partage d’un seul GPU que si le pic combiné reste inférieur à 85 % de la VRAM, si la parole et la vision urgentes respectent leurs échéances, si le LLM évite les nouvelles tentatives dues à une mémoire insuffisante et si les files d’arrière-plan se vident après la rafale. En cas de problème de mémoire, réduisez ou déportez un modèle ; en cas de problème de latence malgré une mémoire disponible, modifiez la planification. N’ajoutez du matériel que lorsque ces deux mesures ne permettent toujours pas d’atteindre les objectifs de service mesurés.
| Résultat du test | Interprétation | Action |
|---|---|---|
| VRAM supérieure à 85 % | Risque lié à la résidence en mémoire | Quantifier, déporter ou séparer |
| VRAM libre, mais p95 élevé | Interférence de calcul | Prioriser et sérialiser |
| Rechargements fréquents des modèles | Effet de pagination des poids | Conserver moins de modèles en mémoire |
| Seules les tâches par lots souffrent | La politique fonctionne | Les exécuter en dehors des heures de pointe |
Centre Tech & IA
Plus à lire

Pourquoi Home Assistant fonctionne-t-il différemment sur le réseau local et à distance ?
Les sessions Home Assistant en réseau local et à distance utilisent des chemins réseau différents ; la latence à distance ajoute le DNS, le...

Home Assistant fonctionne-t-il de manière fiable derrière un CGNAT ou un double NAT ?
Le CGNAT et le double NAT n’affectent généralement pas le contrôle local de Home Assistant ; ils modifient principalement la façon dont les clients...

Comment la latence du réseau affecte-t-elle Home Assistant pendant les pannes d’Internet ?
La perte de connexion Internet et la latence du réseau sont deux problèmes distincts : les chemins locaux entre les appareils peuvent rester rapides...

