다음을 통해 공유


CLI(v2) Azure Arc 지원 Kubernetes 온라인 배포 YAML 스키마

적용 대상: Azure CLI ml 확장 v2(현재)

원본 JSON 스키마는 .에서 https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json찾을 수 있습니다.

참고 항목

이 문서에 자세히 설명된 YAML 구문은 최신 버전의 ML CLI v2 확장에 대한 JSON 스키마를 기반으로 합니다. 이 구문은 최신 버전의 ML CLI v2 확장에서만 작동하도록 보장됩니다. https://azuremlschemasprod.azureedge.net/에서 이전 확장 버전에 대한 스키마를 찾을 수 있습니다.

YAML 구문

형식 설명 허용된 값 기본값
$schema string YAML 스키마입니다. Azure Machine Learning VS Code 확장을 사용하여 YAML 파일을 제작하는 경우 파일 맨 위에 $schema를 포함하여 스키마 및 리소스 완성을 호출할 수 있습니다.
name string 필수입니다. 배포의 이름입니다.

명명 규칙은 여기에서 정의됩니다.
description string 배포에 대한 설명입니다.
tags 개체 배포에 대한 태그 사전입니다.
endpoint_name string 필수입니다. 배포를 만들 엔드포인트의 이름입니다.
model 문자열 또는 개체 배포에 사용할 모델입니다. 이 값은 작업 영역에서 기존 버전의 모델에 대한 참조 또는 인라인 모델 사양일 수 있습니다.

기존 모델을 참조하려면 azureml:<model-name>:<model-version> 구문을 사용합니다.

모델 인라인을 정의하려면 모델 스키마를 따릅니다.

프로덕션 시나리오에 대한 모범 사례로 모델을 별도로 만들고 여기에서 참조해야 합니다.

이 필드는 사용자 지정 컨테이너 배포 시나리오에 대한 선택 사항입니다.
model_mount_path string 사용자 지정 컨테이너에 모델을 탑재할 경로입니다. 사용자 지정 컨테이너 배포 시나리오에만 적용됩니다. model 필드가 지정된 경우 컨테이너의 이 경로에 탑재됩니다.
code_configuration 개체 채점 코드 논리에 대한 구성입니다.

이 필드는 사용자 지정 컨테이너 배포 시나리오에 대한 선택 사항입니다.
code_configuration.code string 모델을 채점하는 소스 코드 디렉터리의 로컬 경로입니다.
code_configuration.scoring_script string 소스 코드 디렉터리에 있는 채점 파일의 상대 경로입니다.
environment_variables 개체 배포 컨테이너에서 설정할 환경 변수 키-값 쌍의 사전입니다. 채점 스크립트에서 이러한 환경 변수에 액세스할 수 있습니다.
environment 문자열 또는 개체 필수입니다. 배포에 사용할 환경입니다. 이 값은 작업 영역에서 기존 버전의 환경에 대한 참조 또는 인라인 환경 사양일 수 있습니다.

기존 환경을 참조하려면 azureml:<environment-name>:<environment-version> 구문을 사용합니다.

환경을 인라인으로 정의하려면 환경 스키마를 따릅니다.

프로덕션 시나리오에 대한 모범 사례로 환경을 별도로 만들고 여기에서 참조해야 합니다.
instance_type string 유추 워크로드를 배치하는 데 사용되는 인스턴스 유형입니다. 생략하면 유추 워크로드는 엔드포인트의 compute 필드에 지정된 Kubernetes 클러스터의 기본 인스턴스 유형에 배치됩니다. 지정된 경우 유추 워크로드는 선택한 인스턴스 유형에 배치됩니다.

Kubernetes 클러스터에 대한 인스턴스 유형 집합은 Kubernetes 클러스터 CRD(사용자 지정 리소스 정의)를 통해 구성되므로 Kubernetes 컴퓨팅을 연결하기 위한 Azure Machine Learning YAML 스키마의 일부가 아닙니다. 자세한 내용은 Kubernetes 인스턴스 유형 만들기 및 선택을 참조 하세요.
instance_count 정수 배포에 사용할 인스턴스 수입니다. 예상한 워크로드에 따라 값을 지정합니다. 이 필드는 default 스케일링 형식(scale_settings.type: default)을 사용하는 경우에만 필요합니다.

배포 만들기 후 az ml online-deployment update 명령을 사용하여 instance_count를 업데이트할 수 있습니다.
app_insights_enabled 부울 값 작업 영역과 연결된 Azure Application Insights 인스턴스와의 통합을 사용하도록 설정할지 여부입니다. false
scale_settings 개체 배포에 대한 스케일링 설정입니다. 지원되는 두 가지 유형의 스케일링 설정은 default 스케일링 유형과 target_utilization 스케일링 유형입니다.

default 스케일링 형식(scale_settings.type: default)을 사용하면 instance_count 속성을 업데이트하여 배포 생성 후 인스턴스 수를 수동으로 확대 또는 축소할 수 있습니다.

