As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Problemas de implantação de pré-preenchimento e decodificação desagregados (DPD)
Visão geral: problemas comuns que podem ocorrer ao implantar endpoints de inferência com pré-preenchimento e decodificação desagregados (DPD). Esses problemas geralmente envolvem inicialização do pod, transferência de cache KV, comportamento de roteamento ou alocação de recursos.
Problemas de inicialização do pod
Problema: os pods do DPD falham ao iniciar ou permanecem em um estado não pronto.
Sintomas e resolução:
-
Os pods ficaram presos
ContainerCreatingpor mais de 10 minutos. Corrakubectl describe pod <pod-name>e procureFailed to pull imageouMountVolume.SetUp failed. Verifique se a imagem do trabalhador existe e se o bucket do Amazon S3 está acessível a partir do cluster. -
Os pods estão presos em 2/3 Ready. O funcionário do vLLM ainda está carregando o modelo. O Llama 3.3 70B leva de 5 a 10 minutos a partir de uma busca fria do Amazon S3. Verifique o progresso:
kubectl logs <pod-name> -c <prefill|decode>-<endpoint-name> | grep -i "engine\|loading"Aguarde a mensagem de registro indicando que o motor está pronto.
-
Os pods reiniciam com
EngineDeadErrorouTimeoutError. Isso indica uma versão do operador anterior à v3.2. Atualize o operador de inferência antes de continuar. -
Todas as solicitações HTTP retornam 503 imediatamente após a implantação. Os pods ainda estão carregando o modelo. Aguarde até que o
InferenceEndpointConfigstatus chegue aDeploymentComplete:kubectl get inferenceendpointconfig <endpoint-name> -n <namespace> -w
Problemas de transferência de cache KV
Problema: a transferência de cache KV entre os pods de pré-preenchimento e decodificação falha ou tem um desempenho insatisfatório.
Sintomas e resolução:
-
Os registros do decodificador são exibidos
Retrieved 0 out of N required tokens. A transferência de KV não ocorreu e o decodificador voltou ao recálculo local. Verifique sepd_roleestá correto (o pré-preenchedor deve estarsender, o decodificador deve estarreceiver), se os dois pods usam a mesma imagem de trabalho ePYTHONHASHSEEDse estão definidos como nos dois pods."0" -
Os registros do decodificador mostram
Failed to allocate memory object, retrying...que o buffer PD do decodificador está cheio em alta simultaneidade. AumentePD_BUFFER_SIZE("17179869184"experimente 16 GiB ou"34359738368"32 GiB) ou escale.decodingSpec.replicas -
Taxa de transferência de KV abaixo de 1. GB/s O EFA não está sendo usado e as transferências estão voltando para a CPU. Verifique se os dois pods estão programados em EFA-capable nós na mesma zona de disponibilidade, se os nós têm recursos de EFA disponíveis (
kubectl describe node <node-name> | grep efa) e se a imagem de trabalho inclui o provedor libfabric do EFA.
Problemas de roteamento
Problema: as solicitações não estão sendo roteadas corretamente entre os pods de pré-preenchimento e decodificação.
Sintomas e resolução:
-
Todas as solicitações ignoram o pré-preenchedor (mesmo solicitações longas). Verifique os registros do roteador para decisões de roteamento:
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 se o
estimated_tokensvalor excede o seuroutingThreshold. Se a estimativa do token for menor do que a esperada, o tokenizador do roteador pode estar contando de forma diferente — tente diminuir.routingThreshold -
Distribuição desigual da carga entre os pré-enchedores. Se você tiver várias réplicas de pré-preenchimento e observar que uma está sobrecarregada enquanto outras estão ociosas, mude a estratégia de roteamento para uma distribuição uniforme.
roundrobinComo alternativa, usekvawarepara distribuição com reconhecimento de cache que contabilize o estado real de cada pré-preenchedor.