Amazon SageMaker 지출을 분석하고 사용량을 기반으로 비용 최적화 기회 결정, 4부: 교육 작업 | 아마존 웹 서비스

Amazon SageMaker 지출을 분석하고 사용량을 기반으로 비용 최적화 기회 결정, 4부: 교육 작업 | 아마존 웹 서비스

2021 년에 우리는 AWS 지원 사전 예방 서비스 의 일환으로 AWS 엔터프라이즈 지원 계획. 도입 이후 수백 명의 고객이 워크로드를 최적화하고, 가드레일을 설정하고, 기계 학습(ML) 워크로드의 비용 및 사용량에 대한 가시성을 개선하도록 도왔습니다.

이 게시물 시리즈에서는 비용 최적화에 대해 배운 교훈을 공유합니다. 아마존 세이지 메이커. 이 게시물에서는 SageMaker 교육 작업에 중점을 둡니다.

SageMaker 교육 작업

SageMaker 교육 작업은 ML 모델 교육 및 최적화를 위한 기능이 내장된 비동기 배치 프로세스입니다.

SageMaker 교육 작업을 사용하면 자체 알고리즘을 가져오거나 25개 이상의 기본 제공 알고리즘 중에서 선택할 수 있습니다. SageMaker는 다양한 데이터 소스 및 액세스 패턴, 이기종 클러스터를 포함한 분산 교육, 실험 관리 기능 및 자동 모델 튜닝을 지원합니다.

