조직 규모에서 Azure Machine Learning에 대한 예산, 비용 및 할당량 관리

많은 워크로드, 팀 및 사용자가 있는 조직 규모의 Azure Machine Learning에서 발생하는 컴퓨팅 비용을 관리하는 경우 해결해야 하는 수많은 관리 및 최적화 문제가 있습니다.

이 문서에서는 Azure Machine Learning을 사용하여 비용을 최적화하고, 예산을 관리하고, 할당량을 공유하는 모범 사례를 제공합니다. 여기에는 Microsoft 내부에서 기계 학습 팀을 운영하고 고객과 협력하면서 배운 경험과 교훈이 반영됩니다. 다음을 수행하는 방법을 알아봅니다.

워크로드 요구 사항을 충족하도록 컴퓨팅 최적화

새 기계 학습 프로젝트를 시작하는 경우 컴퓨팅 요구 사항을 잘 파악하기 위해 예비 작업이 필요할 수 있습니다. 이 섹션에서는 학습, 유추 또는 작업할 워크스테이션에 적합한 VM(가상 머신) SKU 선택을 결정하는 방법에 대한 권장 사항을 제공합니다.

학습 컴퓨팅 크기 결정

학습 워크로드에 대한 하드웨어 요구 사항은 프로젝트마다 다를 수 있습니다. 이러한 요구 사항을 충족하기 위해 Azure Machine Learning 컴퓨팅은 다양한 유형의 VM을 제공합니다.

  • 범용: 균형 잡힌 CPU 대 메모리 비율
  • 메모리 최적화: 높은 메모리 대 CPU 비율
  • 컴퓨팅 최적화: 높은 CPU 대 메모리 비율
  • 고성능 컴퓨팅: 다양한 실제 HPC 워크로드에 대해 업계 최고 수준의 성능, 확장성 및 비용 효율성을 제공합니다.
  • GPU 사용 인스턴스: 사용량이 많은 그래픽 렌더링 및 비디오 편집뿐만 아니라 딥 러닝을 사용하는 모델 학습 및 유추(ND)도 대상으로 하는 특수 가상 머신입니다.

아직 컴퓨팅 요구 사항을 구체적으로 모를 수도 있습니다. 이 시나리오에서는 다음과 같은 비용 효율적인 기본 옵션 중 하나로 시작하는 것이 좋습니다. 이러한 옵션은 간단한 테스트 및 학습 워크로드를 위한 것입니다.

형식 가상 머신 크기 사양
CPU Standard_DS3_v2 4개 코어, 14GB(기가바이트) RAM, 28GB 스토리지
GPU Standard_NC6 6개 코어, 56GB(기가바이트) RAM, 380GB 스토리지, NVIDIA Tesla K80 GPU

시나리오에 가장 적합한 VM 크기를 얻기 위해 시행착오로 구성될 수 있습니다. 고려해야 할 몇 가지 측면은 다음과 같습니다.

  • CPU가 필요한 경우:
    • 대규모 데이터 세트에서 학습하는 경우 메모리 최적화 VM을 사용합니다.
    • 실시간 유추 또는 대기 시간이 중요한 기타 작업을 수행하는 경우 컴퓨팅 최적화 VM을 사용합니다.
    • 학습 시간을 단축하려면 더 많은 코어와 RAM이 있는 VM을 사용합니다.
  • GPU가 필요한 경우 VM 선택에 대한 내용은 GPU 최적화 VM 크기를 참조하세요.
    • 분산 학습을 수행하는 경우 여러 GPU가 있는 VM 크기를 사용합니다.
    • 여러 노드에서 분산 학습을 수행하는 경우 NVLink 연결이 있는 GPU를 사용합니다.

워크로드에 가장 적합한 VM 유형 및 SKU를 선택하는 동안 CPU와 GPU 성능 및 가격 책정 간의 절충점으로 비교 가능한 VM SKU를 평가합니다. 비용 관리 관점에서 작업은 여러 SKU에서 합리적으로 잘 실행될 수 있습니다.

