

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Problèmes liés au déploiement du préremplissage et du décodage désagrégés (DDP)
<a name="sagemaker-hyperpod-model-deployment-ts-dpd"></a>

**Vue d'ensemble :** problèmes courants pouvant survenir lors du déploiement de points de terminaison d'inférence avec le préremplissage et le décodage désagrégés (DDP). Ces problèmes concernent généralement le démarrage du pod, le transfert de cache KV, le comportement de routage ou l'allocation de ressources.

## Problèmes de démarrage du pod
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-pod-startup"></a>

**Problème :** les pods DDP ne démarrent pas ou restent dans un état non prêt.

**Symptômes et résolution :**
+ **Les capsules sont restées en `ContainerCreating` place pendant plus de 10 minutes.** Courez `kubectl describe pod <pod-name>` et cherchez `Failed to pull image` ou`MountVolume.SetUp failed`. Vérifiez que l'image du travailleur existe et que le compartiment Amazon S3 est accessible depuis le cluster.
+ **Les capsules sont bloquées chez 2/3 Ready.** Le programme de travail vLLM est toujours en train de charger le modèle. Llama 3.3 70B prend 5 à 10 minutes à partir d'une extraction à froid sur Amazon S3. Vérifiez la progression :

  ```
  kubectl logs <pod-name> -c <prefill|decode>-<endpoint-name> | grep -i "engine\|loading"
  ```

  Attendez le message du journal indiquant que le moteur est prêt.
+ **Les pods redémarrent avec `EngineDeadError` ou`TimeoutError`.** Cela indique une version d'opérateur antérieure à la version 3.2. Améliorez l'opérateur d'inférence avant de continuer.
+ **Toutes les requêtes HTTP renvoient 503 immédiatement après le déploiement.** Les pods sont toujours en train de charger le modèle. Attendez que le `InferenceEndpointConfig` statut atteigne `DeploymentComplete` :

  ```
  kubectl get inferenceendpointconfig <endpoint-name> -n <namespace> -w
  ```

## Problèmes de transfert du cache KV
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-kv-transfer"></a>

**Problème : le** transfert de cache KV entre les modules de préremplissage et de décodage échoue ou fonctionne mal.

**Symptômes et résolution :**
+ **Les journaux du décodeur s'affichent`Retrieved 0 out of N required tokens`.** Le transfert KV n'a pas eu lieu et le décodeur est revenu au recalcul local. Vérifiez que `pd_role` c'est correct (le préremplisseur doit l'être`sender`, le décodeur doit l'être`receiver`), que les deux pods utilisent la même image de travail et qu'`PYTHONHASHSEED`il est défini `"0"` sur les deux pods.
+ **Les journaux du décodeur indiquent `Failed to allocate memory object, retrying...`** que la mémoire tampon du décodeur est pleine en cas de forte simultanéité. Augmentez `PD_BUFFER_SIZE` (essayez `"17179869184"` pour 16 GiB ou `"34359738368"` 32 GiB) ou échelonnez. `decodingSpec.replicas`
+ **Débit de transfert KV inférieur à 1. GB/s** L'EFA n'est pas utilisé et les transferts reviennent au processeur. Vérifiez que les deux pods sont planifiés sur des EFA-capable nœuds de la même zone de disponibilité, que les nœuds disposent de ressources EFA disponibles (`kubectl describe node <node-name> | grep efa`) et que l'image de travail inclut le fournisseur EFA libfabric.

## Problèmes de routage
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-routing"></a>

**Problème :** les demandes ne sont pas acheminées correctement entre les modules de préremplissage et de décodage.

**Symptômes et résolution :**
+ **Toutes les demandes contournent le préremplisseur (même les demandes longues).** Consultez les journaux du routeur pour connaître les décisions relatives au routage :

  ```
  ROUTER_POD=$(kubectl get pods -n hyperpod-inference-system -o name | grep router | head -1)
  kubectl logs $ROUTER_POD -n hyperpod-inference-system -c router-container --tail=50 \
    | grep "Conditional routing"
  ```

  Vérifiez que la `estimated_tokens` valeur est supérieure à la vôtre`routingThreshold`. Si l'estimation du jeton est inférieure à celle prévue, le tokenizer du routeur compte peut-être différemment. Essayez de la réduire. `routingThreshold`
+ **Répartition inégale de la charge entre les préremplisseuses.** Si vous disposez de plusieurs répliques de préremplissage et que vous constatez que l'une d'entre elles est surchargée alors que les autres sont inactives, passez à la stratégie de routage `roundrobin` pour une distribution uniforme. Vous pouvez également utiliser `kvaware` une distribution sensible au cache qui tient compte de l'état réel de chaque préremplisseur.