교육 작업 비용은 해당 인스턴스가 실행되는 기간(초) 동안 사용하는 리소스(인스턴스 및 스토리지)를 기반으로 합니다. 여기에는 교육이 진행되는 시간과 따뜻한 수영장 기능, 구성한 연결 유지 기간. ~ 안에 파트 1, 우리는 사용을 시작하는 방법을 보여주었습니다 AWS 비용 탐색기 SageMaker에서 비용 최적화 기회를 식별합니다. 사용 유형에 필터를 적용하여 교육 비용을 필터링할 수 있습니다. 이러한 사용 유형의 이름은 다음과 같습니다.

  • REGION-Train:instanceType (예 : USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (예 : USE1-Train:VolumeUsage.gp2)

Cost Explorer에서 교육 비용 분석을 보려면 다음을 입력하십시오. train: 접두사로 사용 유형. 사용 시간에 대해서만 필터링하는 경우(다음 스크린샷 참조) 비용 탐색기는 비용 및 사용량이라는 두 개의 그래프를 생성합니다. 이 보기는 최적화 기회의 우선 순위를 지정하고 어떤 인스턴스가 오래 실행되고 비용이 많이 드는지 식별하는 데 도움이 됩니다.

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

기존 교육 작업을 최적화하기 전에 다음에서 다루는 모범 사례를 따르는 것이 좋습니다. Amazon SageMaker로 기계 학습 비용 최적화: 로컬에서 코드를 테스트하고 사용 로컬 모드 테스트를 위해 가능한 경우 사전 훈련된 모델을 사용하고 다음을 고려하십시오. 관리 현장 훈련 (온디맨드 인스턴스보다 최대 90%까지 비용을 최적화할 수 있음).

온디맨드 작업이 시작되면 시작, 다운로드, 교육, 업로드 및 완료의 XNUMX단계를 거칩니다. SageMaker 콘솔의 교육 작업 페이지에서 이러한 단계와 설명을 볼 수 있습니다.

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

가격 측면에서 다운로드, 교육 및 업로드 단계에 대해 요금이 부과됩니다.

이러한 단계를 검토하는 것은 교육 비용을 최적화할 위치를 진단하는 첫 번째 단계입니다. 이 게시물에서는 다운로드 및 교육 단계에 대해 설명합니다.

다운로드 단계

앞의 예에서 다운로드 단계는 XNUMX분도 채 걸리지 않았습니다. 그러나 데이터 다운로드가 교육 비용의 큰 요인인 경우 사용 중인 데이터 원본과 액세스 방법을 고려해야 합니다. SageMaker 교육 작업은 기본적으로 세 가지 데이터 소스를 지원합니다. 아마존 탄성 파일 시스템 (아마존 EFS), 아마존 단순 스토리지 서비스 (아마존 S3) 및 Luster 용 Amazon FSx. Amazon S3의 경우 SageMaker는 알고리즘이 훈련에 액세스할 수 있는 세 가지 관리 방식을 제공합니다. 파일 모드(데이터가 인스턴스 블록 스토리지로 다운로드됨), 파이프 모드(데이터가 인스턴스로 스트리밍되어 다운로드 단계 기간이 제거됨) 및 빠른 파일 모드(기존 파일 모드의 사용 용이성과 파이프 모드의 성능 결합). 올바른 데이터 소스 및 액세스 방법 선택에 대한 자세한 지침은 다음을 참조하십시오. Amazon SageMaker 교육 작업에 가장 적합한 데이터 원본 선택.

관리형 스팟 교육을 사용하는 경우 중단으로 인해 발생한 반복 다운로드 단계는 요금이 부과되지 않습니다(따라서 데이터 다운로드 기간 동안만 요금이 한 번 청구됨).

SageMaker 교육 작업이 앞서 언급한 데이터 소스를 지원하지만 필수는 아니라는 점에 유의해야 합니다. 교육 코드에서 모든 소스에서 교육 데이터를 다운로드하는 방법을 구현할 수 있습니다(교육 인스턴스가 액세스할 수 있는 경우). 다중 처리와 함께 Boto3 API를 사용하여 동시에 파일을 다운로드하거나 Amazon S5에서 더 빠르게 다운로드하기 위해 WebDataset 또는 s3cmd와 같은 타사 라이브러리를 사용하는 등 다운로드 시간을 단축하는 추가 방법이 있습니다. 자세한 내용은 다음을 참조하십시오. s3cmd로 S5 워크로드 병렬화.

훈련 단계

교육 단계 비용 최적화는 올바른 인프라(인스턴스 제품군 및 크기) 선택과 교육 자체 최적화라는 두 가지 벡터를 최적화하는 것으로 구성됩니다. 학습 인스턴스는 대략 두 가지 범주로 나눌 수 있습니다. 주로 딥 러닝 모델을 위한 가속 GPU 기반과 일반적인 ML 프레임워크를 위한 CPU 기반입니다. 학습에 적합한 인스턴스 패밀리 선택에 대한 지침은 다음을 참조하십시오. Amazon SageMaker에서 효율적인 컴퓨팅 리소스 보장. 교육에 GPU 인스턴스가 필요한 경우 비디오를 참조하는 것이 좋습니다. 딥 러닝을 위해 Amazon EC2 GPU 인스턴스를 선택하는 방법.

일반적으로 워크로드에 NVIDIA GPU가 필요한 경우 고객은 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 인스턴스 유형: ml.g4dnml.g5. ml.g4dn에는 NVIDIA T4가 장착되어 있으며 특히 메모리당 비용이 저렴합니다. ml.g5 인스턴스에는 NVIDIA A10g Tensor Core가 장착되어 있으며 CUDA 플롭당 비용(fp32)이 가장 낮습니다.

AWS는 딥 러닝 교육을 위한 특정 비용 절감 기능을 제공합니다.

인스턴스 크기를 적절하게 조정하고 최적화하려면 먼저 다음을 살펴봐야 합니다. 아마존 클라우드 워치 학습 작업이 생성하는 측정항목입니다. 자세한 내용은 다음을 참조하십시오. SageMaker 작업 및 엔드포인트 지표. CloudWatch를 추가로 사용할 수 있습니다. 교육 성능을 모니터링하는 사용자 지정 알고리즘 지표.

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이러한 메트릭은 리소스의 병목 현상 또는 과잉 프로비저닝을 나타낼 수 있습니다. 예를 들어 GPU 사용률이 낮은 높은 CPU를 관찰하는 경우 다음을 사용하여 문제를 해결할 수 있습니다. 이기종 클러스터. 또 다른 예로는 작업 기간 동안 지속적으로 낮은 CPU 사용률을 볼 수 있습니다. 이로 인해 인스턴스 크기가 줄어들 수 있습니다.

사용중인 경우 분산 교육, 다양한 배포 방법(tower, Ring-AllReduce, 미러링 등)을 테스트하여 최대 활용도를 확인하고 그에 따라 프레임워크 매개변수를 미세 조정해야 합니다(예를 들어 다음 참조). Amazon SageMaker에서 TensorFlow 1.x 가속 교육을 위한 모범 사례). SageMaker 배포 API 및 다음과 같은 라이브러리를 사용할 수 있다는 점을 강조하는 것이 중요합니다. SageMaker 분산 데이터 병렬, SageMaker 모델 병렬SageMaker 샤딩 데이터 병렬, AWS 인프라에 최적화되어 교육 비용을 줄이는 데 도움이 됩니다.

분산 교육은 반드시 선형적으로 확장되는 것은 아니며 약간의 오버헤드가 발생할 수 있으며 이는 전체 런타임에 영향을 미칩니다.

딥 러닝 모델의 경우 또 다른 최적화 기술은 혼합 정밀도를 사용하는 것입니다. 혼합 정밀도는 훈련 속도를 높일 수 있으므로 모델 정확도에 최소한의 영향을 미치거나 전혀 영향을 미치지 않으면서 훈련 시간과 메모리 사용량을 모두 줄일 수 있습니다. 자세한 내용은 다음을 참조하십시오. 데이터 병렬 및 모델 병렬로 학습 ~의 섹션 Amazon SageMaker의 분산 교육.