NC 제품군, 특히 NC_Promo SKU와 같은 특정 GPU는 대기 시간이 짧고 여러 컴퓨팅 워크로드를 병렬로 관리하는 기능과 같은 다른 GPU와 비슷한 기능을 갖추고 있습니다. 다른 GPU 중 일부에 비해 ​​할인된 가격으로 사용할 수 있습니다. 워크로드에 대한 VM SKU를 신중하게 선택하는 경우 결국에는 비용을 크게 절감할 수 있습니다.

사용률의 중요성에 대한 미리 알림은 더 많은 수의 GPU에 가입하는 것이 반드시 더 빠른 결과로 실행되는 것은 아닙니다. 대신 GPU가 완전히 활용되었는지 확인합니다. 예를 들어 NVIDIA CUDA가 필요한지 다시 확인합니다. 고성능 GPU를 실행하는 데 필요할 수 있지만 작업에 종속되지 않을 수 있습니다.

유추 컴퓨팅 크기 결정

유추 시나리오에 대한 컴퓨팅 요구 사항은 학습 시나리오와 다릅니다. 사용 가능한 옵션은 시나리오에서 일괄 처리 오프라인 유추가 필요한지, 아니면 실시간 온라인 유추가 필요한지에 따라 다릅니다.

실시간 유추 시나리오의 경우 고려해야 할 제안 사항은 다음과 같습니다.

  • 모델에서 Azure Machine Learning을 통해 프로파일링 기능을 사용하여 웹 서비스로 배포할 때 모델에 할당해야 하는 CPU 및 메모리 양을 결정합니다.
  • 실시간 유추를 수행하지만 고가용성이 필요하지 않은 경우 Azure Container Instances(SKU 선택 없음)에 배포합니다.
  • 실시간 유추를 수행하지만 고가용성이 필요한 경우 Azure Kubernetes Service에 배포합니다.
    • 기존 기계 학습 모델을 사용하고 초당 10개 초과의 쿼리를 받는 경우 CPU SKU로 시작합니다. F 시리즈 SKU는 효율적으로 작동하는 경우가 많습니다.
    • 딥 러닝 모델을 사용하고 초당 10개 미만의 쿼리를 받는 경우 Triton과 함께 NVIDIA GPU SKU(NCasT4_v3이 효율적으로 작동하는 경우가 많음)를 사용해 봅니다.

일괄 처리 유추 시나리오의 경우 고려해야 할 제안 사항은 다음과 같습니다.

  • Azure Machine Learning 파이프라인을 일괄 처리 유추에 사용하는 경우 학습 컴퓨팅 크기 결정의 지침에 따라 초기 VM 크기를 선택합니다.
  • 크기를 수평으로 조정하여 비용과 성능을 최적화합니다. 비용 및 성능을 최적화하는 주요 방법 중 하나는 Azure Machine Learning의 병렬 실행 단계를 통해 워크로드를 병렬로 처리하는 것입니다. 이 파이프라인 단계를 사용하면 많은 작은 노드를 사용하여 작업을 병렬로 실행할 수 있으므로 크기를 수평으로 할 수 있습니다. 그러나 병렬 처리에 대한 오버헤드가 있습니다. 달성할 수 있는 워크로드 및 병렬 처리 수준에 따라 병렬 실행 단계가 옵션이 될 수도 있고 아닐 수도 있습니다.

컴퓨팅 인스턴스 크기 결정

대화형 개발의 경우 Azure Machine Learning의 컴퓨팅 인스턴스를 사용하는 것이 좋습니다. CI(컴퓨팅 인스턴스) 제품은 단일 사용자에게 바인딩되고 클라우드 워크스테이션으로 사용할 수 있는 단일 노드 컴퓨팅을 제공합니다.

