다음을 통해 공유


모델 제공을 위한 패키지 사용자 지정 아티팩트.

이 문서는 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"])
    ...

파일 및 아티팩트가 모델 아티팩트 내에 패키지된 후 모델 서비스 엔드포인트모델을 제공할 수 있습니다.