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)
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
Problema: los pods de DPD no se inician o no están preparados.
Síntomas y resolución:
-
Las cápsulas se quedaron pegadas
ContainerCreatingdurante más de 10 minutos. Correkubectl describe pod <pod-name>y buscaFailed to pull imageoMountVolume.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
EngineDeadErroroTimeoutError. 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
InferenceEndpointConfigestado llegue aDeploymentComplete:kubectl get inferenceendpointconfig <endpoint-name> -n <namespace> -w
Problemas con la transferencia de caché KV
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 tokenslos registros del decodificador. No se produjo la transferencia de KV y el decodificador volvió a realizar un nuevo cálculo local. Compruebe quepd_rolees correcta (el prerelleno debe serlo y el decodificador debe serloreceiver)sender, que ambos pods utilizan la misma imagen de trabajo y quePYTHONHASHSEEDestá 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. AumentePD_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
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_tokensvalor supere el suyoroutingThreshold. 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.
roundrobinTambién puede utilizarlakvawarepara una distribución basada en la memoria caché que tenga en cuenta el estado real de cada relleno previo.