일부 조직에서는 로컬 워크스테이션에서 프로덕션 데이터를 사용하도록 허용하지 않거나, 제한을 워크스테이션 환경에 적용하거나, 회사 IT 환경에서 패키지 및 종속성의 설치를 제한합니다. 이러한 제한은 컴퓨팅 인스턴스를 워크스테이션으로 사용하여 극복할 수 있습니다. 프로덕션 데이터에 액세스할 수 있는 안전한 환경을 제공하고, 데이터 과학을 위한 인기 있는 패키지 및 도구가 미리 설치된 이미지에서 실행됩니다.

컴퓨팅 인스턴스가 실행되는 경우 VM 컴퓨팅, 표준 Load Balancer(lb/아웃바운드 규칙 및 처리된 데이터 포함), OS 디스크(프리미엄 SSD 관리 P10 디스크), 임시 디스크(임시 디스크 유형은 VM 크기에 따라 다름) 및 공용 IP 주소에 대한 요금이 사용자에게 청구됩니다. 사용자는 비용을 절약하기 위해 다음 사항을 고려하는 것이 좋습니다.

  • 사용하지 않을 때 컴퓨팅 인스턴스를 시작하고 중지합니다.
  • 컴퓨팅 인스턴스에서 데이터 샘플로 작업하고, 컴퓨팅 클러스터를 스케일 아웃하여 전체 데이터 세트로 작업합니다.
  • 개발 또는 테스트하는 동안 또는 전체 규모로 작업을 제출할 때 공유 컴퓨팅 용량으로 전환하는 경우 컴퓨팅 인스턴스의 로컬 컴퓨팅 대상 모드에서 실험 작업을 제출합니다. 예를 들어 많은 Epoch, 전체 데이터 세트 및 하이퍼 매개 변수 검색이 있습니다.

컴퓨팅 인스턴스를 중지하면 VM 컴퓨팅 시간, 임시 디스크 및 표준 Load Balancer 데이터 처리 비용에 대한 청구가 중지됩니다. 컴퓨팅 인스턴스가 중지된 경우에도 사용자는 OS 디스크 및 표준 Load Balancer에 포함된 lb/아웃바운드 규칙에 대한 요금을 계속 지불합니다. OS 디스크에 저장된 모든 데이터는 중지 및 다시 시작을 통해 유지됩니다.

컴퓨팅 사용률을 모니터링하여 선택한 VM 크기 튜닝

Azure Monitor를 통해 Azure Machine Learning 컴퓨팅 사용량 및 사용률에 대한 정보를 볼 수 있습니다. 모델 배포 및 등록에 대한 세부 정보, 활성 및 유휴 노드와 같은 할당량 세부 정보, 실행 세부 정보(예: 취소되고 완료된 실행) 및 GPU/CPU 사용에 대한 컴퓨팅 사용률을 볼 수 있습니다.

모니터링 세부 정보의 인사이트를 기반으로 하여 팀 전체에서 리소스 사용량을 더 효율적으로 계획하거나 조정할 수 있습니다. 예를 들어 지난 주 동안 많은 유휴 노드가 발견된 경우 이러한 추가 비용을 방지하기 위해 해당 작업 영역 소유자와 협력하여 컴퓨팅 클러스터 구성을 업데이트할 수 있습니다. 사용률 패턴 분석을 활용하면 비용을 예측하고 예산을 개선하는 데 도움이 될 수 있습니다.

이러한 메트릭은 Azure Portal에서 직접 액세스할 수 있습니다. Azure Machine Learning 작업 영역으로 이동하고, 왼쪽 패널의 모니터링 섹션 아래에서 메트릭을 선택합니다. 그런 다음, 메트릭, 집계 및 기간과 같이 확인하려는 항목에 대한 세부 정보를 선택할 수 있습니다. 자세한 내용은 Azure Machine Learning 모니터링 설명서 페이지를 참조하세요.

Azure Machine Learning에 대한 Azure Monitor 메트릭 다이어그램

