다음을 통해 공유


Azure Machine Learning 비용 관리 및 최적화

이 문서에서는 기계 학습 모델을 학습시키고 Azure Machine Learning에 배포할 때 비용을 관리하고 최적화하는 방법을 알아봅니다.

다음 팁을 사용하여 컴퓨팅 리소스 비용을 관리하고 최적화할 수 있습니다.

  • Azure Machine Learning 컴퓨팅 클러스터 사용
  • 자동 크기 조정을 위한 학습 클러스터 구성
  • 자동 크기 조정을 위해 관리형 온라인 엔드포인트를 구성합니다.
  • 구독 및 작업 영역에 대한 할당량 설정
  • 학습 작업에 대한 종료 정책 설정
  • 우선 순위가 낮은 VM(가상 머신) 사용
  • 컴퓨팅 인스턴스가 자동으로 종료 및 시작하도록 예약
  • Azure Reserved VM Instance 사용
  • 학습 병렬화
  • 데이터 보존 및 삭제 정책 설정
  • 동일한 지역에 리소스 배포
  • 실패한 배포 삭제

비용 계획 및 모니터링에 관한 자세한 내용은 Azure Machine Learning의 비용 관리 계획을 참조하세요.

Important

이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공됩니다. 프로덕션 워크로드에 대한 미리 보기 버전은 권장하지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

Azure Machine Learning 컴퓨팅 클러스터 사용

지속적으로 변화하는 데이터를 통해 정확한 모델을 유지하기 위해 빠르고 효율적인 모델 학습 및 재학습을 수행해야 합니다. 단, 지속적인 학습에는 비용이 발생합니다. 특히나 GPU의 딥 러닝 모델에 대해 그렇습니다.

Azure Machine Learning 사용자는 AmlCompute라고도 하는 관리되는 Azure Machine Learning 컴퓨팅 클러스터를 사용할 수 있습니다. AmlCompute는 다양한 GPU 및 CPU 옵션을 지원합니다. AmlCompute는 Azure Machine Learning에 의해 사용자 구독을 대신하여 내부적으로 호스팅됩니다. Azure IaaS 클라우드 규모에서 동일한 엔터프라이즈급 보안, 규정 준수 및 거버넌스를 제공합니다.

이러한 컴퓨팅 풀이 Azure의 IaaS 인프라 내에 있으므로 인프라의 나머지 부분과 동일한 보안 및 규정 준수 요구 사항을 사용하여 학습을 배포, 확장 및 관리할 수 있습니다. 이러한 배포는 구독에서 발생하고 거버넌스 규칙을 준수합니다. 자세한 내용은 Azure Machine Learning 비용 관리 계획을 참조하세요.

자동 크기 조정을 위한 학습 클러스터 구성

워크로드 요구 사항에 따라 클러스터 크기를 자동으로 조정하면 필요한 기능만 사용하도록 비용을 줄일 수 있습니다.

AmlCompute 클러스터는 워크로드에 따라 동적으로 크기를 조정하도록 설계되었습니다. 클러스터는 구성하는 최대 노드 수까지 확장할 수 있습니다. 각 작업이 완료되면 클러스터는 노드를 해제하고 구성된 최소 노드 수로 크기를 조정합니다.

Important

실행 중인 작업이 없는 경우 요금이 부과되지 않도록 최소 노드를 0으로 설정합니다. 이 설정을 사용하면 Azure Machine Learning에서 사용하지 않을 때 노드를 할당 취소할 수 있습니다. 0보다 큰 값은 사용하지 않더라도 실행 중인 노드 수가 유지됩니다.

또한 규모를 축소하기 전에 노드가 유휴 상태로 유지되는 시간을 구성할 수 있습니다. 기본적으로 축소 전의 유휴 시간은 120초로 설정됩니다.

  • 반복적 실험을 수행하는 경우 비용을 절약하기 위해 이 시간을 줄입니다.
  • 매우 반복적인 개발/테스트 실험을 수행하는 경우, 학습 스크립트나 환경을 변경할 때마다 스케일 업 및 스케일 다운 비용이 들지 않도록 시간을 늘려야 할 수 있습니다.

다음을 사용하여 변화하는 워크로드 요구 사항에 맞게 AmlCompute 클러스터를 구성할 수 있습니다.

자동 크기 조정을 위해 관리되는 온라인 엔드포인트 구성

