Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara memastikan bahwa dependensi file dan artefak dari model Anda tersedia di endpoint Mosaic AI Model Serving untuk menyebarkan model.
Persyaratan
MLflow 1.29 ke atas
Artefak paket dengan model
Ketika model Anda memerlukan file atau artefak selama inferensi, Anda dapat mengemasnya ke dalam artefak model saat Anda mencatat model.
Jika Anda bekerja dengan notebook Azure Databricks, praktik umumnya adalah memiliki file-file ini berada di volume Unity Catalog. Model juga terkadang dikonfigurasi untuk mengunduh artefak dari internet (seperti Tokenizer HuggingFace). Beban kerja real-time dalam skala besar memiliki performa terbaik ketika semua dependensi yang diperlukan diambil secara statis pada waktu penyebaran. Untuk alasan ini, Model Serving mengharuskan artefak volume Unity Catalog dimas ke dalam artefak model itu sendiri menggunakan antarmuka MLflow. Artefak jaringan yang dimuat dengan model harus dibungkus dengan model jika memungkinkan.
Dengan perintah MLflow log_model() Anda dapat mencatat model dan artefak dependennya dengan artifacts parameter .
mlflow.pyfunc.log_model(
...
artifacts={'model-weights': "/Volumes/catalog/schema/volume/path/to/file", "tokenizer_cache": "./tokenizer_cache"},
...
)
Dalam model PyFunc, jalur artefak ini dapat diakses dari context objek di bawah context.artifacts, dan dapat dimuat dengan cara standar untuk jenis file tersebut.
Misalnya, dalam model MLflow kustom:
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"])
...
Setelah file dan artefak Anda dikemas dalam artefak model, Anda dapat melayani model Anda ke titik akhir Model Melayani.