개발하는 동안 로컬, 단일 노드 및 다중 노드 클라우드 컴퓨팅 간 전환

기계 학습 수명 주기 전반에 걸쳐 다양한 컴퓨팅 및 도구 요구 사항이 있습니다. Azure Machine Learning은 이러한 요구 사항을 충족하기 위해 SDK 및 CLI 인터페이스를 통해 거의 모든 기본 설정 워크스테이션 구성에서 인터페이스할 수 있습니다.

비용을 절감하고 생산성을 높이려면 다음을 수행하는 것이 좋습니다.

  • Git을 사용하여 실험 코드베이스를 로컬로 복제하고, Azure Machine Learning SDK 또는 CLI를 사용하여 작업을 클라우드 컴퓨팅에 제출합니다.
  • 데이터 세트가 큰 경우 전체 데이터 세트를 클라우드 스토리지에 유지하면서 로컬 워크스테이션에서 데이터 샘플을 관리하는 것이 좋습니다.
  • 다양한 Epoch 수 또는 다양한 크기의 데이터 세트에서 실행되는 작업을 구성할 수 있도록 실험 코드베이스를 매개 변수화합니다.
  • 데이터 세트의 폴더 경로를 하드 코딩하지 않습니다. 그러면 로컬 및 클라우드 실행 컨텍스트에서 다른 데이터 세트와 동일한 코드베이스를 쉽게 다시 사용할 수 있습니다.
  • 개발 또는 테스트하는 동안 또는 전체 규모로 작업을 제출할 때 공유 컴퓨팅 클러스터 용량으로 전환하는 경우 로컬 컴퓨팅 대상 모드에서 실험 작업을 부트스트랩합니다.
  • 데이터 세트가 큰 경우 로컬 또는 컴퓨팅 인스턴스 워크스테이션에서 데이터 샘플로 작업하고 Azure Machine Learning에서 클라우드 컴퓨팅 크기로 조정하여 전체 데이터 세트로 작업합니다.
  • 작업을 실행하는 데 시간이 오래 걸리는 경우 수평 스케일 아웃을 허용하도록 분산 학습 코드베이스를 최적화하는 것이 좋습니다.
  • 단일 노드 및 다중 노드 컴퓨팅을 유연하게 사용하고 선점할 수 있는 컴퓨팅을 쉽게 사용할 수 있도록 노드 탄력성에 맞게 분산 학습 워크로드를 설계합니다.

Azure Machine Learning 파이프라인을 사용하여 컴퓨팅 유형 결합

기계 학습 워크플로를 오케스트레이션하는 경우 파이프라인을 여러 단계로 정의할 수 있습니다. 파이프라인의 각 단계는 자체 컴퓨팅 유형에서 실행할 수 있습니다. 이렇게 하면 기계 학습 수명 주기 전반에 걸쳐 다양한 컴퓨팅 요구 사항을 충족하도록 성능과 비용을 최적화할 수 있습니다.

팀 예산을 최대한 활용

예산 할당 결정은 개별 팀의 제어 범위를 벗어날 수 있지만, 일반적으로 팀은 할당된 예산을 최상의 요구 사항에 사용할 수 있습니다. 작업 우선 순위와 성능 및 비용을 현명하게 절충하면 팀에서 클러스터 사용률을 높이고, 전체 비용을 낮추며, 동일한 예산에서 더 많은 컴퓨팅 시간을 사용할 수 있습니다. 이에 따라 팀 생산성이 향상될 수 있습니다.

공유 컴퓨팅 리소스 비용 최적화