자동 크기 조정은 애플리케이션의 로드를 처리하기 위해 적절한 양의 리소스를 자동으로 실행합니다. 관리되는 온라인 엔드포인트는 Azure Monitor 자동 크기 조정 기능과의 통합을 통해 자동 크기 조정을 지원합니다. 자세한 내용은 실시간 유추를 위한 온라인 엔드포인트 및 배포를 참조하세요.

Azure Monitor 자동 크기 조정은 다양한 규칙 집합을 지원합니다.

  • 메트릭 기반 크기 조정(예: CPU 사용률 >70%)
  • 일정 기반 크기 조정(예: 가장 바쁜 업무 시간을 대비한 크기 조정 규칙)
  • 둘의 조합

자세한 내용은 온라인 엔드포인트 자동 크기 조정을 참조하세요.

리소스에 대한 할당량 설정

AmlCompute는 할당량(또는 제한) 구성과 함께 제공됩니다. 이 할당량은 VM 제품군(예: Dv2 시리즈 또는 NCv3 시리즈)별로 적용됩니다. 할당량은 각 구독 지역에 따라 다릅니다. 구독은 작은 기본값부터 시작합니다. 이 설정을 사용하여 구독에서 즉시 생성할 수 있는 Amlcompute 리소스 양을 제어할 수 있습니다. 자세한 내용은 Azure Machine Learning 컴퓨팅을 참조하세요.

또한 구독 내의 각 작업 영역에 대해 VM 제품군별로 작업 영역 수준 할당량을 구성할 수 있습니다. 이 접근 방식을 사용하면 각 작업 영역에서 발생할 수 있는 비용을 더 세부적으로 제어하고 특정 VM 제품군을 제한할 수 있습니다. 자세한 내용은 작업 영역 수준 할당량을 참조하세요.

작업 영역 수준에서 할당량을 설정하려면 다음을 수행합니다.

  1. Azure Portal을 연 다음, 구독에서 작업 영역을 선택합니다.

  2. 작업 영역 메뉴에서 지원 + 문제 해결>사용량 + 할당량을 선택합니다.

  3. Azure Machine Learning 스튜디오에서 할당량 보기를 선택하여 할당량을 봅니다.

  4. 이 페이지에서 구독과 지역을 찾아 할당량을 설정할 수 있습니다.

    이 설정은 여러 작업 영역에 영향을 주므로 할당량을 설정하려면 구독 범위에서 권한이 필요합니다.

작업 종료 정책 설정

경우에 따라 학습 실행을 구성하여 기간을 제한하거나 조기에 종료해야 합니다. 예를 들어 Azure Machine Learning의 기본 제공 하이퍼 매개 변수 튜닝 또는 자동화된 Machine Learning을 사용하는 경우입니다.

다음은 몇 가지 옵션입니다.

  • RunConfiguration에서 max_run_duration_seconds 매개 변수를 정의하여 사용자가 선택하는 컴퓨팅(로컬 또는 원격 클라우드 컴퓨팅)에서 실행이 확장될 수 있는 최대 기간을 제어합니다.
  • 하이퍼 매개 변수 조정의 경우 Bandit 정책, 중간 중지 정책 또는 잘림 선택 정책에서 조기 종료 정책을 정의합니다. 하이퍼 매개 변수 스윕을 추가로 제어하려면 max_total_runs 또는 max_duration_minutes와 같은 매개 변수를 사용합니다. 자세한 내용은 조기 종료 정책 지정을 참조하세요.
  • 자동화된 Machine Learning의 경우 enable_early_stopping 플래그를 사용하여 비슷한 종료 정책을 설정합니다. 또한 iteration_timeout_minutesexperiment_timeout_minutes과(와) 같은 속성을 사용하여 작업의 최대 기간 또는 전체 실험을 제어합니다. 자세한 내용은 종료 조건을 참조하세요.

우선 순위가 낮은 가상 머신 사용

Azure에서는 가상 머신 확장 집합, Batch 및 Machine Learning Service에서 사용하지 않는 초과 용량을 우선 순위가 낮은 VM으로 활용할 수 있습니다. 이러한 할당은 선점이 가능하지만, 전용 VM에 비해 가격이 저렴합니다. 일반적으로 Batch 워크로드에 우선 순위가 낮은 VM을 사용하는 것이 좋습니다. 다시 전송(Batch 추론의 경우) 또는 다시 시작(검사점을 사용한 딥 러닝 학습)을 통해 중단을 복구할 수 있는 경우에도 이를 사용해야 합니다.

