모델 제공을 위한 패키지 사용자 지정 아티팩트.
이 문서는 Mosaic AI 모델 서빙 엔드포인트를 사용하여 귀하의
요구 사항
MLflow 1.29 이상
모델과 함께 아티팩트 패키지
유추 중에 모델에 파일이나 아티팩트가 필요한 경우 모델을 로그할 때 모델 아티팩트로 패키지할 수 있습니다.
Azure Databricks 노트북을 사용하는 경우 이러한 파일은 Unity Catalogvolumes에 위치하는 것이 일반적입니다. 모델은 경우에 따라 인터넷에서 아티팩트를 다운로드하도록 구성됩니다(예: HuggingFace 토크나이저). 필요한 모든 종속성이 배포 시 정적으로 캡처될 때 대규모 실시간 워크로드가 가장 잘 수행됩니다. 이러한 이유로 모델 제공에서는 MLflow 인터페이스를 사용하여 Unity Catalogvolumes 아티팩트가 모델 아티팩트 자체에 패키지되어야 합니다. 모델과 함께 로드된 네트워크 아티팩트는 가능할 때마다 모델과 함께 패키지되어야 합니다.
MLflow 명령 log_model()을 사용하면 artifacts
매개 변수로 모델 및 종속 아티팩트를 로그할 수 있습니다.
mlflow.pyfunc.log_model(
...
artifacts={'model-weights': "/Volumes/catalog/schema/volume/path/to/file", "tokenizer_cache": "./tokenizer_cache"},
...
)
PyFunc 모델에서 이러한 아티팩트의 경로는 context
아래의 context.artifacts
개체에서 액세스할 수 있으며 해당 파일 형식에 대한 표준 방식으로 로드할 수 있습니다.
예를 들어, 사용자 지정 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"])
...
파일 및 아티팩트가 모델 아티팩트 내에 패키지된 후 모델 서비스 엔드포인트에 모델을 제공할 수 있습니다.