공유 컴퓨팅 리소스의 비용을 최적화하는 핵심은 해당 리소스가 전체 용량으로 사용되고 있는지 확인하는 것입니다. 공유 리소스 비용을 최적화하기 위한 몇 가지 팁은 다음과 같습니다.

  • 컴퓨팅 인스턴스를 사용하는 경우 실행할 코드가 있을 때만 해당 인스턴스를 켭니다. 사용하지 않을 때는 종료합니다.
  • 컴퓨팅 클러스터를 사용하는 경우 최소 노드 수를 0으로 설정하고, 최대 노드 수를 예산 제약 조건에 따라 평가되는 수로 설정합니다. Azure 가격 계산기를 사용하여 선택한 VM SKU의 VM 노드 하나에 대한 전체 사용률 비용을 계산합니다. 자동 크기 조정은 사용하는 사용자가 없을 때 모든 컴퓨팅 노드를 스케일 다운합니다. 예산이 있는 노드 수로만 스케일 업됩니다. 자동 크기 조정은 모든 컴퓨팅 노드를 스케일 다운하도록 구성할 수 있습니다.
  • 모델을 학습할 때 CPU 사용률 및 GPU 사용률과 같은 리소스 사용률을 모니터링합니다. 리소스가 완전히 사용되지 않는 경우 리소스를 더 효율적으로 사용하도록 코드를 수정하거나 더 작거나 저렴한 VM 크기로 스케일 다운합니다.
  • 클러스터 크기 조정 작업으로 인한 컴퓨팅 비효율성을 방지하기 위해 팀을 위한 공유 컴퓨팅 리소스를 만들 수 있는지 여부를 평가합니다.
  • 사용 현황 메트릭에 따라 컴퓨팅 클러스터 자동 크기 조정 시간 제한 정책을 최적화합니다.
  • 작업 영역 할당량을 사용하여 개별 작업 영역에서 액세스할 수 있는 컴퓨팅 리소스의 양을 제어합니다.

여러 VM SKU에 대한 클러스터를 만들어 예약 우선 순위 도입

할당량 및 예산 제약 조건에 따라 작업을 수행하는 경우 중요한 작업이 적시에 실행되고 예산이 가능한 최선의 방식으로 사용되도록 팀에서 적시 작업 실행과 비용을 절충해야 합니다.

최상의 컴퓨팅 사용률을 지원하기 위해 팀에서 다양한 크기의 클러스터를 만들고 낮은 우선 순위전용 VM 우선 순위를 사용하는 것이 좋습니다. 우선 순위가 낮은 컴퓨팅은 Azure에서 잉여 용량을 사용하므로 할인된 요금이 제공됩니다. 단점은 더 높은 우선 순위 요청이 들어올 때마다 이러한 컴퓨터를 선점할 수 있다는 것입니다.

다양한 크기와 우선 순위의 클러스터를 사용하면 예약 우선 순위에 대한 개념을 도입할 수 있습니다. 예를 들어 실험 작업과 프로덕션 작업이 동일한 NC GPU 할당량을 놓고 경쟁하는 경우 프로덕션 작업이 실험 작업보다 우선적으로 실행될 수 있습니다. 이 경우 전용 컴퓨팅 클러스터에서 프로덕션 작업을 실행하고, 우선 순위가 낮은 컴퓨팅 클러스터에서 실험 작업을 실행합니다. 할당량이 부족하면 실험 작업이 프로덕션 작업보다 먼저 실행됩니다.

작업은 VM 우선 순위 다음으로 다양한 VM SKU에서 실행하는 것이 좋습니다. P40 GPU가 있는 VM 인스턴스에서 작업을 실행하는 경우 V100 GPU보다 더 오래 걸릴 수 있습니다. 그러나 V100 VM 인스턴스가 점유되거나 할당량이 완전히 사용될 수 있으므로 작업 처리량 관점에서 P40의 완료 시간이 여전히 더 빠를 수 있습니다. 또한 비용 관리 관점에서 성능이 낮고 저렴한 VM 인스턴스에서 우선 순위가 낮은 작업을 실행하는 것을 고려할 수도 있습니다.

학습이 수렴되지 않는 경우 실행 조기 종료

