모델 서비스로 마이그레이션
이 문서에서는 작업 영역에서 모델 서비스를 사용하도록 설정하고 모델을 서버리스 컴퓨팅을 기반으로 하는 Mosaic AI 모델 서비스 환경으로 전환하는 방법을 보여 줍니다.
요구 사항
- MLflow 모델 레지스트리에 등록된 모델
- 액세스 제어 가이드에 설명된 대로 등록된 모델에 대한 권한입니다.
- 작업 영역에서 서버리스 컴퓨팅을 사용하도록 설정합니다.
중요 변경 내용
- 모델 서빙에서 엔드포인트에 대한 요청 형식과 엔드포인트에서의 응답은 레거시 MLflow 모델 서빙과 약간 다릅니다. 새 형식 프로토콜에 대한 자세한 내용은 모델 엔드포인트 점수 매기기를 참조하세요.
- 모델 서비스에서 엔드포인트 URL에는
serving-endpoints
대신에model
이 포함됩니다. - 모델 서비스 제공에는 API 워크플로를 사용하여 리소스를 관리하기 위한 모든 지원이 포함됩니다.
- 모델 제공은 프로덕션 준비가 완료되었으며 Azure Databricks SLA에서 지원됩니다.
제공된 모델을 모델 서비스로 레거시 MLflow 모델 마이그레이션
레거시 MLflow 모델 서비스를 사용하지 않도록 설정 하지 않고 워크플로를 제공하는 모델 서비스 엔드포인트 및 유연한 전환 모델을 만들 수 있습니다.
다음 단계에서는 UI로 이를 수행하는 방법을 보여줍니다. 레거시 MLflow 모델 서비스를 사용하도록 설정한 각 모델에 대해 다음을 수행합니다.
- Unity Catalog모델을 등록하세요.
- 기계 학습 작업 영역의 사이드바에서 서비스 엔드포인트로 이동합니다.
- 모델을 사용하여 서비스 엔드포인트를 만드는 방법에 대한 엔드포인트 를 제공하는 사용자 지정 모델 만들기에 설명된 워크플로를 따릅니다.
- 서비스 엔드포인트에서 제공하는 새 URL을 사용하여 새 채점 형식과 함께 모델을 쿼리하도록 애플리케이션을 전환합니다.
- 모델이 전환되면 기계 학습 작업 영역의 사이드바에서 모델로 이동할 수 있습니다.
- Select 레거시 MLflow 모델 서비스를 비활성화하려는 모델.
- 서비스 탭에서 select중지.
- 확인 메시지가 표시됩니다. Select 서비스를 중지합니다.
배포된 모델 버전을 모델 서비스로 마이그레이션
이전 버전의 모델 서비스 기능에서 서비스 엔드포인트는 등록된 모델 버전 Staging
또는 Production
의 단계에 따라 생성되었습니다. 해당 환경에서 제공된 모델을 마이그레이션하려면 새 모델 제공 환경에서 해당 동작을 복제할 수 있습니다.
이 섹션에서는 Staging
모델 버전 및 Production
모델 버전에 대한 엔드포인트를 제공하는 별도의 모델을 만드는 방법을 보여줍니다. 다음 단계에서는 제공된 각 모델에 대한 서비스 엔드포인트 API를 사용하여 이 작업을 수행하는 방법을 보여 줍니다.
이 예제에서 등록된 모델 이름 modelA
에는 모델 스테이지 Production
의 버전 1과 모델 스테이지 Staging
의 버전 2가 있습니다.
등록된 모델에 대한 두 개의 엔드포인트를 만듭니다. 하나는
Staging
모델 버전용이고 다른 하나는Production
모델 버전용입니다.Staging
모델 버전의 경우:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Production
모델 버전의 경우:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
엔드포인트의 상태를 확인합니다.
스테이징 엔드포인트의 경우:
GET /api/2.0/serving-endpoints/modelA-Staging
프로덕션 엔드포인트의 경우:
GET /api/2.0/serving-endpoints/modelA-Production
엔드포인트가 준비되면 다음을 사용하여 엔드포인트를 쿼리합니다.
스테이징 엔드포인트의 경우:
POST /serving-endpoints/modelA-Staging/invocations
프로덕션 엔드포인트의 경우:
POST /serving-endpoints/modelA-Production/invocations
모델 버전 전환에 기반한 엔드포인트 Update.
새 모델 버전 3이 만들어지는 where 시나리오에서는 모델 버전 2를
Production
전환할 수 있으며 모델 버전 3은Staging
전환할 수 있고 모델 버전 1은Archived
. 이러한 변경 내용은 다음과 같이 엔드포인트를 제공하는 별도의 모델에 반영될 수 있습니다.Staging
엔드포인트의 경우, update의 새 모델 버전을 사용하려면 엔드포인트를Staging
으로 설정하십시오.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Production
엔드포인트의 경우, update을 사용하여Production
의 새 모델 버전을 사용하도록 엔드포인트를 설정하세요.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
MosaicML 유추 워크플로를 모델 서비스로 마이그레이션
이 섹션에서는 MosaicML 유추 배포를 Mosaic AI Model Serving로 마이그레이션하는 방법에 대한 지침을 제공하고 Notebook 예제를 포함합니다.
다음 table은 Azure Databricks에서 MosaicML 추론 및 모델 서비스 간의 동등성을 요약합니다.
MosaicML 유추 | Mosaic AI 모델 서비스 |
---|---|
create_inference_deployment | 모델 서비스 엔드포인트 만들기 |
update_inference_deployment | 엔드포인트 제공하는 모델 |
delete_inference_deployment | 엔드포인트를 제공하는 모델 삭제 |
get_inference_deployment | 엔드포인트 제공하는 모델의 |
다음 Notebook에서는 MosaicML에서 Mosaic AI 모델 서비스로 llama-13b
모델을 마이그레이션하는 예제를 제공합니다.