Amazon SageMaker 교육 관리형 웜 풀의 모범 사례

Amazon SageMaker Training Managed Warm Pools는 사용자가 정의한 기간 동안 기본 인프라를 재사용하고 유지할 수 있는 유연성을 제공합니다. 이는 컴퓨팅 인스턴스 관리의 획일적이고 힘든 작업을 Amazon SageMaker 모델 교육. 이 게시물에서는 SageMaker Training Managed Warm Pools가 해결하는 주요 이점과 문제점, 벤치마크 및 모범 사례를 간략하게 설명합니다.

SageMaker 교육 관리형 웜 풀 개요

SageMaker 모델 교육은 모든 작업에 대해 인스턴스를 가동하고, 모델을 교육하고, 실행한 다음 작업 후 인스턴스를 가동 중지하는 완전관리형 기능입니다. 작업 기간에 대해서만 비용이 청구됩니다. 이 완전 관리형 기능을 사용하면 머신 러닝(ML) 알고리즘에 집중할 수 있고 모델을 교육하는 동안 인프라 관리와 같은 획일적인 작업에 대해 걱정할 필요가 없습니다.

이 메커니즘은 교육 작업에 대해 한정된 시작 시간을 필요로 합니다. 이 시작 시간은 콜드 스타트 ​​시작 시간, 상당히 낮습니다. 가장 까다로운 고객 사용 사례 중 일부는 20초 미만과 같이 훨씬 더 짧은 시작 시간을 요구합니다. 이러한 요구 사항이 있는 두 가지 주요 사용 사례가 있습니다.

  • 첫 번째는 다음을 사용하는 데이터 과학자의 적극적인 ML 실험입니다. 아마존 세이지 메이커 특히 생산 준비 상태에 도달하기 위해 여러 번의 반복이 필요한 GPT3와 같은 대형 모델을 훈련하는 동안 훈련 플랫폼.
  • 두 번째는 예약된 주기로 동일한 종류의 인스턴스에서 많은 수의(수백 또는 수천 개) 연속 작업을 프로그래밍 방식으로 시작하는 것입니다. 예를 들어 매개변수 검색 또는 증분 교육입니다.

이러한 사용 사례의 경우 훈련 작업의 시작 시간과 같은 오버헤드에 소요되는 매초마다 이러한 모든 작업에 누적 효과가 있습니다.

SageMaker Training Managed Warm Pools를 통해 데이터 과학자와 ML 엔지니어는 미리 지정되고 재구성 가능한 시간 동안 SageMaker 교육 인스턴스 또는 다중 인스턴스 클러스터를 웜 상태로 유지하도록 선택할 수 있습니다(keep_alive_period_in_seconds) 각 학습 작업이 완료된 후. 따라서 인스턴스 또는 클러스터에서 실행되는 첫 번째 교육 작업에 대해 콜드 스타트 ​​페널티가 발생하더라도 이후의 모든 교육 작업에 대해 인스턴스는 이미 실행 중입니다. 결과적으로 인스턴스에서 시작하는 이러한 후속 훈련 작업은 keep_alive_period_in_seconds 만료는 콜드 스타트 ​​시작 시간 오버헤드를 발생시키지 않습니다. 이렇게 하면 훈련 작업 시작 시간을 약 20초 미만으로 줄일 수 있습니다(P90).

데이터 과학자와 ML 엔지니어는 SageMaker 교육 관리형 웜 풀을 사용하여 실험을 위한 교육 실행 사이에 단일 또는 여러 인스턴스를 웜 상태로 유지하거나 동일한 단일 또는 다중 인스턴스 클러스터에서 여러 작업을 연속적으로 실행할 수 있습니다. 교육 작업 기간 및 재구성 가능한 작업에 대해서만 비용을 지불합니다. keep_alive_period_in_seconds 모든 단일 인스턴스에 대해 지정하는 다른 모든 곳과 같습니다.

본질적으로 SageMaker 교육 관리형 웜 풀을 사용하면 SageMaker 관리형 인스턴스 활용도와 용량을 옵트인 및 프로비저닝하는 기능, 짧은 시간 간격 동안 활용도를 자가 관리할 수 있습니다. 이러한 간격은 작업 전에 구성할 수 있지만 keep_alive_period_in_seconds 간격을 줄이거나 늘려야 합니다. 그렇게 할 수 있습니다. 로 증가 keep_alive_period_in_seconds 최대 60분 간격으로 수행할 수 있으며 인스턴스 또는 클러스터의 최대 기간은 7일입니다.

따뜻한 수영장을 시작하려면 먼저 웜 풀 할당량 한도 증가 요청을 지정한 다음 keep_alive_period_in_seconds 매개 변수 교육 작업을 시작할 때.

벤치 마크