모델을 기준과 비교하여 향상시키기 위해 지속적으로 실험하는 경우 각각 약간 다른 구성을 사용하여 다양한 실험을 실행할 수 있습니다. 한 번의 실행으로 입력 데이터 세트를 조정할 수 있습니다. 다른 실행의 경우 하이퍼 매개 변수를 변경할 수 있습니다. 모든 변경이 다른 변경만큼 효과적이지 않을 수 있습니다. 변경 내용이 모델 학습의 품질에 의도된 영향을 미치지 않았음을 조기에 감지합니다. 학습이 수렴되지 않는지 감지하려면 실행 중에 학습 진행 상황을 모니터링합니다. 예를 들어 각 학습 Epoch 후에 성능 메트릭을 기록합니다. 다른 평가판에 대한 리소스와 예산을 확보하기 위해 작업을 조기에 종료하는 것이 좋습니다.

예산, 비용 및 할당량 계획, 관리 및 공유

조직에서 기계 학습 사용 사례 및 팀의 수가 증가함에 따라 효율적인 운영을 보장하기 위해 IT 및 재무에서 운영 완성도를 높이고 개별 기계 학습 팀 간에 조정해야 합니다. 회사 규모의 용량 및 할당량 관리는 컴퓨팅 리소스의 부족을 해결하고 관리 오버헤드를 극복하는 데 중요합니다.

이 섹션에서는 엔터프라이즈 규모에서 예산, 비용 및 할당량을 계획하고 관리하고 공유하는 모범 사례에 대해 설명합니다. Microsoft에서 내부적으로 기계 학습을 위한 많은 GPU 학습 리소스를 관리하면서 획득한 학습을 기반으로 합니다.

Azure Machine Learning을 통한 리소스 지출 이해

컴퓨팅 요구 사항을 계획하는 관리자의 가장 큰 과제 중 하나는 기록 정보 없이 기준 예측으로 새로 시작하는 것입니다. 실용적인 의미에서 대부분의 프로젝트는 첫 번째 단계로 적은 예산에서 시작합니다.

예산이 어디로 가는지 이해하려면 Azure Machine Learning 비용의 출처를 아는 것이 중요합니다.

  • Azure Machine Learning은 사용된 컴퓨팅 인프라에 대해서만 요금을 청구하고 컴퓨팅 비용에 대한 추가 요금은 추가하지 않습니다.
  • Azure Machine Learning 작업 영역을 만들면 Azure Machine Learning을 사용하도록 설정하는 몇 가지 다른 리소스(Key Vault, Application Insights, Azure Storage 및 Azure Container Registry)도 만들어집니다. 이러한 리소스는 Azure Machine Learning에서 사용되며 이러한 리소스에 대한 비용을 지불하게 됩니다.
  • 학습 클러스터, 컴퓨팅 인스턴스 및 관리되는 유추 엔드포인트와 같은 관리형 컴퓨팅과 관련된 비용이 있습니다. 이러한 관리형 컴퓨팅 리소스를 사용하면 가상 머신, 가상 네트워크, 부하 분산 장치, 대역폭 및 스토리지와 같은 인프라에 대한 비용을 고려해야 합니다.

지출 패턴을 추적하고 태그 지정을 사용하여 더 나은 보고 달성

관리자는 종종 Azure Machine Learning에서 다양한 리소스에 대한 비용을 추적할 수 있어야 합니다. 태그 지정은 이 문제에 대한 자연스러운 솔루션이며 Azure 및 다른 많은 클라우드 서비스 공급자가 사용하는 일반적인 접근 방식과 일치합니다. 태그 지원을 사용하면 이제 컴퓨팅 수준에서 비용 분석을 볼 수 있으므로 더 나은 비용 모니터링, 향상된 보고 및 더 큰 투명성을 지원하기 위해 보다 세분화된 보기에 대한 액세스 권한을 부여합니다.

