Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk azt ismerteti, hogyan biztosíthatja, hogy a modell fájl- és összetevőfüggőségei elérhetők legyenek a Modellkiszolgáló végpont használatával történő modellek üzembe helyezése során.
Követelmények
MLflow 1.29 vagy újabb
Artefaktumok csomagolása modellekkel
Ha a modellhez fájlokra vagy összetevőkre van szükség a következtetés során, a modell naplózásakor csomagolhatja őket a modell összetevőjébe.
Ha Azure Databricks-jegyzetfüzetekkel dolgozik, gyakori eljárás, hogy ezek a fájlok Unity Catalog-kötetekbentalálhatók. A modellek néha úgy is konfigurálva vannak, hogy összetevőket töltsenek le az internetről (például HuggingFace Tokenizers). A nagy léptékű valós idejű számítási feladatok akkor teljesítenek a legjobban, ha az üzembe helyezéskor az összes szükséges függőség statikusan rögzítve van. Ezért a modellkiszolgáló megköveteli, hogy a Unity Catalog kötetösszetevői magukba a modellösszetevőbe legyenek csomagolva MLflow-interfészek használatával. A modellbe betöltött hálózati összetevőket a modellel együtt kell csomagolni, amikor csak lehetséges.
A log_model() MLflow paranccsal naplózhatja a modellt és annak függő összetevőit a artifacts paraméterrel.
mlflow.pyfunc.log_model(
...
artifacts={'model-weights': "/Volumes/catalog/schema/volume/path/to/file", "tokenizer_cache": "./tokenizer_cache"},
...
)
A PyFunc-modellekben ezek az összetevők elérési útjai elérhetők az context objektum alatt context.artifacts, és az adott fájltípushoz szokásos módon tölthetők be.
Például egy egyéni MLflow-modellben:
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"])
...
Miután a fájlokat és összetevőket a modellösszetevőbe csomagolta, a modellt egy modellkiszolgáló végpontra is kiszolgálhatja.