Computer Vision 모델을 학습시키도록 AutoML 설정

적용 대상:Azure CLI ml 확장 v2(현재)Python SDK azure-ai-ml v2(현재)

이 문서에서는 자동화된 ML을 사용하여 이미지 데이터에 대한 Computer Vision 모델을 학습하는 방법을 알아봅니다. Azure Machine Learning CLI 확장 v2 또는 Azure Machine Learning Python SDK v2를 사용하여 모델을 학습할 수 있습니다.

자동화된 ML은 이미지 분류, 개체 감지 및 인스턴스 분할과 같은 Computer Vision 작업에 대한 모델 학습을 지원합니다. Computer Vision 작업을 위한 AutoML 모델 작성은 현재 Azure Machine Learning Python SDK를 통해 지원됩니다. 결과 실험 체험, 모델 및 출력은 Azure Machine Learning 스튜디오 UI에서 액세스할 수 있습니다. 이미지 데이터에 대한 Computer Vision 작업을 위한 자동화된 ML에 대해 자세히 알아보기.

필수 조건

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

작업 종류 선택

이미지용 자동화된 ML은 다음 작업 종류를 지원합니다.

작업 유형 AutoML 작업 구문
이미지 분류 CLI v2: image_classification
SDK v2: image_classification()
이미지 분류 다중 레이블 CLI v2: image_classification_multilabel
SDK v2: image_classification_multilabel()
이미지 개체 감지 CLI v2: image_object_detection
SDK v2: image_object_detection()
이미지 인스턴스 분할 CLI v2: image_instance_segmentation
SDK v2: image_instance_segmentation()

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

이 작업 유형은 필수 매개 변수이며 task 키를 통해 설정될 수 있습니다.

예시:

task: image_object_detection

학습 및 유효성 검사 데이터

Computer Vision 모델을 생성하려면 레이블이 지정된 이미지 데이터를 모델을 학습시킬 수 있는 입력(MLTable 형식)으로 가져와야 합니다. JSONL 형식의 학습 데이터에서 MLTable을 만들 수 있습니다.

학습 데이터가 다른 형식(예: 파스칼 VOC 또는 COCO)인 경우 샘플 Notebooks에 포함된 도우미 스크립트를 적용하여 데이터를 JSONL로 변환할 수 있습니다. 자동화된 ML로 Computer Vision 작업을 위한 데이터를 준비하는 방법에 대해 자세히 알아봅니다.

참고 항목

AutoML 작업을 제출할 수 있으려면 학습 데이터에 이미지가 최소 10개 이상 있어야 합니다.

Warning

이 기능의 경우 SDK 및 CLI를 사용하여 JSONL 형식의 데이터에서 MLTable을 만드는 것만 지원됩니다. 현재 UI를 통해 MLTable을 만들 수 없습니다.

JSONL 스키마 샘플

TabularDataset의 구조는 현재 작업에 따라 다릅니다. Computer Vision 작업 종류의 경우 다음 필드로 구성됩니다.

필드 설명
image_url StreamInfo 개체로 파일 경로를 포함합니다.
image_details 이미지 메타데이터 정보는 높이, 너비, 형식으로 구성됩니다. 이 필드는 선택 사항이므로 존재할 수도 있고 없을 수도 있습니다.
label 작업 종류를 기반으로 하는 이미지 레이블의 json 표현입니다.

다음 코드는 이미지 분류를 위한 샘플 JSONL 파일입니다.

{
      "image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_01.png",
      "image_details":
      {
          "format": "png",
          "width": "2230px",
          "height": "4356px"
      },
      "label": "cat"
  }
  {
      "image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_02.jpeg",
      "image_details":
      {
          "format": "jpeg",
          "width": "3456px",
          "height": "3467px"
      },
      "label": "dog"
  }

다음 코드는 개체 감지를 위한 샘플 JSONL 파일입니다.

{
    "image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_01.png",
    "image_details":
    {
        "format": "png",
        "width": "2230px",
        "height": "4356px"
    },
    "label":
    {
        "label": "cat",
        "topX": "1",
        "topY": "0",
        "bottomX": "0",
        "bottomY": "1",
        "isCrowd": "true",
    }
}
{
    "image_url": "azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/image_data/Image_02.png",
    "image_details":
    {
        "format": "jpeg",
        "width": "1230px",
        "height": "2356px"
    },
    "label":
    {
        "label": "dog",
        "topX": "0",
        "topY": "1",
        "bottomX": "0",
        "bottomY": "1",
        "isCrowd": "false",
    }
}

데이터 사용

데이터가 JSONL 형식이면 다음과 같이 학습 및 유효성 검사 MLTable을 만들 수 있습니다.

paths:
  - file: ./train_annotations.jsonl
transformations:
  - read_json_lines:
        encoding: utf8
        invalid_lines: error
        include_path_column: false
  - convert_column_types:
      - columns: image_url
        column_type: stream_info

자동화된 ML은 Computer Vision 작업의 학습이나 유효성 검사 데이터 크기에 제약 조건을 적용하지 않습니다. 최대 데이터 세트 크기는 데이터 세트 뒤의 스토리지 계층에 의해서만 제한됩니다(예: Blob 저장소). 최소 이미지 또는 레이블 수는 없습니다. 그러나 출력 모델이 충분히 학습되도록 레이블마다 샘플 최소 10~15개로 시작하는 것이 좋습니다. 레이블/클래스의 총 수가 많을수록 레이블당 더 많은 샘플이 필요합니다.

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

학습 데이터는 필수 매개 변수이며 training_data 키를 사용하여 전달됩니다. 필요한 경우 validation_data 키를 사용하여 다른 MLTable을 유효성 검사 데이터로 지정할 수 있습니다. 유효성 검사 데이터가 지정되지 않으면 다른 값으로 validation_data_size 인수를 전달하지 않는 한 기본적으로 학습 데이터의 20%의 유효성이 검사에 사용됩니다.

대상 열 이름은 필수 매개 변수이며 감독되는 ML 작업의 대상으로 사용됩니다. target_column_name 키를 사용하여 전달됩니다. 예를 들면 다음과 같습니다.

