다음을 통해 공유


모델 서비스로 마이그레이션

이 문서에서는 작업 영역에서 모델 서비스를 사용하도록 설정하고 모델을 서버리스 컴퓨팅을 기반으로 하는 Mosaic AI 모델 서비스 환경으로 전환하는 방법을 보여 줍니다.

요구 사항

중요 변경 내용

  • 모델 서빙에서 엔드포인트에 대한 요청 형식과 엔드포인트에서의 응답은 레거시 MLflow 모델 서빙과 약간 다릅니다. 새 형식 프로토콜에 대한 자세한 내용은 모델 엔드포인트 점수 매기기를 참조하세요.
  • 모델 서비스에서 엔드포인트 URL에는 serving-endpoints 대신에 model이 포함됩니다.
  • 모델 서비스 제공에는 API 워크플로를 사용하여 리소스를 관리하기 위한 모든 지원이 포함됩니다.
  • 모델 제공은 프로덕션 준비가 완료되었으며 Azure Databricks SLA에서 지원됩니다.

레거시 MLflow 모델 서빙에서 모델 서빙으로 제공된 모델을 마이그레이션

레거시 MLflow 모델 서비스를 사용하지 않도록 설정 하지 않고 워크플로를 제공하는 모델 서비스 엔드포인트 및 유연한 전환 모델을 만들 수 있습니다.

다음 단계에서는 UI로 이를 수행하는 방법을 보여줍니다. 레거시 MLflow 모델 서비스를 사용하도록 설정한 각 모델에 대해 다음을 수행합니다.

  1. Unity 카탈로그에 모델을 등록합니다.
  2. 기계 학습 작업 영역의 사이드바에서 서비스 엔드포인트로 이동합니다.
  3. 모델을 사용하여 서비스 엔드포인트를 만드는 방법에 대한 엔드포인트 를 제공하는 사용자 지정 모델 만들기에 설명된 워크플로를 따릅니다.
  4. 서비스 엔드포인트에서 제공하는 새 URL을 사용하여 새 채점 형식과 함께 모델을 쿼리하도록 애플리케이션을 전환합니다.
  5. 모델이 전환되면 기계 학습 작업 영역의 사이드바에서 모델로 이동할 수 있습니다.
  6. 레거시 MLflow 모델 서비스를 사용하지 않도록 설정할 모델을 선택합니다.
  7. 서비스 탭에서 중지를 선택합니다.
  8. 확인 메시지가 표시됩니다. 서비스 중지를 선택합니다.

배포된 모델 버전을 모델 서비스로 마이그레이션

이전 버전의 모델 서비스 기능에서 서비스 엔드포인트는 등록된 모델 버전 Staging 또는 Production의 단계에 따라 생성되었습니다. 해당 환경에서 제공된 모델을 마이그레이션하려면 새 모델 제공 환경에서 해당 동작을 복제할 수 있습니다.

이 섹션에서는 Staging 모델 버전 및 Production 모델 버전에 대한 엔드포인트를 제공하는 별도의 모델을 만드는 방법을 보여줍니다. 다음 단계에서는 제공된 각 모델에 대한 서비스 엔드포인트 API를 사용하여 이 작업을 수행하는 방법을 보여 줍니다.

이 예제에서 등록된 모델 이름 modelA에는 모델 스테이지 Production의 버전 1과 모델 스테이지 Staging의 버전 2가 있습니다.

  1. 등록된 모델에 대한 두 개의 엔드포인트를 만듭니다. 하나는 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
               },
            ],
         },
      }
    
  2. 엔드포인트의 상태를 확인합니다.

    스테이징 엔드포인트의 경우: GET /api/2.0/serving-endpoints/modelA-Staging

    프로덕션 엔드포인트의 경우: GET /api/2.0/serving-endpoints/modelA-Production

  3. 엔드포인트가 준비되면 다음을 사용하여 엔드포인트를 쿼리합니다.

    스테이징 엔드포인트의 경우: POST /serving-endpoints/modelA-Staging/invocations

    프로덕션 엔드포인트의 경우: POST /serving-endpoints/modelA-Production/invocations

  4. 모델 버전 전환에 따라 엔드포인트를 업데이트합니다.

    새 모델 버전 3이 만들어지는 시나리오에서는 모델 버전 2를 Production전환할 수 있지만 모델 버전 3은 Staging 전환할 수 있고 모델 버전 1은 Archived. 이러한 변경 내용은 다음과 같이 엔드포인트를 제공하는 별도의 모델에 반영될 수 있습니다.

    Staging 엔드포인트의 경우 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 엔드포인트의 경우 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 예제를 포함합니다.

다음 표에는 Azure Databricks에서 제공하는 MosaicML 유추와 모델 간의 패리티가 요약되어 있습니다.

MosaicML 추론 Mosaic AI 모델 서비스
create_inference_deployment (추론 배포 생성) 모델 서빙 엔드포인트 만들기
추론 배포 업데이트 엔드포인트 제공하는 모델 업데이트
추론_배포_삭제 엔드포인트를 제공하는 모델 삭제
get_inference_deployment (추론 배포 가져오기) 엔드포인트 제공하는 모델의 상태 가져오기

추가 리소스