target_utilization 스케일링 형식(scale_settings.type: target_utilization)을 구성하려면 구성 가능한 속성 세트에 대한 TargetUtilizationScaleSettings를 참조하세요.
scale_settings.type string 스케일링 형식입니다. default, target_utilization target_utilization
data_collector 개체 배포를 위한 데이터 수집 설정입니다. 구성 가능한 속성 집합은 DataCollector를 참조하세요.
request_settings 개체 배포에 대한 채점 요청 설정입니다. 구성 가능한 속성 집합에 대한 RequestSettings를 참조하세요.
liveness_probe 개체 컨테이너의 상태를 정기적으로 모니터링하기 위한 활동성 프로브 설정입니다. 구성 가능한 속성 집합에 대한 ProbeSettings를 참조하세요.
readiness_probe 개체 컨테이너가 트래픽을 처리할 준비가 되었는지 확인하기 위한 준비 상태 프로브 설정입니다. 구성 가능한 속성 집합에 대한 ProbeSettings를 참조하세요.
resources 개체 컨테이너 리소스 요구 사항.
resources.requests 개체 컨테이너에 대한 리소스 요청. 구성 가능한 속성 세트는 ContainerResourceRequests를 참조하세요.
resources.limits 개체 컨테이너에 대한 리소스 제한. 구성 가능한 속성 세트는 ContainerResourceLimits를 참조하세요.

RequestSettings

형식 설명 기본값
request_timeout_ms 정수 채점 시간 제한(밀리초)입니다. 5000
max_concurrent_requests_per_instance 정수 배포에 허용되는 인스턴스당 최대 동시 요청 수입니다.

Microsoft 기술 지원 또는 Azure Machine Learning 팀의 구성원이 지시하지 않는 한 이 설정을 기본값에서 변경하지 마세요.
1
max_queue_wait_ms 정수 요청이 큐에 유지되는 최대 시간(밀리초)입니다. 500

ProbeSettings

형식 설명 기본값
period 정수 프로브를 수행하는 빈도(초)입니다. 10
initial_delay 정수 컨테이너가 시작된 후 프로브가 시작되기 전까지의 시간(초)입니다. 최솟값은 1입니다. 10
timeout 정수 프로브의 시간이 초과된 후 경과된 시간(초)입니다. 최솟값은 1입니다. 2
success_threshold 정수 프로브가 실패한 후 성공한 것으로 간주되는 최소 연속 성공 횟수입니다. 최솟값은 1입니다. 1
failure_threshold 정수 프로브가 실패한 경우 시스템은 포기하기 전에 failure_threshold 시간을 시도합니다. 활동성 프로브의 경우 포기하면 컨테이너가 다시 시작됩니다. 준비 상태 프로브의 경우 컨테이너는 준비되지 않음으로 표시됩니다. 최솟값은 1입니다. 30

TargetUtilizationScaleSettings

형식 설명 기본값
type const 스케일링 형식 target_utilization
min_instances 정수 사용할 최소 인스턴스 수입니다. 1
max_instances 정수 스케일링할 최대 인스턴스 수입니다. 1
target_utilization_percentage 정수 자동 크기 조정기에 대한 목표 CPU 사용량입니다. 70
polling_interval 정수 자동 크기 조정기가 배포 스케일링을 시도해야 하는 빈도(초)입니다. 1

ContainerResourceRequests

형식 설명
cpu string 컨테이너에 대해 요청된 CPU 코어 수입니다.
memory string 컨테이너에 요청된 메모리 크기
nvidia.com/gpu string 컨테이너에 요청된 Nvidia GPU 카드 수

ContainerResourceLimits

형식 설명
cpu string 컨테이너의 CPU 코어 수 제한입니다.
memory string 컨테이너의 메모리 크기 제한입니다.
nvidia.com/gpu string 컨테이너의 Nvidia GPU 카드 수 제한

DataCollector

형식 설명 기본값
sampling_rate float 수집할 데이터의 백분율(십진수 비율로 표시)입니다. 예를 들어, 값 1.0은 데이터 100% 수집을 나타냅니다. 1.0
rolling_rate string 스토리지의 데이터를 분할하는 속도입니다. 값은 분, 시, 일, 월, 연도일 수 있습니다. Hour
collections 개체 이 배포에 대한 개별 collection_name 및 해당 설정 집합입니다.
collections.<collection_name> 개체 수집할 프로덕션 유추 데이터의 논리적 그룹화(예: model_inputs) 예약된 이름은 두 개입니다. requestresponse는 각각 HTTP 요청 및 응답 페이로드 데이터 수집에 해당합니다. 다른 모든 이름은 임의적이며 사용자가 정의할 수 있습니다.

참고: 각 collection_name은 프로덕션 유추 데이터를 수집하기 위해 배포 score.py에 사용되는 Collector 개체의 이름과 일치해야 합니다. 페이로드 데이터 수집 및 제공된 Python SDK를 사용한 데이터 수집에 대한 자세한 내용은 프로덕션 모델에서 데이터 수집을 참조하세요.
collections.<collection_name>.enabled 부울 값 지정된 collection_name에 대한 데이터 수집을 사용하도록 설정할지 여부를 나타냅니다. 'False''
collections.<collection_name>.data.name string 수집된 데이터와 함께 등록할 데이터 자산의 이름입니다. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path string 수집된 데이터가 데이터 자산으로 등록되어야 하는 전체 Azure Machine Learning 데이터 저장소 경로입니다. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version 정수 Blob Storage에 수집된 데이터와 함께 등록할 데이터 자산의 버전입니다. 1

설명

az ml online-deployment 명령은 Azure Machine Learning Kubernetes 온라인 배포를 관리하는 데 사용할 수 있습니다.

예제

예제는 예제 GitHub 리포지토리에서 사용할 수 있습니다.

다음 단계