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 ) 예약된 이름은 두 개입니다. request 및 response 는 각각 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 리포지토리에서 사용할 수 있습니다.