마지막으로 프레임워크별 매개변수를 최적화하면 교육 프로세스를 최적화하는 데 상당한 영향을 미칠 수 있습니다. SageMaker 자동 모델 튜닝 선택한 목표 지표로 측정했을 때 가장 성능이 좋은 하이퍼파라미터를 찾습니다. 훈련 시간을 객관적 지표로 설정하고 프레임워크 구성을 하이퍼 매개변수로 설정하면 병목 현상을 제거하고 전체 훈련 시간을 줄이는 데 도움이 될 수 있습니다. 기본 TensorFlow 설정을 최적화하고 CPU 병목 현상을 제거하는 예는 다음을 참조하세요. Aerobotics는 Amazon SageMaker 및 TensorFlow를 사용하여 샘플 당 24 배 훈련 속도를 향상시킵니다..

다운로드 및 처리 시간을 모두 최적화할 수 있는 또 다른 기회는 데이터 하위 집합에 대한 교육을 고려하는 것입니다. 데이터가 정보 획득이 적은 여러 중복 항목 또는 기능으로 구성된 경우 데이터 하위 집합에 대해 교육하고 다운로드 및 교육 시간을 줄이고 더 작은 인스턴스를 사용할 수 있습니다. 아마존 엘라스틱 블록 스토어 (Amazon EBS) 볼륨. 예를 보려면 다음을 참조하십시오. 데이터 중심 접근 방식을 사용하여 Amazon SageMaker 모델 교육에 필요한 데이터 양 최소화. 또한, Amazon SageMaker 데이터 랭글러 훈련 샘플의 분석 및 생성을 단순화할 수 있습니다. 자세한 내용은 다음을 참조하십시오. Amazon SageMaker Data Wrangler를 사용하여 무작위 계층화된 데이터 샘플 생성.

SageMaker 디버거

효율적인 교육 및 리소스 활용을 보장하기 위해 SageMaker는 다음을 사용하여 교육 작업을 프로파일링할 수 있습니다. Amazon SageMaker 디버거. 디버거 제안 내장 규칙 CPU 병목 현상, GPU 메모리 증가 또는 I/O 병목 현상과 같이 교육에 영향을 미치는 일반적인 문제에 대해 경고하거나 고유한 규칙을 만들 수 있습니다. 생성된 보고서에 액세스하고 분석할 수 있습니다. 아마존 세이지 메이커 스튜디오. 자세한 내용은 다음을 참조하십시오. Amazon SageMaker Studio 실험의 Amazon SageMaker 디버거 UI. 다음 스크린샷은 Studio의 디버거 보기를 보여줍니다.

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Python 연산자 및 함수로 드릴다운할 수 있습니다( GPU의 주요 작업 섹션)이 학습 작업을 수행하기 위해 실행됩니다. 훈련 시작 전 데이터 다운로드로 인한 과도한 훈련 초기화 시간 및 훈련 루프의 단계 기간 이상값을 포함하여 감시 프레임워크 작업 관련 문제를 프로파일링하기 위한 디버거 기본 제공 규칙. 기본 제공 규칙을 사용하는 것은 무료이지만 학습 작업 기간 동안 구성한 인스턴스와 연결된 스토리지에 따라 사용자 지정 규칙 비용이 적용된다는 점에 유의해야 합니다.

결론

이 게시물에서는 SageMaker 교육 작업을 사용하여 ML 모델을 교육할 때 비용 분석 및 모범 사례에 대한 지침을 제공했습니다. 기계 학습이 산업 전반에 걸쳐 강력한 도구로 자리매김함에 따라 ML 모델을 교육하고 실행하는 것은 비용 효율성을 유지해야 합니다. SageMaker는 ML 파이프라인의 각 단계를 용이하게 하기 위한 광범위하고 심층적인 기능 세트를 제공하고 성능이나 민첩성에 영향을 미치지 않으면서 비용 최적화 기회를 제공합니다.


저자에 관하여

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.디팔리 라잘레 AWS의 선임 AI/ML 전문가입니다. 그녀는 AWS 에코시스템에서 AI/ML 솔루션을 배포하고 유지 관리하기 위한 모범 사례와 함께 기술 지침을 제공하는 기업 고객과 협력합니다. 그녀는 NLP 및 컴퓨터 비전과 관련된 다양한 딥 러닝 사용 사례에 대해 광범위한 조직과 협력했습니다. 그녀는 조직이 생성 AI를 활용하여 사용 경험을 향상할 수 있도록 지원하는 데 열정적입니다. 여가 시간에는 영화, 음악, 문학을 즐깁니다.

Amazon SageMaker 지출을 분석하고 사용량에 따른 비용 최적화 기회 결정, 4부: 교육 작업 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.우리 로젠버그 유럽, 중동 및 아프리카의 AI 및 ML 전문 기술 관리자입니다. 이스라엘에 기반을 둔 Uri는 기업 고객이 ML을 대규모로 설계, 구축 및 운영할 수 있도록 지원합니다. 여가 시간에는 자전거 타기, 하이킹, 엔트로피 증가를 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습