target_column_name: label
training_data:
  path: data/training-mltable-folder
  type: mltable
validation_data:
  path: data/validation-mltable-folder
  type: mltable

실험 실행 컴퓨팅

모델 학습을 수행하기 위해 자동화된 ML에 대한 컴퓨팅 대상을 제공합니다. Computer Vision 작업을 위한 자동화된 ML 모델에는 GPU SKU가 필요하고 NC 및 ND 제품군을 지원합니다. 더 빠른 학습을 위해 NCsv3 시리즈(v100 GPU 포함)를 권장합니다. 다중 GPU VM SKU가 있는 컴퓨팅 대상은 여러 GPU를 사용하여 학습 속도도 높입니다. 또한 여러 노드가 있는 컴퓨팅 대상을 설정하면 모델의 하이퍼 매개 변수를 튜닝할 때 병렬 처리를 통해 더 빠른 모델 학습을 수행할 수 있습니다.

참고 항목

컴퓨팅 인스턴스를 컴퓨팅 대상으로 사용하는 경우에는 여러 AutoML 작업이 동시에 실행되지 않는지 확인하세요. 또한 작업 제한에서 max_concurrent_trials가 1로 설정되어 있는지 확인하세요.

컴퓨팅 대상은 compute 매개 변수를 통해 전달됩니다. 예시:

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

compute: azureml:gpu-cluster

실험 구성

Computer Vision 작업의 경우 개별 평가판, 수동 스윕 또는 자동 스윕을 시작할 수 있습니다. 첫 번째 기준 모델을 얻으려면 자동 스윕부터 시작하는 것이 좋습니다. 그런 다음 특정 모델 및 하이퍼 매개 변수 구성을 사용하여 개별 평가판을 사용해 볼 수 있습니다. 마지막으로 수동 스윕을 사용하면 더 유망한 모델 및 하이퍼 매개 변수 구성에 가까운 여러 하이퍼 매개 변수 값을 탐색할 수 있습니다. 이 3단계 워크플로(자동 스윕, 개별 평가판, 수동 스윕)는 하이퍼 매개 변수 수에서 기하급수적으로 증가하는 하이퍼 매개 변수 공간 전체를 검색하지 않습니다.

자동 스윕은 많은 데이터 세트에 대한 경쟁력 있는 결과를 얻을 수 있습니다. 또한 모델 아키텍처에 대한 고급 지식이 필요하지 않으며 하이퍼 매개 변수 상관 관계를 고려하여 다양한 하드웨어 설정에서 원활하게 작동합니다. 이러한 모든 이유로 인해 실험 프로세스의 초기 단계에 대한 강력한 옵션이 됩니다.

기본 메트릭

AutoML 학습 작업은 모델 최적화 및 하이퍼 매개 변수 튜닝에 기본 메트릭을 사용합니다. 기본 메트릭은 아래와 같이 작업 유형에 따라 달라집니다. 다른 기본 메트릭 값은 현재 지원되지 않습니다.

작업 한도

아래 예제에서 설명한 대로 제한 설정에서 작업에 대해 timeout_minutes, max_trialsmax_concurrent_trials를 지정하여 AutoML 이미지 학습 작업에 소요된 리소스를 제어할 수 있습니다.

매개 변수 세부 정보
max_trials 스윕할 최대 체험 수에 대한 매개 변수입니다. 1~1000 사이의 정수여야 합니다. 주어진 모델 아키텍처에 대한 기본 하이퍼 매개 변수만 탐색할 때 이 매개 변수를 1로 설정합니다. 기본값은 1입니다.
max_concurrent_trials 동시에 실행할 수 있는 최대 체험 수입니다. 지정한 경우 1~100 사이의 정수여야 합니다. 기본값은 1입니다.

