

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Probleme bei der Bereitstellung von Disaggregated Prefill and Decode (DPD)
<a name="sagemaker-hyperpod-model-deployment-ts-dpd"></a>

**Überblick:** Häufige Probleme, die bei der Bereitstellung von Inferenzendpunkten mit Disaggregated Prefill and Decode (DPD) auftreten können. Diese Probleme betreffen in der Regel den Pod-Start, die KV-Cache-Übertragung, das Routing-Verhalten oder die Ressourcenzuweisung.

## Probleme beim Starten des Pods
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-pod-startup"></a>

**Problem:** DPD-Pods können nicht gestartet werden oder befinden sich in einem Zustand, in dem sie nicht bereit sind.

**Symptome und Lösung:**
+ **Die Kapseln blieben `ContainerCreating` länger als 10 Minuten drin.** Lauf `kubectl describe pod <pod-name>` und suche nach `Failed to pull image` oder`MountVolume.SetUp failed`. Stellen Sie sicher, dass das Worker-Image vorhanden ist und der Amazon S3 S3-Bucket vom Cluster aus zugänglich ist.
+ **Die Pods bleiben bei 2/3 Bereit hängen.** Der vLLM-Worker lädt das Modell immer noch. Llama 3.3 70B benötigt nach einem kalten Amazon S3 S3-Abruf 5—10 Minuten. Überprüfen Sie den Fortschritt:

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

  Warten Sie auf die Protokollmeldung, die angibt, dass der Motor bereit ist.
+ **Pods werden mit `EngineDeadError` oder neu gestartet`TimeoutError`.** Dies weist auf eine ältere Version des Operators als Version 3.2 hin. Aktualisieren Sie den Inferenzoperator, bevor Sie fortfahren.
+ **Alle HTTP-Anfragen geben unmittelbar nach der Bereitstellung 503 zurück.** Pods laden das Modell immer noch. Warten Sie, bis der `InferenceEndpointConfig` Status den folgenden Wert erreicht hat`DeploymentComplete`:

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

## Probleme mit der KV-Cache-Übertragung
<a name="sagemaker-hyperpod-model-deployment-ts-dpd-kv-transfer"></a>

**Problem:** Die KV-Cache-Übertragung zwischen Prefill- und Decode-Pods schlägt fehl oder funktioniert schlecht.

**Symptome und Lösung:**
+ **Decoder-Protokolle werden angezeigt`Retrieved 0 out of N required tokens`.** Die KV-Übertragung fand nicht statt und der Decoder hat auf eine lokale Neuberechnung zurückgegriffen. Stellen Sie sicher, dass das korrekt `pd_role` ist (Prefiller muss sein`sender`, Decoder muss es sein`receiver`), beide Pods dasselbe Worker-Image verwenden und auf beiden Pods auf auf eingestellt `PYTHONHASHSEED` ist. `"0"`
+ In den **Decoderprotokollen wird angezeigt**, dass `Failed to allocate memory object, retrying...` der Decoder-PD-Puffer bei hoher Parallelität voll ist. Entweder erhöhen `PD_BUFFER_SIZE` (versuchen Sie es `"17179869184"` mit 16 GiB oder `"34359738368"` mit 32 GiB) oder skalieren Sie`decodingSpec.replicas`.
+ **KV-Übertragungsdurchsatz unter GB/s 1.** EFA wird nicht verwendet und die Übertragungen werden auf die CPU zurückgeleitet. Stellen Sie sicher, dass beide Pods auf EFA-capable Knoten in derselben Availability Zone geplant sind, dass für Knoten EFA-Ressourcen verfügbar sind (`kubectl describe node <node-name> | grep efa`) und dass das Worker-Image den EFA-Libfabric-Anbieter enthält.

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

**Problem:** Anfragen werden nicht korrekt zwischen Pods zum Vorfüllen und Entschlüsseln weitergeleitet.

**Symptome und Lösung:**
+ **Alle Anfragen umgehen den Prefiller (auch lange Eingabeaufforderungen).** Suchen Sie in den Router-Protokollen nach Routing-Entscheidungen:

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

  Stellen Sie sicher, dass der `estimated_tokens` Wert Ihren übersteigt`routingThreshold`. Wenn die Token-Schätzung niedriger als erwartet ist, zählt der Tokenizer des Routers möglicherweise anders. Versuchen Sie, sie zu senken. `routingThreshold`
+ **Ungleichmäßige Lastverteilung zwischen den Vorfüllern.** Wenn Sie über mehrere Prefiller-Replikate verfügen und feststellen, dass eines davon überlastet ist, während andere inaktiv sind, stellen Sie die Routing-Strategie auf eine gleichmäßige Verteilung um. `roundrobin` Sie können es auch `kvaware` für eine Verteilung mit Cache-Unterstützung verwenden, bei der der tatsächliche Status der einzelnen Prefiller berücksichtigt wird.