태그 지정을 사용하면 작업 영역 및 컴퓨팅(Azure Resource Manager 템플릿 및 Azure Machine Learning 스튜디오)에 사용자 지정된 태그를 배치하여 이러한 태그를 기반으로 Azure Cost Management에서 이러한 리소스를 추가로 필터링하여 지출 패턴을 관찰할 수 있습니다. 이 기능은 내부 지불 거절 시나리오에 가장 잘 활용할 수 있습니다. 또한 태그는 프로젝트, 팀, 특정 청구 코드 등 컴퓨팅과 연결된 메타데이터나 세부 정보를 캡처하는 데 유용할 수 있습니다. 따라서 태그 지정은 다양한 리소스에 지출하는 비용을 측정하여 팀 또는 프로젝트 전반의 비용과 지출 패턴에 대한 심층적인 인사이트를 얻는 데 매우 유용합니다.

또한 "컴퓨팅 유형" 태그로 비용 분석 페이지에서 필터링하여 총 지출에 대한 컴퓨팅 현명한 분석을 확인하고 대부분의 비용에 영향을 미칠 수 있는 컴퓨팅 리소스 범주를 결정할 수 있는 시스템 삽입 태그가 컴퓨팅에 배치되어 있습니다. 이는 학습 및 유추 비용 패턴에 대한 가시성을 높이는 데 특히 유용합니다.

컴퓨팅 유형별로 필터링된 비용 분석 보기의 스크린샷.

정책별 컴퓨팅 사용량 제어 및 제한

워크로드가 많은 Azure 환경을 관리하는 경우 리소스 지출에 대한 개요를 유지하는 것이 어려울 수 있습니다. Azure Policy는 Azure 환경 전체에서 특정 사용량 패턴을 제한하여 리소스 지출을 제어하고 통제하는 데 도움이 될 수 있습니다.

특히 Azure Machine Learning의 경우 특정 VM SKU만 사용할 수 있도록 허용하는 정책을 설정하는 것이 좋습니다. 정책은 비용이 많이 드는 VM 선택을 방지하고 제어하는 ​​데 도움이 될 수 있습니다. 또한 정책을 사용하여 우선 순위가 낮은 VM SKU 사용을 적용할 수 있습니다.

비즈니스 우선 순위에 따른 할당량 할당 및 관리

Azure를 사용하면 구독 및 Azure Machine Learning 작업 영역 수준에서 할당량 할당에 대한 제한을 설정할 수 있습니다. Azure RBAC(역할 기반 액세스 제어)를 통해 할당량을 관리할 수 있는 사용자를 제한하면 리소스 사용률과 비용 예측 가능성을 보장하는 데 도움이 됩니다.

구독 전체에서 GPU 할당량의 가용성이 부족할 수 있습니다. 워크로드에서 높은 할당량 사용률을 보장하려면 할당량이 워크로드에서 가장 효율적으로 사용되고 할당되는지 여부를 모니터링하는 것이 좋습니다.

Microsoft에서는 비즈니스 우선 순위에 대한 사용량 요구 사항을 평가하여 기계 학습 팀 전체에서 GPU 할당량이 가장 효율적으로 사용되고 할당되는지 여부를 주기적으로 결정합니다.

미리 용량 커밋

내년 또는 향후 몇 년 동안 사용되는 컴퓨팅의 양을 적절히 예측할 수 있는 경우 Azure Reserved VM Instances를 할인된 비용으로 구매할 수 있습니다. 1년 또는 3년 구매 조건이 있습니다. Azure Reserved VM Instances는 할인되므로 종량제 가격에 비해 비용을 크게 절감할 수 있습니다.

Azure Machine Learning은 예약된 컴퓨팅 인스턴스를 지원합니다. 할인은 Azure Machine Learning 관리형 컴퓨팅에 대해 자동으로 적용됩니다.

데이터 보존 관리

