

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Problemas de implementación desagregados de prellenado y decodificación (DPD)
<a name="sagemaker-hyperpod-model-deployment-ts-dpd"></a>

**Descripción general:** problemas comunes que pueden surgir al implementar puntos finales de inferencia con el prellenado y la decodificación desagregados (DPD). Estos problemas suelen estar relacionados con el arranque del pod, la transferencia de caché en KV, el comportamiento del enrutamiento o la asignación de recursos.

## Problemas al iniciar el pod
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-pod-startup"></a>

**Problema:** los pods de DPD no se inician o no están preparados.

**Síntomas y resolución:**
+ **Las cápsulas se quedaron pegadas `ContainerCreating` durante más de 10 minutos.** Corre `kubectl describe pod <pod-name>` y busca `Failed to pull image` o`MountVolume.SetUp failed`. Compruebe que la imagen del trabajador existe y que se puede acceder al bucket de Amazon S3 desde el clúster.
+ **Los pods están bloqueados en 2/3 Ready.** El dispositivo de trabajo de vLLM sigue cargando el modelo. Llama 3.3 70B tarda entre 5 y 10 minutos en una captura fría de Amazon S3. Compruebe el progreso:

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

  Espere a que aparezca el mensaje de registro que indica que el motor está listo.
+ **Los pods se reinician con `EngineDeadError` o`TimeoutError`.** Esto indica una versión de operador anterior a la v3.2. Actualice el operador de inferencia antes de continuar.
+ **Todas las solicitudes HTTP devuelven 503 inmediatamente después de la implementación.** Los pods siguen cargando el modelo. Espera a que el `InferenceEndpointConfig` estado llegue a`DeploymentComplete`:

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

## Problemas con la transferencia de caché KV
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-kv-transfer"></a>

**Problema:** la transferencia de caché en KV entre los módulos de prellenado y decodificación falla o tiene un rendimiento deficiente.

**Síntomas y resolución:**
+ **Se muestran `Retrieved 0 out of N required tokens` los registros del decodificador.** No se produjo la transferencia de KV y el decodificador volvió a realizar un nuevo cálculo local. Compruebe que `pd_role` es correcta (el prerelleno debe serlo y el decodificador debe serlo`receiver`)`sender`, que ambos pods utilizan la misma imagen de trabajo y que `PYTHONHASHSEED` está configurada en ambos pods. `"0"`
+ **Los registros del decodificador muestran** que el búfer PD `Failed to allocate memory object, retrying...` del decodificador está lleno en condiciones de alta concurrencia. Aumente `PD_BUFFER_SIZE` (pruebe `"17179869184"` con 16 GiB o `"34359738368"` 32 GiB) o escale. `decodingSpec.replicas`
+ **El rendimiento de transferencia en kV es inferior a 1. GB/s** El EFA no se utiliza y las transferencias recaen en la CPU. Compruebe que ambos pods estén programados en EFA-capable nodos de la misma zona de disponibilidad, que los nodos tengan recursos de EFA disponibles (`kubectl describe node <node-name> | grep efa`) y que la imagen del trabajador incluya el proveedor libfabric de EFA.

## Problemas de enrutamiento
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-routing"></a>

**Problema:** las solicitudes no se envían correctamente entre los módulos de prellenado y decodificación.

**Síntomas y resolución:**
+ **Todas las solicitudes omiten el llenado previo (incluso las más largas).** Revise los registros del router para ver las decisiones de enrutamiento:

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

  Verifique que el `estimated_tokens` valor supere el suyo`routingThreshold`. Si la estimación del token es inferior a la esperada, es posible que el tokenizador del router esté contando de forma diferente. Intente reducirla. `routingThreshold`
+ **Distribución desigual de la carga entre las prellenadoras.** Si tiene varias réplicas de prellenado y observa que una está sobrecargada mientras que otras están inactivas, cambie la estrategia de enrutamiento a una distribución uniforme. `roundrobin` También puede utilizarla `kvaware` para una distribución basada en la memoria caché que tenga en cuenta el estado real de cada relleno previo.