우선 순위가 낮은 VM의 개별 할당량은 VM 제품군별 전용 할당량 값과 별개입니다. AmlCompute 할당량에 관한 자세한 내용은 할당량 관리 및 증가를 참조하세요.

우선 순위가 낮은 VM은 대화형 Notebook 환경을 지원해야 하기 때문에 컴퓨팅 인스턴스에 대해 작동하지 않습니다.

컴퓨팅 인스턴스 예약

컴퓨팅 인스턴스를 만들 때 VM은 작업에 사용할 수 있도록 유지됩니다.

  • 지정된 기간에 VM이 유휴 상태일 때 유휴 종료(미리 보기)를 사용하여 비용을 절감할 수 있습니다. 유휴 종료 구성을 참조하세요.
  • 컴퓨팅 인스턴스(미리 보기)를 자동으로 시작 및 중지하는 일정을 설정하여 사용하지 않을 때 비용을 절감합니다. 자동 시작 및 중지 예약하기를 참조하세요.

예약 인스턴스 사용

컴퓨팅 리소스에 대한 비용을 절감하는 또 다른 방법은 Azure Reserved VM Instance입니다. 이 제품을 통해 1년 또는 3년 조건으로 약정하게 됩니다. 이러한 할인 범위는 종량제 가격의 최대 72%이며 월간 Azure 청구서에 직접 적용됩니다.

Azure Machine Learning 컴퓨팅은 기본적으로 예약 인스턴스를 지원합니다. 1년 또는 3년 예약 인스턴스를 구매하는 경우 Azure Machine Learning 관리 컴퓨팅에 대한 할인이 자동으로 적용됩니다.

학습 병렬화

비용 및 성능을 최적화하는 주요 방법 중 하나는 Azure Machine Learning에서 병렬 구성 요소를 활용하여 워크로드를 병렬로 처리하는 것입니다. 병렬 구성 요소를 사용하면 여러 개의 작은 노드를 사용하여 작업을 병렬로 실행할 수 있어 수평적으로 크기를 조정할 수 있습니다. 병렬화에 대한 오버헤드가 있습니다. 워크로드 및 달성할 수 있는 병렬화 정도에 따라 이 접근 방식을 선택할 수 있습니다. 자세한 내용은 ParallelComponent 클래스를 참조하세요.

데이터 보존 및 삭제 정책 설정

파이프라인이 실행될 때마다 각 단계에서 중간 데이터 세트가 생성됩니다. 시간이 지남에 따라 이러한 중간 데이터 세트는 스토리지 계정에서 공간을 차지합니다. 수명 주기 내내 데이터를 관리하여 데이터 세트를 보관하고 삭제하는 정책을 설정하는 것이 좋습니다. 자세한 내용은 데이터 수명 주기를 자동으로 관리하여 비용 최적화를 참조하세요.

동일한 지역에 리소스 배포

다른 지역에 위치한 컴퓨팅은 네트워크 대기 시간이 길어지고 데이터 전송 비용이 증가할 수 있습니다. Azure 네트워크 비용은 Azure 데이터 센터의 아웃바운드 대역폭에서 발생합니다. 네트워크 비용을 줄이려면 해당 지역의 모든 리소스를 배포합니다. 데이터와 동일한 지역에서 Azure Machine Learning 작업 영역 및 종속 리소스를 프로비전하면 비용을 절감하고 성능을 향상시킬 수 있습니다.

Azure ExpressRoute를 사용하는 하이브리드 클라우드 시나리오의 경우 네트워크 비용과 대기 시간을 최적화하기 위해 모든 리소스를 Azure로 이동하는 것이 더 비용 효율적일 수 있습니다.

실패한 배포 삭제

관리형 온라인 엔드포인트는 배포에 VM을 사용합니다. 온라인 배포를 만드는 요청을 제출했지만 실패한 경우, 요청이 컴퓨팅이 생성되는 단계를 통과했을 수 있습니다. 이 경우 실패한 배포로 인해 요금이 부과됩니다. 디버깅 또는 실패에 대한 조사를 마치면 비용 절감을 위해 실패한 배포를 삭제하세요.