1.34GB TensorFlow 이미지, 2GB 데이터 및 다양한 교육 데이터 입력 모드(Amazon FSx, Fast File Mode, File Mode)를 사용하여 작업 시작 대기 시간을 측정하기 위해 벤치마킹 테스트를 수행했습니다. 테스트는 us-east-4 리전의 m4, c5, m5 및 c2 제품군의 다양한 인스턴스 유형에서 실행되었습니다. 시작 대기 시간은 인스턴스에서 실제 교육 작업이 시작될 때까지 작업 생성 시간으로 측정되었습니다. 클러스터를 시작하고 웜 풀을 만든 첫 번째 작업의 시작 대기 시간은 2~3분이었습니다. 이렇게 긴 대기 시간은 인프라를 프로비저닝하고 이미지를 다운로드하고 데이터를 다운로드하는 데 걸리는 시간 때문입니다. 웜 풀 클러스터를 활용한 결과 작업의 시작 대기 시간은 FFM(빠른 파일 모드) 또는 Amazon FSx의 경우 약 20초, 파일 모드(FM)의 경우 70초였습니다. 이 델타는 작업 시작 전에 Amazon S3에서 전체 데이터 세트를 다운로드해야 하는 FM의 결과입니다.

선택한 훈련 데이터 입력 모드는 Warm Pools에서도 시작 시간에 영향을 미칩니다. 선택할 입력 모드에 대한 지침은 이 게시물 뒷부분의 모범 사례 섹션에 있습니다.

다음 표에는 다양한 교육 데이터 입력 모드에 대한 작업 시작 대기 시간 P90이 요약되어 있습니다.

데이터 입력 모드 시작 대기 시간 P90(초)
첫번째 직업 웜 풀 작업(두 번째 작업 이후)
FSx 136 19
빠른 파일 모드 143 21
파일 모드 176 70

따뜻한 풀 사용을 위한 모범 사례

다음 섹션에서는 웜 풀을 사용할 때의 몇 가지 모범 사례를 공유합니다.

언제 따뜻한 수영장을 사용해야 합니까?

따뜻한 풀은 다음 시나리오에서 권장됩니다.

  • 일련의 짧은 작업을 통해 대화식으로 스크립트를 실험하고 조정하고 있습니다.
  • 자체적으로 맞춤 제작된 대규모 하이퍼파라미터 최적화를 실행하고 있습니다(예: 사인 튠).
  • 동일한 종류의 인스턴스에서 매일 또는 매주 케이던스로 많은 수(수백 또는 수천)의 연속 작업을 실행하는 배치 프로세스가 있습니다. 예를 들어 도시별로 ML 모델을 교육합니다.

웜 풀이 만료되기 전에 누군가가 웜 풀을 재사용할 가능성이 없는 경우 웜 풀을 권장하지 않습니다. 예를 들어 자동화된 ML 파이프라인을 통해 실행되는 하나의 긴 작업입니다.

웜 풀 훈련 작업 시작 대기 시간 최소화

