Guide de chargement des modèles#

Ce document vise à fournir des instructions fonctionnelles pour le chargement du modèle.

copie#

Une copie est utilisée pour spécifier le nombre d’instances de chargement du modèle. Par exemple, si vous avez deux GPU et que chaque carte peut accueillir une copie du modèle, vous pouvez définir le nombre de copies sur 2. Ainsi, deux instances identiques du modèle seront réparties sur ces deux GPU. Xinference équilibrera automatiquement la charge pour garantir que les requêtes soient uniformément réparties entre les cartes. L’utilisateur voit toujours un seul modèle, ce qui améliore considérablement l’utilisation globale des ressources.

Ancienne version avec déploiement multi-instances :

Lorsque vous disposez de plusieurs cartes GPU, chaque carte peut héberger une instance de modèle. Dans ce cas, le nombre d’instances peut être défini égal au nombre de GPU. Par exemple :

  • 2 GPU, 2 instances : chaque GPU exécute une instance de modèle.

  • 4 GPU, 4 instances : chaque GPU exécute une instance de modèle.

Ajouté dans la version v1.15.0.

Introduire une nouvelle variable d’environnement :

XINFERENCE_ALLOW_MULTI_REPLICA_PER_GPU

Contrôle si la fonction de réplication multi-copies sur un seul GPU est activée, valeur par défaut : 1

Nouvelle fonctionnalité : Déploiement intelligent de réplicas

  1. Réplication multi-copies sur un seul GPU

Nouvelle prise en charge : même avec un seul GPU, il est désormais possible d’exécuter plusieurs copies du modèle.

  • Scénario : Vous possédez 1 GPU avec une mémoire vidéo suffisante.

  • Configuration : nombre de répliques = 3, nombre de GPU = 1

  • Résultat : 3 instances de modèle, exécutées sur le même GPU, partagent les ressources GPU.

  1. Allocation GPU mixte

Répartition intelligente : le nombre de répliques peut être différent du nombre de GPU, le système effectuera une répartition intelligente.

  • Scénario : Vous disposez de 2 GPU et avez besoin de 3 répliques.

  • Configuration : nombre de réplicas = 3, nombre de GPU = 2

  • Résultat : 2 instances en cours d’exécution sur GPU0, 1 instance en cours d’exécution sur GPU1

Stratégie de répartition mixte#

La stratégie actuelle est priorité aux inactifs : le planificateur essaie toujours d’assigner les répliques au GPU le moins occupé. Utilisez le paramètre XINFERENCE_ENV_LAUNCH_STRATEGY pour sélectionner la stratégie de lancement.

Définir la variable d’environnement#

Ajouté dans la version v1.8.1.

Parfois, nous souhaitons spécifier des variables d’environnement pour un modèle particulier en cours d’exécution. Depuis la v1.8.1, Xinference offre la fonctionnalité de configuration individuelle des variables d’environnement, sans avoir à les définir avant de démarrer Xinference.

Pour l’interface utilisateur web.

actor

Lors de l’utilisation en ligne de commande, utilisez --env pour spécifier les variables d’environnement.

Exemple d’utilisation :

xinference launch xxx --env A 0 --env B 1

À titre d’exemple avec vLLM, il existe deux versions, V1 et V0. Par défaut, la version à utiliser est déterminée automatiquement. Si vous souhaitez forcer l’utilisation de la version V0 lors du chargement du modèle en définissant VLLM_USE_V1=0, vous pouvez spécifier cette variable d’environnement.

Espace virtuel du modèle de configuration#

Ajouté dans la version v1.8.1.

Pour cette partie, veuillez vous référer à interrupteur espace virtuel et dépendances personnalisées.

Traitement par lots / traitement par lots continu#

Xinference prend en charge le traitement par lots pour améliorer le débit. Pour les grands modèles de langage basés sur le moteur transformers, la fonctionnalité de traitement par lots continu peut être activée et configurée via des variables d’environnement au démarrage.

Paramètres clés :

  • XINFERENCE_BATCH_SIZE et XINFERENCE_BATCH_INTERVAL sont utilisés pour contrôler le comportement de traitement par lots standard.

  • XINFERENCE_TEXT_TO_IMAGE_BATCHING_SIZE (modèle texte vers image, lorsque pris en charge).

Exemple (modèle de langage volumineux, Transformers) :

XINFERENCE_BATCH_SIZE=32 XINFERENCE_BATCH_INTERVAL=0.003 xinference-local --log-level debug
xinference launch -e <endpoint> --model-engine transformers -n qwen1.5-chat -s 4 -f pytorch -q none

Exemple (Texte vers image) :

XINFERENCE_TEXT_TO_IMAGE_BATCHING_SIZE=1024*1024 xinference-local --log-level debug

Pour des informations détaillées sur les comportements, les modèles pris en charge et l’annulation des requêtes, veuillez consulter traitement par lots continu.

Mode de pensée#

Certains modèles de raisonnement hybrides (comme Qwen3) prennent en charge un mode de pensée optionnel. Vous pouvez activer cette fonctionnalité au démarrage via le paramètre --enable-thinking.

Exemple d’utilisation :

xinference launch -n qwen3-xxx --model-engine vllm --enable-thinking