Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du ser till att modellens fil- och artefaktberoenden är tillgängliga på dina Distribuera modeller med hjälp av Mosaic AI Model Serving-slutpunkten .
Krav
MLflow 1.29 och senare
Paketera artefakter med modeller
När din modell kräver filer eller artefakter under slutsatsdragningen kan du paketera dem i modellartefakten när du loggar modellen.
Om du arbetar med Notebook-filer i Azure Databricks är det vanligt att dessa filer finns i Unity Catalog-volymer. Modeller är också ibland konfigurerade för att ladda ned artefakter från Internet (till exempel HuggingFace Tokenizers). Realtidsarbetsbelastningar i stor skala presterar bäst när alla nödvändiga beroenden registreras statiskt vid distributionen. Därför kräver Model Serving att artefakter från Unity Catalog-volymer paketeras i själva modellartefakten med hjälp av MLflow-gränssnitt. Nätverksartefakter som läses in med modellen ska paketeras med modellen när det är möjligt.
Med MLflow-kommandot log_model() kan du logga en modell och dess beroende artefakter med parametern artifacts
.
mlflow.pyfunc.log_model(
...
artifacts={'model-weights': "/Volumes/catalog/schema/volume/path/to/file", "tokenizer_cache": "./tokenizer_cache"},
...
)
PyFunc-modeller har artefakternas sökvägar tillgängliga från context
-objektet vid context.artifacts
, och de kan laddas in med standardmetoden för den filtypen.
Till exempel i en anpassad MLflow-modell:
class ModelPyfunc(mlflow.pyfunc.PythonModel):
def load_context(self, context):
self.model = torch.load(context.artifacts["model-weights"])
self.tokenizer = transformers.BertweetTokenizer.from_pretrained("model-base", local_files_only=True, cache_dir=context.artifacts["tokenizer_cache"])
...
När dina filer och artefakter har paketerats i din modellartefakt kan du hantera din modell till en modellserverslutpunkt.