웜 풀을 재사용하는 학습 작업은 웜 풀을 생성한 첫 번째 작업보다 빠르게 시작됩니다. 이는 캐시된 교육 컨테이너 Docker 이미지가 있는 작업 간에 ML 인스턴스를 계속 실행하여 컨테이너 가져오기를 건너뛰기 때문입니다. Amazon Elastic Container Registry (아마존 ECR). 그러나 웜 풀을 재사용하는 경우에도 모든 작업에 대해 특정 초기화 단계가 발생합니다. 이러한 단계를 최적화하면 작업 시작 시간(첫 번째 및 후속 작업 모두)을 줄일 수 있습니다. 다음을 고려하세요:

  • 교육 데이터 입력 모드는 시작 시간에 영향을 줄 수 있습니다. – 각 훈련 작업에 대해 관리되는 훈련 데이터 입력 채널이 다시 생성되어 작업 시작 대기 시간에 기여합니다. 따라서 더 작은 데이터 세트에 대한 초기 실험을 수행하면 더 빠른 시작 시간(및 더 빠른 교육 시간)이 가능합니다. 실험의 후반 단계에서 대규모 데이터 세트가 필요한 경우 초기화 시간이 최소이거나 고정된 입력 모드 유형을 사용하는 것이 좋습니다. 예를 들어 FILE 입력 모드는 전체 데이터 세트를 복사합니다. 아마존 단순 스토리지 서비스 (Amazon S3)를 교육 인스턴스에 연결합니다. 이는 대용량 데이터 세트의 경우 시간이 많이 걸립니다(웜 풀이 있는 경우에도). 워크로드가 시작되기 전에 Amazon S3에서 S3 객체 메타데이터만 읽어야 하므로 빠른 파일 모드는 시작 지연 시간을 줄이는 데 더 적합합니다. 그만큼 Luster 용 Amazon FSx아마존 탄성 파일 시스템 (Amazon EFS) 파일 시스템 입력 모드는 파일 시스템의 파일 수에 관계없이 초기화 시간이 고정되어 있어 대규모 데이터 세트로 작업할 때 유용합니다.
    입력 채널을 선택하는 방법에 대한 자세한 내용은 다음을 참조하십시오. Amazon SageMaker 교육 작업에 가장 적합한 데이터 원본 선택.
  • 패키지의 런타임 설치 감소 – 컨테이너 시작 중에 발생하는 모든 소프트웨어 설치(예: Python의 pip 또는 운영 체제 apt-get)는 교육 작업 대기 시간을 늘립니다. 이 시작 대기 시간을 최소화하려면 런타임 설치와 컨테이너 빌드 시 설치의 유연성과 단순성 사이에서 절충해야 합니다. SageMaker와 함께 자체 Docker 컨테이너를 사용하는 경우 다음을 참조하십시오. SageMaker와 함께 작동하도록 자체 Docker 컨테이너 조정. 의지한다면 사전 구축된 SageMaker 컨테이너 이미지, 당신은해야합니다 미리 빌드된 컨테이너 확장 이러한 컨테이너를 명시적으로 관리합니다. 런타임 설치로 인해 시작 대기 시간이 크게 증가하는 경우 이를 고려하십시오.
  • Docker 이미지를 자주 업데이트하지 마세요. – SageMaker와 함께 자체 Docker 컨테이너를 사용하는 경우 작업이 실행될 때마다 업데이트하지 않도록 하십시오. 작업 제출 사이에 도커 이미지가 변경되면 웜 풀이 재사용되지만 시작 프로세스는 캐시된 컨테이너 이미지를 재사용하는 대신 Amazon ECR에서 컨테이너 이미지를 다시 가져와야 합니다. Docker 이미지를 업데이트해야 하는 경우 업데이트를 마지막 Docker 계층으로 제한하여 Docker 계층 캐싱을 활용하십시오. 이상적으로는 하이퍼파라미터, 데이터 세트 정의 및 ML 코드 자체와 같이 반복을 통해 변경될 가능성이 있는 Dockerfile 콘텐츠를 제거해야 합니다. 변경할 때마다 Docker 이미지를 다시 빌드하지 않고 ML 코드를 반복하려면 SageMaker Training Toolkit에서 옹호하는 프레임워크 컨테이너 패러다임을 채택할 수 있습니다. 자신의 코드로 프레임워크 컨테이너를 개발하고 싶다면 다음을 참조하세요. Amazon SageMaker 자습서.

여러 사용자 간에 웜 풀 공유

대규모 데이터 과학자 팀과 함께 작업할 때 다음이 포함된 웜 풀을 공유할 수 있습니다. 일치하는 작업 기준, 같은 AWS 자격 증명 및 액세스 관리 (IAM) 역할 또는 컨테이너 이미지.

예시 타임라인을 살펴보겠습니다. User-1은 학습 작업을 시작하여 완료되고 결과적으로 새로운 웜 풀이 생성됩니다. 사용자 2가 학습 작업을 시작하면 작업이 기존 웜 풀을 재사용하므로 작업 시작이 빨라집니다. user-2의 job이 웜 풀을 사용 중인 상태에서 실행되는 동안 다른 사용자가 훈련 작업을 시작하면 두 번째 웜 풀이 생성됩니다.

이 재사용 동작은 유사한 작업을 시작하는 사용자 간에 웜 풀을 공유하여 비용을 줄이는 데 도움이 됩니다. 사용자 간에 웜 풀을 공유하지 않으려면 사용자의 작업에 일치하는 작업 기준 (예를 들어 다른 IAM 역할을 사용해야 합니다).

작업 완료 시 사용자에게 알림

실험을 위해 웜 풀을 사용하는 경우 작업이 완료되면 사용자에게 알리는 것이 좋습니다. 이를 통해 사용자는 웜 풀이 만료되기 전에 실험을 재개할 수 있습니다. 중지 더 이상 필요하지 않은 경우 따뜻한 수영장. 당신은 또한 수 자동으로 알림 트리거 을 통하여 아마존 이벤트 브리지.

빠른 실험 및 교육 작업 문제 해결을 위한 추가 도구

따뜻한 풀을 사용하면 20초 이내에 작업을 시작할 수 있습니다. 일부 시나리오에는 실시간 대화형 실험 및 문제 해결이 필요합니다. 오픈 소스 SageMaker SSH 헬퍼 라이브러리 SageMaker 교육 컨테이너에 쉘을 적용하고 원격 개발 및 디버깅을 수행할 수 있습니다.

결론