기계 학습 파이프라인이 실행될 때마다 데이터 캐싱 및 재사용을 위해 각 파이프라인 단계에서 중간 데이터 세트를 생성할 수 있습니다. 이러한 기계 학습 파이프라인의 출력으로 데이터가 증가하는 것은 많은 기계 학습 실험을 실행하는 조직에서 큰 문제가 될 수 있습니다.

데이터 과학자는 일반적으로 생성된 중간 데이터 세트를 정리하는 데 시간을 소비하지 않습니다. 시간이 지남에 따라 생성되는 데이터의 양은 늘어납니다. Azure Storage에는 데이터 수명 주기 관리를 향상시키는 기능이 제공됩니다. Azure Blob Storage 수명 주기 관리를 사용하면 사용하지 않는 데이터를 더 낮은 콜드 스토리지로 이동하고 비용을 절감하는 일반 정책을 설정할 수 있습니다.

인프라 비용 최적화 고려 사항

네트워킹

Azure 네트워킹 비용은 Azure 데이터 센터의 아웃바운드 대역폭에서 발생합니다. Azure 데이터 센터에 대한 모든 인바운드 데이터는 무료입니다. 네트워크 비용을 줄이는 핵심은 가능한 한 모든 리소스를 동일한 데이터 센터 지역에 배포하는 것입니다. Azure Machine Learning 작업 영역 및 컴퓨팅을 데이터가 있는 동일한 지역에 배포할 수 있는 경우 더 낮은 비용과 더 높은 성능을 사용할 수 있습니다.

하이브리드 클라우드 환경을 갖기 위해 온-프레미스 네트워크와 Azure 네트워크 간에 프라이빗 연결을 원할 수 있습니다. ExpressRoute를 사용하면 이렇게 할 수 있지만 ExpressRoute의 높은 비용을 고려하면 하이브리드 클라우드 설정에서 벗어나 모든 리소스를 Azure 클라우드로 이동하는 것이 더 비용 효율적일 수 있습니다.

Azure Container Registry

Azure Container Registry의 경우 비용 최적화를 결정하는 요소는 다음과 같습니다.

  • Docker 이미지를 컨테이너 레지스트리에서 Azure Machine Learning으로 다운로드하는 데 필요한 처리량
  • Azure Private Link와 같은 엔터프라이즈 보안 기능에 대한 요구 사항

높은 처리량 또는 엔터프라이즈 보안이 필요한 프로덕션 시나리오의 경우 Azure Container Registry의 프리미엄 SKU를 사용하는 것이 좋습니다.

처리량과 보안이 덜 중요한 개발/테스트 시나리오의 경우 표준 SKU 또는 프리미엄 SKU를 사용하는 것이 좋습니다.

Azure Container Registry의 기본 SKU는 Azure Machine Learning에 권장되지 않습니다. 비교적 큰 크기(1GB 이상)인 Azure Machine Learning의 Docker 이미지에서 빠르게 초과할 수 있는 낮은 처리량과 적은 용량의 포함 스토리지로 인해 권장되지 않습니다.

Azure 지역을 선택하는 경우 컴퓨팅 유형 가용성 고려

컴퓨팅에 대한 지역을 선택하는 경우 컴퓨팅 할당량 가용성을 고려해야 합니다. 미국 동부, 미국 서부, 서유럽과 같이 인기 있는 대규모 지역은 더 엄격한 용량 제한이 있는 일부 다른 지역에 비해 기본 할당량 값이 더 높고 대부분의 CPU 및 GPU 가용성이 더 높은 경향이 있습니다.

자세한 정보

클라우드 채택 프레임워크를 사용하여 사업부, 환경 또는 프로젝트 전반에서 비용 추적

다음 단계

Azure Machine Learning 환경을 구성하고 설정하는 방법에 대한 자세한 내용은 Azure Machine Learning 환경 구성 및 설정을 참조하세요.

Azure Machine Learning을 사용하는 Machine Learning DevOps의 모범 사례에 대해 알아보려면 Machine learning DevOps 가이드를 참조하세요.