

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 de déploiement du préremplissage et du décodage désagrégés (DPR)
<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 à l'aide du préremplissage et du 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 gousses 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 worker existe et que le compartiment Amazon S3 est accessible depuis le cluster.
+ **Des capsules sont bloquées à 2/3 Ready. ** Le worker 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 de l'opérateur antérieure à la v3.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 soit atteint `DeploymentComplete` :

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

## Problèmes de transfert de 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 le paramètre `pd_role` 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 `PYTHONHASHSEED` qu'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 lorsque la simultanéité est élevée. Augmentez `PD_BUFFER_SIZE` (essayez `"17179869184"` pour 16 GiB ou `"34359738368"` 32 GiB) ou augmentez. `decodingSpec.replicas`
+ **Débit de transfert KV inférieur à 1 GB/s. ** L'EFA n'est pas utilisé et les transferts sont transférés vers le processeur. Vérifiez que les deux pods sont planifiés sur EFA-capable des nœuds de la même zone de disponibilité, que les nœuds disposent de ressources EFA (`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 ** requêtes 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 longues invites). ** Consultez les journaux du routeur pour connaître les décisions de 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 à votre`routingThreshold`. Si l'estimation du jeton est inférieure à celle attendue, le tokenizer du routeur compte peut-être différemment. Essayez de le baisser. `routingThreshold`
+ **Répartition inégale de la charge entre les préremplisseurs. ** Si vous avez plusieurs répliques de préremplisseur et que vous constatez que l'une 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 tenant compte du cache qui tient compte de l'état réel de chaque préremplisseur.