파이프라인 엔드포인트를 SDK v2로 업그레이드

파이프라인이 실행되고 나면 다른 입력으로 실행되도록 파이프라인을 게시할 수 있습니다. 이를 게시된 파이프라인이라고 합니다.

무엇이 변경되었습니까?

Batch 엔드포인트는 지속성 API에서 실행되는 여러 자산을 처리하는 보다 강력한 방법을 제안하므로 게시된 파이프라인 기능이 일괄 처리 엔드포인트에서 파이프라인 구성 요소 배포로 이동되었습니다.

일괄 처리 엔드포인트는 실제 구현(배포)에서 인터페이스(엔드포인트)를 분리하고 사용자가 엔드포인트의 기본 구현을 제공하는 배포를 결정할 수 있게 해줍니다. 일괄 처리 엔드포인트의 파이프라인 구성 요소 배포를 통해 사용자는 파이프라인 대신 파이프라인 구성 요소를 배포할 수 있으므로 MLOps 실행을 간소화하려는 조직에서 재사용 가능한 자산을 더 효과적으로 활용할 수 있습니다.

다음 표에서는 각 개념을 비교합니다.

개념 SDK v1 SDK v2
호출을 위한 파이프라인의 REST 엔드포인트 파이프라인 엔드포인트 일괄 처리 엔드포인트
엔드포인트 아래 파이프라인의 특정 버전 게시된 파이프라인 파이프라인 구성 요소 배포
호출에 대한 파이프라인의 인수 파이프라인 매개 변수 작업 입력
게시된 파이프라인에서 생성된 작업 파이프라인 작업 일괄 처리 작업

첫 번째 파이프라인 구성 요소 배포를 만드는 방법을 알아보려면 일괄 처리 엔드포인트에서 파이프라인을 배포하는 방법을 참조하세요.

일괄 처리 엔드포인트로 이동

일괄 처리 엔드포인트의 개념을 사용하여 SDK v1에서 SDK v2로 이동하는 방법을 알아보려면 다음 지침을 따릅니다.

파이프라인 게시

파이프라인 게시가 v1에서 v2로 어떻게 변경되었는지 비교합니다.

  1. 먼저 게시하려는 파이프라인을 가져와야 합니다.

    pipeline1 = Pipeline(workspace=ws, steps=[step1, step2])
    
  2. 다음과 같이 파이프라인을 게시할 수 있습니다.

    from azureml.pipeline.core import PipelineEndpoint
    
    endpoint_name = "PipelineEndpointTest"
    pipeline_endpoint = PipelineEndpoint.publish(
        workspace=ws, 
        name=endpoint_name,
        pipeline=pipeline, 
        description="A hello world endpoint for component deployments"
    )
    

파이프라인 엔드포인트에 작업 제출

파이프라인의 기본 버전을 호출하려면 다음을 사용할 수 있습니다.

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name="PipelineEndpointTest")
run_id = pipeline_endpoint.submit("PipelineEndpointExperiment")

특정 버전에 작업을 제출할 수도 있습니다.

run_id = pipeline_endpoint.submit(endpoint_name, pipeline_version="0")

모든 파이프라인 배포

all_pipelines = PublishedPipeline.get_all(ws)

REST API 사용

호출 URL의 REST API를 사용하여 엔드포인트에서 작업을 만들 수 있습니다. 호출이 v1에서 v2로 어떻게 변경되었는지 확인하려면 다음 예를 참조하세요.

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name=endpoint_name)
rest_endpoint = pipeline_endpoint.endpoint

response = requests.post(
    rest_endpoint, 
    headers=aad_token, 
    json={
        "ExperimentName": "PipelineEndpointExperiment",
        "RunSource": "API",
        "ParameterAssignments": {"argument1": "united", "argument2":45}
    }
)

다음 단계