참고:
  • 동시 체험 수는 지정된 컴퓨팅 대상에서 사용할 수 있는 리소스에서 제어됩니다. 원하는 동시성에 사용할 수 있는 리소스가 컴퓨팅 대상에 있는지 확인합니다.
  • max_concurrent_trialsmax_trials에서 내부적으로 제한됩니다. 예를 들어 사용자가 max_concurrent_trials=4, max_trials=2를 설정하는 경우 값은 내부적으로 max_concurrent_trials=2, max_trials=2로 업데이트됩니다.
  • timeout_minutes 실험이 종료되기까지 남은 시간(분)입니다. 지정되지 않은 경우 기본 실험 timeout_minutes는 7일(최대 60일)입니다.

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

    limits:
      timeout_minutes: 60
      max_trials: 10
      max_concurrent_trials: 2
    

    자동 스윕 모델 하이퍼 매개 변수(AutoMode)

    Important

    이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공됩니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

    데이터 세트에 가장 적합한 모델 아키텍처와 하이퍼 매개 변수를 예측하는 것은 어렵습니다. 또한 경우에 따라 하이퍼 매개 변수 튜닝에 할당된 사용자 시간이 제한될 수 있습니다. Computer Vision 작업의 경우 시도 횟수를 지정할 수 있으며 시스템은 스윕할 하이퍼 매개 변수 공간 영역을 자동으로 결정합니다. 하이퍼 매개 변수 검색 공간, 샘플링 방법 또는 조기 종료 정책을 정의할 필요가 없습니다.

    AutoMode 트리거

    max_trialslimits에서 1보다 큰 값으로 설정하고 검색 공간, 샘플링 방법 및 종료 정책을 지정하지 않음으로써 자동 스윕을 실행할 수 있습니다. Microsoft는 이 기능을 AutoMode라고 부릅니다. 다음 예를 참조하세요.

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

    limits:
      max_trials: 10
      max_concurrent_trials: 2
    

    10~20번의 시도는 많은 데이터 세트에서 잘 작동할 가능성이 높습니다. AutoML 작업에 대한 시간 예산 은 여전히 설정할 수 있지만 각 평가판에 시간이 오래 걸릴 수 있는 경우에만 이 작업을 수행하는 것이 좋습니다.

    Warning

    UI를 통한 자동 스윕 시작은 현재 지원되지 않습니다.

    개별 체험

    개별 체험에서는 모델 아키텍처 및 하이퍼 매개 변수를 직접 제어합니다. 모델 아키텍처는 model_name 매개 변수를 통해 전달됩니다.

    지원되는 모델 아키텍처

    다음 표에는 각 Computer Vision 작업에 대해 지원되는 레거시 모델이 요약되어 있습니다. 이러한 레거시 모델만 사용하면 레거시 런타임(각 개별 실행 또는 시도가 명령 작업으로 제출됨)을 사용하여 실행이 트리거됩니다. HuggingFace 및 MMDetection 지원은 아래를 참조하세요.

    작업 모델 아키텍처 문자열 리터럴 구문
    default_model*은 *로 표시됨
    이미지 분류
    (다중 클래스 및 다중 레이블)
    MobileNet: 모바일 애플리케이션용 경량 모델
    ResNet: Residual Network
    ResNeSt: Split Attention Network
    SE-ResNeXt50: Squeeze-and-Excitation Network
    ViT: 비전 변환기 네트워크
    mobilenetv2
    resnet18
    resnet34
    resnet50
    resnet101
    resnet152
    resnest50
    resnest101
    seresnext
    vits16r224(소형)
    vitb16r224*(기본)
    vitl16r224(대형)
    개체 감지 YOLOv5: 1단계 개체 감지 모델
    더 빠른 RCNN ResNet FPN: 2단계 개체 감지 모델
    RetinaNet ResNet FPN: 초점 손실로 클래스 불균형 해결

    참고: YOLOv5 모델 크기는 model_size하이퍼 매개 변수를 참조하세요.
    yolov5*
    fasterrcnn_resnet18_fpn
    fasterrcnn_resnet34_fpn
    fasterrcnn_resnet50_fpn
    fasterrcnn_resnet101_fpn
    fasterrcnn_resnet152_fpn
    retinanet_resnet50_fpn
    인스턴스 구분 MaskRCNN ResNet FPN maskrcnn_resnet18_fpn
    maskrcnn_resnet34_fpn
    maskrcnn_resnet50_fpn*
    maskrcnn_resnet101_fpn
    maskrcnn_resnet152_fpn

    지원되는 모델 아키텍처 - HuggingFace 및 MMDetection(미리 보기)

    Azure Machine Learning 파이프라인에서 실행되는 새로운 백 엔드를 사용하면 변환기 라이브러리의 일부인 HuggingFace Hub의 이미지 분류 모델(예: microsoft/beit-base-patch16-224) 및 MMDetection 버전 3.1.0 Model Zoo의 개체 감지 또는 인스턴스 구분 모델(예: atss_r50_fpn_1x_coco)도 포함됩니다.

    HuggingFace Transfomers 및 MMDetection 3.1.0의 모든 모델을 지원하는 것 외에도 azureml 레지스트리에서 이러한 라이브러리의 큐레이팅된 모델 목록도 제공합니다. 이러한 큐레이팅된 모델은 철저한 테스트를 거쳤으며 효과적인 학습을 보장하기 위해 광범위한 벤치마킹에서 선택된 기본 하이퍼 매개 변수를 사용합니다. 아래 표에는 큐레이팅된 모델이 요약되어 있습니다.

    작업 모델 아키텍처 문자열 리터럴 구문
    이미지 분류
    (다중 클래스 및 다중 레이블)
    BEiT
    ViT
    DeiT
    SwinV2
    microsoft/beit-base-patch16-224-pt22k-ft22k
    google/vit-base-patch16-224
    facebook/deit-base-patch16-224
    microsoft/swinv2-base-patch4-window12-192-22k
    개체 감지 Sparse R-CNN
    변형 가능한 DETR
    VFNet
    YOLOF
    Swin
    mmd-3x-sparse-rcnn_r50_fpn_300-proposals_crop-ms-480-800-3x_coco
    mmd-3x-sparse-rcnn_r101_fpn_300-proposals_crop-ms-480-800-3x_coco
    mmd-3x-deformable-detr_refine_twostage_r50_16xb2-50e_coco
    mmd-3x-vfnet_r50-mdconv-c3-c5_fpn_ms-2x_coco
    mmd-3x-vfnet_x101-64x4d-mdconv-c3-c5_fpn_ms-2x_coco
    mmd-3x-yolof_r50_c5_8x8_1x_coco
    인스턴스 세그먼트화 Swin mmd-3x-mask-rcnn_swin-t-p4-w7_fpn_1x_coco

    큐레이팅된 모델 목록을 지속적으로 업데이트합니다. Python SDK를 사용하여 특정 작업에 대해 큐레이팅된 모델의 최신 목록을 가져올 수 있습니다.

    credential = DefaultAzureCredential()
    ml_client = MLClient(credential, registry_name="azureml")
    
    models = ml_client.models.list()
    classification_models = []
    for model in models:
        model = ml_client.models.get(model.name, label="latest")
        if model.tags['task'] == 'image-classification': # choose an image task
            classification_models.append(model.name)
    
    classification_models
    

    출력

    ['google-vit-base-patch16-224',
     'microsoft-swinv2-base-patch4-window12-192-22k',
     'facebook-deit-base-patch16-224',
     'microsoft-beit-base-patch16-224-pt22k-ft22k']
    

    HuggingFace 또는 MMDetection 모델을 사용하면 파이프라인 구성 요소를 사용하여 실행이 트리거됩니다. 레거시 모델과 HuggingFace/MMDetection 모델을 모두 사용하는 경우 모든 실행/시도는 구성 요소를 사용하여 트리거됩니다.

    모델 아키텍처를 제어하는 것 외에도 모델 학습에 사용되는 하이퍼 매개 변수를 조정할 수도 있습니다. 노출된 많은 하이퍼 매개 변수가 모델에 구애받지 않지만 하이퍼 매개 변수가 작업별 또는 모델별인 경우가 있습니다. 이러한 인스턴스에 사용할 수 있는 하이퍼 매개 변수에 대해 자세히 알아봅니다.

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

    지정된 아키텍처(예: yolov5)에 기본 하이퍼 매개 변수 값을 사용하려면 training_parameters 섹션에서 model_name 키를 사용하여 지정할 수 있습니다. 예를 들면 다음과 같습니다.

    training_parameters:
        model_name: yolov5
    

    수동으로 모델 하이퍼 매개 변수 스위핑

    Computer Vision 모델을 학습할 때 모델 성능은 선택한 하이퍼 매개 변수 값에 크게 의존합니다. 종종 최적의 성능을 얻기 위해 하이퍼 매개 변수를 조정해야 할 수 있습니다. Computer Vision 작업의 경우 하이퍼 매개 변수를 스윕하여 모델에 대한 최적의 설정을 찾을 수 있습니다. 이 기능은 Azure Machine Learning의 하이퍼 매개 변수 튜닝 기능을 적용합니다. 하이퍼 매개 변수를 조정하는 방법 알아보기.

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

    search_space:
      - model_name:
          type: choice
          values: [yolov5]
        learning_rate:
          type: uniform
          min_value: 0.0001
          max_value: 0.01
        model_size:
          type: choice
          values: [small, medium]
    
      - model_name:
          type: choice
          values: [fasterrcnn_resnet50_fpn]
        learning_rate:
          type: uniform
          min_value: 0.0001
          max_value: 0.001
        optimizer:
          type: choice
          values: [sgd, adam, adamw]
        min_size:
          type: choice
          values: [600, 800]
    

    매개 변수 검색 공간 정의

    모델 아키텍처와 하이퍼 매개 변수를 정의하여 매개 변수 공간에서 스윕할 수 있습니다. 단일 모델 아키텍처 또는 여러 모델 아키텍처를 지정할 수 있습니다.

    스윕을 위한 샘플링 방법

    하이퍼 매개 변수를 스윕할 때 정의된 매개 변수 공간을 비우는 데 사용할 샘플링 방법을 지정해야 합니다. 현재 다음 샘플링 방법이 sampling_algorithm 매개 변수와 함께 지원됩니다.

    샘플링 유형 AutoML 작업 구문
    무작위 샘플링 random
    그리드 샘플링 grid
    Bayesian 샘플링 bayesian

    참고 항목

    현재 임의 및 그리드 샘플링만 조건부 하이퍼 매개 변수 공간을 지원합니다.

    조기 종료 정책

    조기 종료 정책을 사용하여 성능이 좋지 않은 체험을 자동으로 종료할 수 있습니다. 조기 종료는 컴퓨팅 효율성을 개선시켜 덜 유망한 체험에 소비되었을 컴퓨팅 리소스를 절약합니다. 이미지용 자동화된 ML은 early_termination 매개 변수를 사용하여 다음과 같은 조기 종료 정책을 지원합니다. 종료 정책을 지정하지 않으면 모든 체험이 완료될 때까지 실행됩니다.

    조기 종료 정책 AutoML 작업 구문
    산적 정책 CLI v2: bandit
    SDK v2: BanditPolicy()
    중앙값 중지 정책 CLI v2: median_stopping
    SDK v2: MedianStoppingPolicy()
    잘림 선택 영역 정책 CLI v2: truncation_selection
    SDK v2: TruncationSelectionPolicy()

    하이퍼 매개 변수 스윕에 대한 조기 종료 정책을 구성하는 방법에 대해 자세히 알아봅니다.

    참고 항목

    전체 스윕 구성 샘플은 이 자습서를 참조하세요.

    다음 예와 같이 모든 스윕 관련 매개 변수를 구성할 수 있습니다.

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

    sweep:
      sampling_algorithm: random
      early_termination:
        type: bandit
        evaluation_interval: 2
        slack_factor: 0.2
        delay_evaluation: 6
    

    고정 설정

    다음 예와 같이 매개 변수 공간 스윕 중에 변경되지 않는 고정 설정 또는 매개 변수를 전달할 수 있습니다.

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

    training_parameters:
      early_stopping: True
      evaluation_frequency: 1
    

    데이터 증강

    일반적으로 딥 러닝 모델 성능은 데이터가 많을수록 개선될 수 있습니다. 데이터 증강은 데이터 크기와 데이터 세트의 가변성을 증폭하는 실용적인 기술로, 과잉 맞춤을 방지하고 보이지 않는 데이터에 대한 모델 일반화 기능을 개선시키는 데 도움이 됩니다. 자동화된 ML은 입력 이미지를 모델에 제공하기 전에 Computer Vision 작업을 기반으로 다양한 데이터 증강 기술을 적용합니다. 현재 데이터 증강을 제어하기 위해 노출된 하이퍼 매개 변수가 없습니다.

    작업 영향을 받는 데이터 세트 데이터 증강 기법 적용
    이미지 분류(다중 클래스 및 다중 레이블) 교육


    유효성 검사 및 테스트
    임의 크기 조정 및 자르기, 수평 뒤집기, 색상 지터(밝기, 대비, 채도 및 색조), 채널별 ImageNet 평균 및 표준 편차를 사용한 정규화


    크기 조정, 중앙 자르기, 정규화
    개체 감지, 인스턴스 분할 교육

    유효성 검사 및 테스트
    경계 상자 주변의 임의 자르기, 확장, 수평 뒤집기, 정규화, 크기 조정


    정규화, 크기 조정
    yolov5를 사용한 개체 감지 교육

    유효성 검사 및 테스트
    모자이크, 임의 아핀(회전, 이동, 스케일링, 전단), 수평 뒤집기


    레터박스 크기 조정

    현재 위에 정의된 확대는 이미지 작업에 대해 자동화된 ML에 기본적으로 적용됩니다. 증강을 제어하기 위해 이미지에 대한 자동화된 ML은 두 플래그 아래에 노출되어 특정 확대를 해제합니다. 현재 이러한 플래그는 개체 검색 및 인스턴스 구분 작업에 대해서만 지원됩니다.

    1. apply_mosaic_for_yolo: 이 플래그는 Yolo 모델에만 해당됩니다. False로 설정하면 학습 시간에 적용되는 모자이크 데이터 보강이 해제됩니다.
    2. apply_automl_train_augmentations: 이 플래그를 false로 설정하면 학습 시간 동안 개체 검색 및 instance 구분 모델에 적용되는 확대가 해제됩니다. 확대는 위 표의 세부 정보를 참조하세요.
      • yolo가 아닌 개체 감지 모델과 인스턴스 구분 모델의 경우 이 플래그는 처음 세 가지 기능 보강만 끕니다. 예: 경계 상자 주변 임의 자르기, 확장, 가로 뒤집기. 정규화 및 크기 조정 확대는 이 플래그에 관계없이 계속 적용됩니다.
      • Yolo 모델의 경우 이 플래그는 임의 아핀 및 가로 대칭 이동 확대를 해제합니다.

    이러한 두 플래그는 training_parametersadvanced_settings를 통해 지원되며 다음 방법으로 제어할 수 있습니다.

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

    training_parameters:
      advanced_settings: >
        {"apply_mosaic_for_yolo": false}
    
    training_parameters:
      advanced_settings: >
        {"apply_automl_train_augmentations": false}
    

    이러한 두 플래그는 서로 독립적이며 다음 설정을 사용하여 함께 사용할 수도 있습니다.

    training_parameters:
     advanced_settings: >
       {"apply_automl_train_augmentations": false, "apply_mosaic_for_yolo": false}
    

    실험에서 이러한 확대는 모델이 더 잘 일반화되는 데 도움이 된다는 것을 발견했습니다. 따라서 이러한 보강이 꺼지면 사용자가 더 나은 결과를 얻기 위해 다른 오프라인 확대와 결합하는 것이 좋습니다.

    증분 학습(선택 사항)

    학습 작업이 완료되면 학습된 모델 검사점을 로드하여 모델을 추가로 학습하도록 선택할 수 있습니다. 증분 학습에 동일한 데이터 세트 또는 다른 데이터 세트를 사용할 수 있습니다. 모델이 만족스러우면 학습을 중지하고 현재 모델을 사용하도록 선택할 수 있습니다.

    작업 ID를 통해 검사점 전달

    검사점을 로드할 작업 ID를 전달할 수 있습니다.

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

    training_parameters:
      checkpoint_run_id : "target_checkpoint_run_id"
    

    AutoML 작업 제출

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

    AutoML 작업을 제출하려면 .yml 파일 경로, 작업 영역 이름, 리소스 그룹 및 구독 ID와 함께 다음 CLI v2 명령을 실행합니다.

    az ml job create --file ./hello-automl-job-basic.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
    

    출력 및 평가 메트릭

    자동화된 ML 학습 작업은 출력 모델 파일, 평가 메트릭, 로그 및 채점 파일 및 환경 파일과 같은 배포 아티팩트를 생성합니다. 이러한 파일과 메트릭은 자식 작업의 출력, 로그 및 메트릭 탭에서 볼 수 있습니다.

    작업 결과 보기 섹션에서 작업 결과로 이동하는 방법을 확인합니다.

    각 작업에 대해 제공되는 성능 차트 및 메트릭의 정의와 예제는 자동화된 Machine Learning 실험 결과 평가를 참조하세요.

    모델 등록 및 배포

    작업이 완료되면 최상의 평가판에서 생성된 모델을 등록할 수 있습니다(최상의 기본 메트릭에서 생성된 구성). 다운로드한 후 또는 해당 jobid를 사용하여 azureml 경로를 지정하여 모델을 등록할 수 있습니다. 참고: 아래에 설명된 유추 설정을 변경하려면 모델을 다운로드하고 settings.json을 변경하고 업데이트된 모델 폴더를 사용하여 등록해야 합니다.

    최상의 평가판 가져오기

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

    CLI example not available, please use Python SDK.
    

    모델 등록

    azureml 경로 또는 로컬로 다운로드한 경로를 사용하여 모델을 등록합니다.

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

     az ml model create --name od-fridge-items-mlflow-model --version 1 --path azureml://jobs/$best_run/outputs/artifacts/outputs/mlflow-model/ --type mlflow_model --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
    

    사용하려는 모델을 등록한 후 관리형 온라인 엔드포인트 deploy-managed-online-endpoint를 사용하여 모델을 배포할 수 있습니다.

    온라인 엔드포인트 구성

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

    $schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
    name: od-fridge-items-endpoint
    auth_mode: key
    

    엔드포인트 만들기

    이전에 만들어진 MLClient를 사용하여 작업 영역에 엔드포인트를 만듭니다. 이 명령은 엔드포인트 만들기를 시작하고 엔드포인트 만들기가 계속되는 동안 확인 응답을 반환합니다.

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

    az ml online-endpoint create --file .\create_endpoint.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
    

    온라인 배포 구성

    배포는 실제 유추를 수행하는 모델을 호스팅하는 데 필요한 리소스의 세트입니다. ManagedOnlineDeployment 클래스를 사용하여 엔드포인트에 대한 배포를 만듭니다. 배포 클러스터에 GPU 또는 CPU VM SKU를 사용할 수 있습니다.

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

    name: od-fridge-items-mlflow-deploy
    endpoint_name: od-fridge-items-endpoint
    model: azureml:od-fridge-items-mlflow-model@latest
    instance_type: Standard_DS3_v2
    instance_count: 1
    liveness_probe:
        failure_threshold: 30
        success_threshold: 1
        timeout: 2
        period: 10
        initial_delay: 2000
    readiness_probe:
        failure_threshold: 10
        success_threshold: 1
        timeout: 10
        period: 10
        initial_delay: 2000 
    

    배포 만들기

    이전에 만든 MLClient를 사용하여 이제 작업 영역에 배포를 만듭니다. 이 명령은 배포 만들기를 시작하고 배포 만들기가 계속되는 동안 확인 응답을 반환합니다.

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

    az ml online-deployment create --file .\create_deployment.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
    

    트래픽 업데이트:

    기본적으로 현재 배포는 0%의 트래픽을 수신하도록 설정됩니다. 현재 배포에서 수신해야 하는 트래픽 비율을 설정할 수 있습니다. 하나의 엔드포인트가 있는 모든 배포의 트래픽 백분율 합계는 100%를 초과하면 안 됩니다.

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

    az ml online-endpoint update --name 'od-fridge-items-endpoint' --traffic 'od-fridge-items-mlflow-deploy=100' --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
    

    또는 Azure Machine Learning 스튜디오 UI에서 모델을 배포할 수 있습니다. 자동화된 ML 작업의 모델 탭에서 배포하려는 모델로 이동하고 배포에서 선택하고 실시간 엔드포인트에 배포를 선택합니다.

    Screenshot of how the Deployment page looks like after selecting the Deploy option..

    검토 페이지의 모양은 다음과 같습니다. 인스턴스 유형, 인스턴스 수를 선택하고 현재 배포에 대한 트래픽 비율을 설정할 수 있습니다.

    Screenshot of how the top of review page looks like after selecting the options to deploy.. Screenshot of how the bottom of review page looks like after selecting the options to deploy..

    유추 설정 업데이트

    이전 단계에서는 최상의 모델에서 mlflow-model/artifacts/settings.json 파일을 다운로드했습니다. 모델을 등록하기 전에 유추 설정을 업데이트하는 데 사용할 수 있습니다. 최상의 성능을 위해 학습과 동일한 매개 변수를 사용하는 것이 좋습니다.

    각 작업(및 일부 모델)에는 매개 변수 세트가 있습니다. 기본적으로 학습 및 유효성 검사 중에 사용된 매개 변수에 대해 동일한 값을 사용합니다. 유추를 위해 모델을 사용할 때 필요한 동작에 따라 이러한 매개 변수를 변경할 수 있습니다. 아래에서 각 작업 종류 및 모델에 대한 매개 변수 목록을 찾을 수 있습니다.

    작업 매개 변수 이름 기본값
    이미지 분류(다중 클래스 및 다중 레이블) valid_resize_size
    valid_crop_size
    256
    224
    개체 감지 min_size
    max_size
    box_score_thresh
    nms_iou_thresh
    box_detections_per_img
    600
    1333
    0.3
    0.5
    100
    yolov5를 사용한 개체 감지 img_size
    model_size
    box_score_thresh
    nms_iou_thresh
    640
    보통
    0.1
    0.5
    인스턴스 구분 min_size
    max_size
    box_score_thresh
    nms_iou_thresh
    box_detections_per_img
    mask_pixel_score_threshold
    max_number_of_polygon_points
    export_as_image
    image_type
    600
    1333
    0.3
    0.5
    100
    0.5
    100
    False
    JPG

    작업별 하이퍼 매개 변수에 대한 자세한 설명은 자동화된 Machine Learning의 Computer Vision 작업에 대한 하이퍼 매개 변수를 참조하세요.

    타일링을 사용하고 타일링 동작을 제어하려는 경우 tile_grid_size, tile_overlap_ratiotile_predictions_nms_thresh 매개 변수를 사용할 수 있습니다. 이러한 매개 변수에 대한 자세한 내용은 AutoML을 사용하여 작은 개체 감지 모델 학습을 확인합니다.

    배포 테스트

    배포 테스트 섹션을 확인하여 배포를 테스트하고 모델의 검색을 시각화합니다.

    예측에 대한 설명 생성

    Important

    이러한 설정은 현재 공개 미리 보기로 제공됩니다. 서비스 수준 계약 없이 제공됩니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

    Warning

    모델 설명다중 클래스 분류다중 레이블 분류에서만 지원됩니다.

    이미지에 AutoML과 함께 XAI(Explainable AI)를 사용할 경우의 몇 가지 장점은 다음과 같습니다.

    • 복잡한 비전 모델 예측의 투명도 향상
    • 사용자가 모델 예측에 기여하는 입력 이미지의 중요한 기능/픽셀을 이해하는 데 도움
    • 모델 문제 해결에 도움
    • 바이어스 검색에 도움

    설명

    설명은 모델 예측에 대한 기여도에 따라 입력 이미지의 각 픽셀에 지정된 기능 특성 또는 가중치입니다. 각 가중치는 음수(예측과 부정적인 상관 관계) 또는 양수(예측과 긍정적 상관 관계)일 수 있습니다. 이러한 특성은 예측된 클래스에 대해 계산됩니다. 다중 클래스 분류의 경우 정확히 하나의 [3, valid_crop_size, valid_crop_size] 크기 특성 매트릭스가 샘플당 생성되는 반면 다중 레이블 분류의 경우 각 샘플에 대해 예측된 각 레이블/클래스에 대해 [3, valid_crop_size, valid_crop_size] 크기의 특성 매트릭스가 생성됩니다.

    배포된 엔드포인트의 이미지용 AutoML에서 설명 가능한 AI를 사용하여 사용자는 각 이미지에 대한 설명(입력 이미지에 오버레이된 특성) 및/또는 특성([3, valid_crop_size, valid_crop_size] 크기의 다차원 배열)을 시각화할 수 있습니다. 시각화 외에도 사용자는 특성 매트릭스를 가져와 설명에 대한 더 많은 제어를 얻을 수 있습니다(예: 특성을 사용하여 사용자 지정 시각화 생성 또는 특성 세그먼트를 면밀히 조사). 모든 설명 알고리즘은 특성을 생성하기 위해 valid_crop_size 크기의 잘린 정사각형 이미지를 사용합니다.

    온라인 엔드포인트 또는 일괄 처리 엔드포인트에서 설명을 생성할 수 있습니다. 배포가 완료되면 이 엔드포인트를 활용하여 예측에 대한 설명을 생성할 수 있습니다. 온라인 배포의 경우 설명을 생성하는 동안 시간 초과 문제를 방지하려면 request_settings = OnlineRequestSettings(request_timeout_ms=90000) 매개 변수를 ManagedOnlineDeployment에 전달하고 request_timeout_ms를 최댓값으로 설정해야 합니다(모델 등록 및 배포 섹션 참조). xrai와 같은 일부 XAI(설명 가능성) 메서드는 더 많은 시간을 소비합니다(특히 다중 레이블 분류를 위해 예측된 각 레이블에 대해 특성 및/또는 시각화를 생성해야 하므로). 따라서 더 빠른 설명을 위해 GPU 인스턴스를 권장합니다. 설명을 생성하기 위한 입력 및 출력 스키마에 대한 자세한 내용은 스키마 문서를 참조하세요.

    이미지에 대한 AutoML의 다음과 같은 최신 설명 알고리즘을 지원합니다.

    다음 표에서는 XRAI 및 통합 그라데이션에 대한 설명 알고리즘 특정 튜닝 매개 변수에 대해 설명합니다. 단계별 백프로포지션 및 단계별 gradcam에는 튜닝 매개 변수가 필요하지 않습니다.

    XAI 알고리즘 알고리즘별 매개 변수 기본값
    xrai 1. n_steps: 근사치 메서드에서 사용하는 단계 수입니다. 단계 수가 많을수록 특성의 근사값이 향상됩니다(설명). n_steps 범위는 [2, inf)이지만 특성의 성능은 50단계 후에 수렴하기 시작합니다.
    Optional, Int

    2. xrai_fast: 더 빠른 버전의 XRAI를 사용할지 여부입니다. True이면 설명에 대한 계산 시간이 더 빠르지만 덜 정확한 설명(특성)으로 이어집니다.
    Optional, Bool
    n_steps = 50
    xrai_fast = True
    integrated_gradients 1. n_steps: 근사치 메서드에서 사용하는 단계 수입니다. 단계 수가 많을수록 특성이 향상됩니다(설명). n_steps 범위는 [2, inf)이지만 특성의 성능은 50단계 후에 수렴하기 시작합니다.
    Optional, Int

    2. approximation_method: 정수에 근접하는 메서드입니다. 사용 가능한 근사치 메서드는 riemann_middlegausslegendre입니다.
    Optional, String
    n_steps = 50
    approximation_method = riemann_middle

    내부적으로 XRAI 알고리즘은 통합 그라데이션을 사용합니다. 따라서 통합 그라데이션 및 XRAI 알고리즘 모두에 n_steps 매개 변수가 필요합니다. 단계 수가 많을수록 설명을 근사화하기 위해 더 많은 시간을 소비하며 온라인 엔드포인트에서 시간 제한 문제가 발생할 수 있습니다.

    더 나은 설명을 위해 XRAI > 단계별 GradCAM > 통합 그라데이션 > 단계별 BackPropagation 알고리즘을 사용하는 것이 좋습니다. 반면, 단계별 BackPropagation > 단계별 GradCAM > 통합 그라데이션 > XRAI는 지정된 순서로 더 빠른 설명을 위해 권장됩니다.

    온라인 엔드포인트에 대한 샘플 요청은 다음과 같습니다. 이 요청은 model_explainabilityTrue로 설정된 경우 설명을 생성합니다. 다음 요청은 50단계로 구성된 더 빠른 버전의 XRAI 알고리즘을 사용하여 시각화 및 속성을 생성합니다.

    import base64
    import json
    
    def read_image(image_path):
        with open(image_path, "rb") as f:
            return f.read()
    
    sample_image = "./test_image.jpg"
    
    # Define explainability (XAI) parameters
    model_explainability = True
    xai_parameters = {"xai_algorithm": "xrai",
                      "n_steps": 50,
                      "xrai_fast": True,
                      "visualizations": True,
                      "attributions": True}
    
    # Create request json
    request_json = {"input_data": {"columns":  ["image"],
                                   "data": [json.dumps({"image_base64": base64.encodebytes(read_image(sample_image)).decode("utf-8"),
                                                        "model_explainability": model_explainability,
                                                        "xai_parameters": xai_parameters})],
                                   }
                    }
    
    request_file_name = "sample_request_data.json"
    
    with open(request_file_name, "w") as request_file:
        json.dump(request_json, request_file)
    
    resp = ml_client.online_endpoints.invoke(
        endpoint_name=online_endpoint_name,
        deployment_name=deployment.name,
        request_file=request_file_name,
    )
    predictions = json.loads(resp)
    

    설명 생성에 대한 자세한 내용은 자동화된 기계 학습 샘플에 대한 GitHub Notebook 리포지토리를 참조하세요.

    시각화 해석

    배포된 엔드포인트는 model_explainabilityvisualizations가 모두 True로 설정된 경우 base64로 인코딩된 이미지 문자열을 반환합니다. Notebook에 설명된 대로 base64 문자열을 디코딩하거나 다음 코드를 사용하여 예측에서 base64 이미지 문자열을 디코딩하고 시각화합니다.

    import base64
    from io import BytesIO
    from PIL import Image
    
    def base64_to_img(base64_img_str):
        base64_img = base64_img_str.encode("utf-8")
        decoded_img = base64.b64decode(base64_img)
        return BytesIO(decoded_img).getvalue()
    
    # For Multi-class classification:
    # Decode and visualize base64 image string for explanations for first input image
    # img_bytes = base64_to_img(predictions[0]["visualizations"])
    
    # For  Multi-label classification:
    # Decode and visualize base64 image string for explanations for first input image against one of the classes
    img_bytes = base64_to_img(predictions[0]["visualizations"][0])
    image = Image.open(BytesIO(img_bytes))
    

    다음 그림에서는 샘플 입력 이미지에 대한 설명 시각화를 설명합니다. Screenshot of visualizations generated by XAI for AutoML for images.

    디코딩된 base64 그림에는 2 x 2 그리드 내에 4개의 이미지 섹션이 있습니다.

    • 왼쪽 위 모서리(0, 0)의 이미지는 잘린 입력 이미지입니다
    • 오른쪽 위 모서리(0, 1)의 이미지는 예측 클래스에서 흰색 픽셀의 기여가 가장 높고 파란색 픽셀이 가장 낮은 색 배율 bgyw(파란색 녹색 노란색 흰색)에 대한 특성의 열 지도입니다.
    • 왼쪽 아래 모서리(1, 0)의 이미지는 잘린 입력 이미지에 특성이 혼합된 열 지도입니다
    • 오른쪽 아래 모서리(1, 1)의 이미지는 특성 점수를 기준으로 픽셀의 상위 30%를 가진 잘린 입력 이미지입니다.

    특성 해석

    배포된 엔드포인트는 model_explainabilityattributions가 모두 True로 설정된 경우 특성을 반환합니다. 자세한 내용은 다중 클래스 분류 및 다중 레이블 분류 노트를 참조하세요.

    이러한 특성은 사용자에게 사용자 지정 시각화를 생성하거나 픽셀 수준 특성 점수를 면밀히 조사하는 데 더 많은 제어를 제공합니다. 다음 코드 조각에서는 특성 매트릭스를 사용하여 사용자 지정 시각화를 생성하는 방법을 설명합니다. 다중 클래스 분류 및 다중 레이블 분류에 대한 특성 스키마에 대한 자세한 내용은 스키마 문서를 참조하세요.

    선택한 모델의 정확한 valid_resize_size 값과 valid_crop_size 값을 사용하여 설명을 생성합니다(기본값은 각각 256 및 224). 다음 코드는 Captum 시각화 기능을 사용하여 사용자 지정 시각화를 생성합니다. 사용자는 다른 라이브러리를 활용하여 시각화를 생성할 수 있습니다. 자세한 내용은 captum 시각화 유틸리티를 참조하세요.

    import colorcet as cc
    import numpy as np
    from captum.attr import visualization as viz
    from PIL import Image
    from torchvision import transforms
    
    def get_common_valid_transforms(resize_to=256, crop_size=224):
    
        return transforms.Compose([
            transforms.Resize(resize_to),
            transforms.CenterCrop(crop_size)
        ])
    
    # Load the image
    valid_resize_size = 256
    valid_crop_size = 224
    sample_image = "./test_image.jpg"
    image = Image.open(sample_image)
    # Perform common validation transforms to get the image used to generate attributions
    common_transforms = get_common_valid_transforms(resize_to=valid_resize_size,
                                                    crop_size=valid_crop_size)
    input_tensor = common_transforms(image)
    
    # Convert output attributions to numpy array
    
    # For Multi-class classification:
    # Selecting attribution matrix for first input image
    # attributions = np.array(predictions[0]["attributions"])
    
    # For  Multi-label classification:
    # Selecting first attribution matrix against one of the classes for first input image
    attributions = np.array(predictions[0]["attributions"][0])
    
    # visualize results
    viz.visualize_image_attr_multiple(np.transpose(attributions, (1, 2, 0)),
                                      np.array(input_tensor),
                                      ["original_image", "blended_heat_map"],
                                      ["all", "absolute_value"],
                                      show_colorbar=True,
                                      cmap=cc.cm.bgyw,
                                      titles=["original_image", "heatmap"],
                                      fig_size=(12, 12))
    

    큰 데이터 세트

    AutoML을 사용하여 대용량 데이터 세트를 학습하는 경우 유용할 수 있는 몇 가지 실험적 설정이 있습니다.

    Important

    이러한 설정은 현재 공개 미리 보기로 제공됩니다. 서비스 수준 계약 없이 제공됩니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

    다중 GPU 및 다중 노드 학습

    기본적으로 각 모델은 단일 VM에서 학습합니다. 모델을 학습하는 데 시간이 너무 많이 걸리는 경우 여러 GPU가 포함된 VM을 사용하는 것이 도움이 될 수 있습니다. 대용량 데이터 세트에서 모델을 학습하는 시간은 사용되는 GPU 수에 따라 대략 선형 비율로 감소해야 합니다. (예를 들어, 모델은 2개의 GPU가 있는 VM에서 1개의 GPU가 있는 VM보다 약 2배 빠르게 학습해야 합니다.) 여러 GPU가 있는 VM에서 모델을 학습하는 시간이 여전히 긴 경우 각 모델을 학습하는 데 사용되는 VM 수를 늘릴 수 있습니다. 다중 GPU 학습과 마찬가지로 대용량 데이터 세트에서 모델을 학습하는 시간도 사용된 VM 수에 따라 대략 선형 비율로 감소해야 합니다. 여러 VM에서 모델을 학습할 때 최상의 결과를 위해 InfiniBand를 지원하는 컴퓨팅 SKU를 사용해야 합니다. AutoML 작업의 node_count_per_trial 속성을 설정하여 단일 모델을 학습시키는 데 사용되는 VM 수를 구성할 수 있습니다.

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

    properties:
      node_count_per_trial: "2"
    

    스토리지에서 이미지 파일 스트리밍

    기본적으로 모든 이미지 파일은 모델 학습 전에 디스크에 다운로드됩니다. 이미지 파일의 크기가 사용 가능한 디스크 공간보다 크면 작업이 실패합니다. 모든 이미지를 디스크에 다운로드하는 대신 학습 중에 필요에 따라 Azure 스토리지에서 이미지 파일을 스트리밍하도록 선택할 수 있습니다. 이미지 파일은 디스크를 우회하여 Azure 스토리지에서 시스템 메모리로 직접 스트리밍됩니다. 동시에 스토리지에 대한 요청 수를 최소화하기 위해 스토리지에서 가능한 한 많은 파일을 디스크에 캐시합니다.

    참고 항목

    스트리밍을 사용하도록 설정한 경우 비용과 대기 시간을 최소화하기 위해 Azure 스토리지 계정이 컴퓨팅과 동일한 지역에 있는지 확인합니다.

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

    training_parameters:
      advanced_settings: >
        {"stream_image_files": true}
    

    예제 Notebook

    자동화된 기계 학습 샘플에 대한 GitHub Notebook 리포지토리에서 자세한 코드 예제 및 사용 사례를 검토합니다. Computer Vision 모델 빌드와 관련된 샘플은 'automl-image-' 접두사가 있는 폴더를 확인합니다.

    코드 예제

    자동화된 Machine Learning 샘플에 대한 azureml-examples 리포지토리에서 자세한 코드 예와 사용 사례를 검토합니다.

    다음 단계