SageMaker 교육 관리형 웜 풀을 사용하면 지정된 기간 동안 모든 작업 후 모델 교육 하드웨어 인스턴스를 웜 상태로 유지할 수 있습니다. 이를 통해 모델 학습 작업의 시작 대기 시간을 최대 8배까지 줄일 수 있습니다. SageMaker 교육 관리형 웜 풀은 SageMaker 모델 교육이 제공되는 모든 퍼블릭 AWS 리전에서 사용할 수 있습니다.

시작하려면 다음을 참조하십시오. SageMaker 관리형 웜 풀을 사용하여 교육.


저자 소개

로미 다타Romi Datta 박사  교육, 처리 및 기능 저장을 담당하는 Amazon SageMaker 팀의 제품 관리 수석 관리자입니다. 그는 4년 넘게 AWS에서 근무했으며 SageMaker, S3 및 IoT에서 여러 제품 관리 리더십 역할을 담당했습니다. AWS에 합류하기 전에는 IBM, Texas Instruments 및 Nvidia에서 다양한 제품 관리, 엔지니어링 및 운영 리더십 역할을 수행했습니다. 그는 석사와 박사 학위를 가지고 있습니다. University of Texas at Austin에서 전기 및 컴퓨터 공학을 전공하고 University of Chicago Booth School of Business에서 MBA를 취득했습니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.아룬 나가라잔 교육 및 MLOps 영역에 중점을 둔 Amazon SageMaker 팀의 수석 엔지니어입니다. 그는 출시 연도부터 SageMaker 팀과 함께했으며 실시간 추론 및 모델 모니터 제품을 포함하여 SageMaker의 다양한 영역에 기여하는 것을 즐겼습니다. 그는 태평양 북서부 지역의 야외 활동과 산을 오르는 것을 좋아합니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.에이미 유 AWS SageMaker의 소프트웨어 개발 관리자입니다. 그녀는 고객이 ML 모델을 보다 효율적이고 쉽게 교육하는 데 도움이 되는 SageMaker 교육 플랫폼의 새로운 기능을 구축, 유지 및 개발하기 위해 소프트웨어 엔지니어 팀을 모으는 데 중점을 둡니다. 그녀는 ML 및 AI 기술, 특히 대학원 과정의 이미지 및 비전과 관련된 열정을 가지고 있습니다. 여가 시간에는 가족과 함께 음악과 미술 작업을 하는 것을 좋아합니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함. 리 시페이 Amazon AI의 소프트웨어 엔지니어로 Amazon Machine Learning 플랫폼 구축 작업을 하고 있으며 Amazon SageMaker 출시 팀의 일원이었습니다. 여가 시간에는 음악 연주와 독서를 즐깁니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.제나 자오 AWS SageMaker의 소프트웨어 개발 엔지니어입니다. 그녀는 ML/AI 기술에 열정을 갖고 있으며 고객이 기계 학습 모델을 빠르고 쉽게 교육할 수 있도록 하는 SageMaker 교육 플랫폼 구축에 주력해 왔습니다. 직장 밖에서는 가족과 함께 여행하고 시간을 보내는 것을 즐깁니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.파라스 메라 AWS의 선임 제품 관리자입니다. 그는 Amazon SageMaker 교육 및 처리 구축을 돕는 데 주력하고 있습니다. 여가 시간에 Paras는 가족과 함께 시간을 보내고 Bay Area 주변에서 로드 바이크를 즐깁니다. 당신은 그를 찾을 수 있습니다 링크드인.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.길리 나훔 EMEA Amazon Machine Learning 팀의 일원으로 일하는 수석 AI/ML 전문가 솔루션 설계자입니다. Gili는 딥 러닝 모델 교육의 도전과제와 우리가 알고 있는 머신 러닝이 세상을 어떻게 변화시키고 있는지에 대해 열정적입니다. 여가 시간에 Gili는 탁구를 즐깁니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.올리비에 크루 샹 프랑스에 기반을 둔 AWS의 기계 학습 전문가 솔루션 아키텍트입니다. Olivier는 소규모 신생 기업에서 대기업에 이르기까지 AWS 고객이 프로덕션 수준의 기계 학습 애플리케이션을 개발하고 배포할 수 있도록 지원합니다. 여가 시간에는 연구 논문을 읽고 친구 및 가족과 함께 황야를 탐험하는 것을 즐깁니다.

Amazon SageMaker 교육 관리형 Warm Pools PlatoBlockchain 데이터 인텔리전스에 대한 모범 사례입니다. 수직 검색. 일체 포함.에밀리 웹버 SageMaker가 출시된 직후 AWS에 합류했으며 그 이후로 전 세계에 알리기 위해 노력해 왔습니다! Emily는 고객을 위한 새로운 ML 경험을 구축하는 것 외에도 티베트 불교 명상과 공부를 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습