Dela via


Felsökningsguide för modellservering

Den här artikeln visar felsökningssteg för vanliga problem som användare kan stöta på när de arbetar med modell som betjänar slutpunkter. Vanliga problem kan vara fel som användare stöter på när slutpunkten inte initierar eller startar, byggfel relaterade till containern eller problem under åtgärden eller körningen av modellen på slutpunkten.

Åtkomst till och granskningsloggar

Databricks rekommenderar att du granskar byggloggar för felsökning och felsökning av fel i din modell som hanterar arbetsbelastningar. Mer information om loggar och hur du visar dem finns i Övervaka modellkvalitet och slutpunktshälsa .

Kontrollera händelseloggarna för modellen i arbetsytans användargränssnitt och sök efter ett meddelande om att containern har skapats. Om du inte ser något byggmeddelande efter en timme kontaktar du Databricks-supporten för hjälp.

Om bygget lyckas, men du stöter på andra fel, kan du läsa Felsökning efter att containerversionen har slutförts. Om bygget misslyckas kan du läsa Felsöka efter containergenereringsfel.

Installerade bibliotekspaketversioner

I byggloggarna kan du bekräfta de paketversioner som är installerade.

  • För MLflow-versioner använder modellservern den senaste versionen om du inte har någon angiven version.
  • För anpassad GPU-servering installerar Model Serving de rekommenderade versionerna av cuda och cuDNN enligt offentlig Dokumentation om PyTorch och Tensorflow.

Felsökning efter att containerversionen har slutförts

Även om containern har skapats kan det uppstå problem när du kör modellen eller under själva slutpunktens drift. Följande underavsnitt beskriver vanliga problem och hur du felsöker och felsöker

Beroende saknas

Du kan få ett fel som An error occurred while loading the model. No module named <module-name>.. Det här felet kan tyda på att ett beroende saknas i containern. Kontrollera att du har angett alla beroenden som ska ingå i containerversionen. Var särskilt uppmärksam på anpassade bibliotek och se till att .whl filerna ingår som artefakter.

Loopar för tjänstloggar

Om containerversionen misslyckas kontrollerar du tjänstloggarna för att se om de loopas när slutpunkten försöker läsa in modellen. Om du ser det här beteendet kan du prova följande steg:

  1. Öppna en notebook-fil och anslut till ett All-Purpose-kluster som använder en Databricks Runtime-version, inte Databricks Runtime för Machine Learning.
  2. Läs in modellen med MLflow och försök felsöka därifrån.

Du kan också läsa in modellen lokalt på datorn och felsöka därifrån. Läs in din modell lokalt med hjälp av följande:

import os
import mlflow

os.environ["MLFLOW_TRACKING_URI"] = "databricks://PROFILE"

ARTIFACT_URI = "model_uri"
if '.' in ARTIFACT_URI:
    mlflow.set_registry_uri('databricks-uc')
local_path = mlflow.artifacts.download_artifacts(ARTIFACT_URI)
print(local_path)

conda env create -f local_path/artifact_path/conda.yaml
conda activate mlflow-env

mlflow.pyfunc.load_model(local_path/artifact_path)

Modellen misslyckas när begäranden skickas till slutpunkten

Du kan få ett fel som Encountered an unexpected error while evaluating the model. Verify that the input is compatible with the model for inference. när predict() anropas på din modell.

Det finns ett kodproblem i predict() funktionen. Databricks rekommenderar att du läser in modellen från MLflow i en notebook-fil och anropar den. När du gör det visas problemen i predict() funktionen, och du kan se var felet inträffar i metoden.

Arbetsytan överskrider etablerad samtidighet

Du kan få ett Workspace exceeded provisioned concurrency quota fel.

Du kan öka samtidigheten beroende på regionens tillgänglighet. Kontakta ditt Databricks-kontoteam och ange ditt arbetsyte-ID för att begära en samtidighetsökning.

Felsökning efter fel vid containerbygge

Det här avsnittet beskriver problem som kan uppstå när bygget misslyckas.

OSError: [Errno 28] No space left on device

Felet No space left kan bero på att för många stora artefakter loggas tillsammans med modellen i onödan. Kontrollera i MLflow att onödiga artefakter inte loggas tillsammans med modellen och försök distribuera om det nedbantade paketet.

Azure Firewall-problem med serveringsmodeller från Unity Catalog

Du kan se ett fel som Build could not start due to an internal error. If you are serving a model from UC and Azure Firewall is enabled, this is not supported by default..

Kontakta ditt Databricks-kontoteam för att lösa problemet.

Byggfel på grund av bristande GPU-tillgänglighet

Du kan se ett fel som Build could not start due to an internal error - please contact your Databricks representative..

Kontakta ditt Databricks-kontoteam för att lösa problemet.