

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Problemi di distribuzione di Disaggregated Prefill and Decode (DPD)
<a name="sagemaker-hyperpod-model-deployment-ts-dpd"></a>

**Panoramica: problemi ** comuni che possono verificarsi quando si implementano endpoint di inferenza con Disaggregated Prefill and Decode (DPD). Questi problemi riguardano in genere l'avvio del pod, il trasferimento della cache KV, il comportamento di routing o l'allocazione delle risorse.

## Problemi di avvio del pod
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-pod-startup"></a>

**Problema: i pod ** DPD non si avviano o rimangono in uno stato non pronto.

**Sintomi e risoluzione: **
+ **Le capsule sono rimaste bloccate `ContainerCreating` per più di 10 minuti. ** Corri `kubectl describe pod <pod-name>` e cerca `Failed to pull image` o`MountVolume.SetUp failed`. Verifica che l'immagine di lavoro esista e che il bucket Amazon S3 sia accessibile dal cluster.
+ **Pod bloccati su Ready. 2/3 ** Il worker vLLM sta ancora caricando il modello. Llama 3.3 70B richiede 5-10 minuti da un recupero a freddo di Amazon S3. Controlla i progressi:

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

  Attendi il messaggio di registro che indica che il motore è pronto.
+ **I pod si riavviano con `EngineDeadError` o`TimeoutError`. ** Ciò indica una versione dell'operatore precedente alla v3.2. Aggiorna l'operatore di inferenza prima di continuare.
+ **Tutte le richieste HTTP restituiscono 503 subito dopo la distribuzione. ** I pod stanno ancora caricando il modello. Attendi che lo `InferenceEndpointConfig` stato `DeploymentComplete` raggiunga:

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

## Problemi con il trasferimento della cache KV
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-kv-transfer"></a>

**Problema: il trasferimento della cache ** KV tra i pod di precompilazione e decodifica non riesce o funziona male.

**Sintomi e risoluzione: **
+ **Vengono visualizzati `Retrieved 0 out of N required tokens` i registri del decodificatore. ** Il trasferimento KV non è avvenuto e il decoder è tornato al ricalcolo locale. Verifica che `pd_role` sia corretto (il precompilatore deve essere`sender`, il decoder deve essere`receiver`), entrambi i pod utilizzano la stessa immagine di lavoro e che sia impostato su entrambi i pod. `PYTHONHASHSEED` `"0"`
+ **I registri del decodificatore mostrano che il buffer PD `Failed to allocate memory object, retrying...` ** del decodificatore è pieno in condizioni di elevata concorrenza. O aumenta `PD_BUFFER_SIZE` (prova `"17179869184"` per 16 GiB o `"34359738368"` per 32 GiB) o ridimensiona. `decodingSpec.replicas`
+ **Velocità di trasferimento KV inferiore a 1. GB/s ** L'EFA non viene utilizzato e i trasferimenti ricadono sulla CPU. Verifica che entrambi i pod siano pianificati su EFA-capable nodi nella stessa zona di disponibilità, che i nodi abbiano risorse EFA disponibili (`kubectl describe node <node-name> | grep efa`) e che l'immagine di lavoro includa il provider EFA libfabric.

## Problemi di routing
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-routing"></a>

**Problema: ** le richieste non vengono indirizzate correttamente tra i pod di precompilazione e decodifica.

**Sintomi e risoluzione: **
+ **Tutte le richieste ignorano il precompilatore (anche i prompt lunghi). ** Controlla i log del router per le decisioni di routing:

  ```
  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"
  ```

  Verifica che il `estimated_tokens` valore superi il tuo. `routingThreshold` Se la stima del token è inferiore al previsto, il tokenizer del router potrebbe contare in modo diverso: prova a diminuire. `routingThreshold`
+ **Distribuzione non uniforme del carico tra i prefiller. ** Se disponi di più repliche precompilate e osservi che una è sovraccaricata mentre altre sono inattive, passa alla strategia di routing per una distribuzione uniforme. `roundrobin` In alternativa, utilizzate una distribuzione con `kvaware` riconoscimento della cache che tiene conto dello stato effettivo di ogni precompilatore.