Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak zajistit, aby byly soubory a závislosti artefaktů dostupné na vašem koncovém bodu nasazení modelů pomocí obsluhy modelu Mosaic AI.
Požadavky
MLflow 1,29 a novější
Zabalení artefaktů pomocí modelů
Pokud model během odvozování vyžaduje soubory nebo artefakty, můžete je při protokolování modelu zabalit do artefaktu modelu.
Pokud pracujete s poznámkovými bloky Azure Databricks, běžným postupem je mít tyto soubory umístěné ve svazcích Unity Catalog. Modely jsou také někdy nakonfigurované pro stahování artefaktů z internetu (například HuggingFace Tokenizers). Úlohy ve velkém měřítku v reálném čase fungují nejlépe, když se v době nasazení staticky zaznamenávají všechny požadované závislosti. Z tohoto důvodu obsluha modelu vyžaduje, aby artefakty objemu Unity Catalog byly integrovány do artefaktu modelu s využitím rozhraní MLflow. Síťové artefakty načtené spolu s modelem by měly být baleny s modelem, kdykoli je to možné.
Pomocí příkazu MLflow log_model() můžete pomocí parametru artifacts
protokolovat model a jeho závislé artefakty.
mlflow.pyfunc.log_model(
...
artifacts={'model-weights': "/Volumes/catalog/schema/volume/path/to/file", "tokenizer_cache": "./tokenizer_cache"},
...
)
V modelech PyFunc jsou cesty těchto artefaktů přístupné z objektu context
pod context.artifacts
a lze je načíst standardním způsobem pro tento typ souboru.
Například ve vlastním modelu MLflow:
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"])
...
Jakmile se vaše soubory a artefakty zabalí do artefaktem modelu, můžete model nasadit na koncový bod nasazení modelu.