기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SageMaker 훈련 컴파일러
중요
Amazon Web Services(AWS)는 SageMaker 훈련 컴파일러의 새 릴리스 또는 버전이 없을 것이라고 발표했습니다. 기존 SageMaker 훈련용 AWS 딥 러닝 컨테이너(DLCs)를 통해 SageMaker 훈련 컴파일러를 계속 활용할 수 있습니다. 기존에 DLCs 계속 액세스할 수 있지만 딥 러닝 컨테이너 프레임워크 지원 정책에 AWS따라 더 이상 패치 또는 업데이트를 받지 않는다는 점에 유의해야 합니다. AWS
Amazon SageMaker Training Compiler를 사용하여 SageMaker AI로 관리되는 확장 가능한 GPU 인스턴스에서 딥 러닝(DL) 모델을 더 빠르게 훈련할 수 있습니다.
SageMaker 훈련 컴파일러란 무엇입니까?
State-of-the-art 딥 러닝(DL) 모델은 학습에 수천 GPU 시간이 걸릴 수 있는 수십억 개의 파라미터가 있는 복잡한 다중 계층 신경망으로 구성됩니다. 훈련 인프라에서 이러한 모델을 최적화하려면 DL 및 시스템 엔지니어링에 대한 광범위한 지식이 필요합니다. 이는 사용 사례가 좁은 경우에도 어렵습니다. DL 훈련 프로세스를 최적화하는 컴파일러의 오픈 소스 구현이 있지만, DL 프레임워크를 GPU 인스턴스와 같은 일부 하드웨어와 통합할 수 있는 유연성이 부족할 수 있습니다.
SageMaker 훈련 컴파일러는 이러한 hard-to-implement 최적화를 통해 GPU 인스턴스에 대한 훈련 시간을 줄이는 SageMaker AI의 기능입니다. 컴파일러는 SageMaker AI 기계 학습(ML) GPU 인스턴스를 사용하여 더 효율적으로 훈련을 가속화하도록 DL 모델을 최적화합니다. SageMaker 훈련 컴파일러는 SageMaker AI 내에서 추가 비용 없이 사용할 수 있으며 훈련을 가속화할 때 청구 가능한 총 시간을 줄이는 데 도움이 될 수 있습니다.
SageMaker 훈련 컴파일러는 AWS 딥 러닝 컨테이너()에 통합됩니다DLCs. SageMaker 훈련 컴파일러를 활성화 AWS DLCs하면 코드를 최소한으로 변경하여 GPU 인스턴스에서 훈련 작업을 컴파일하고 최적화할 수 있습니다. 딥 러닝 모델을 SageMaker AI에 도입하고 SageMaker Training Compiler를 활성화하여 SageMaker AI ML 인스턴스에서 훈련 작업 속도를 가속화하여 컴퓨팅을 가속화합니다.
작동 방식
SageMaker 훈련 컴파일러는 DL 모델을 상위 수준 언어 표현에서 하드웨어 최적화 지침으로 변환합니다. 특히 SageMaker 교육 컴파일러는 그래프 수준 최적화, 데이터 흐름 수준 최적화 및 백엔드 최적화를 적용하여 하드웨어 리소스를 효율적으로 사용하는 최적화된 모델을 생성합니다. 따라서 컴파일하지 않고 훈련할 때보다 더 빠르게 모델을 훈련시킬 수 있습니다.
훈련 작업에 대해 SageMaker 훈련 컴파일러를 활성화하는 2단계 프로세스입니다.
-
자체 DL 스크립트를 가져오고 필요한 경우 SageMaker 훈련 컴파일러를 사용하여 컴파일하고 훈련하도록 조정합니다. 자세한 내용은 자체 딥 러닝 모델 사용을 참조하십시오.
-
SageMaker Python를 사용하여 컴파일러 구성 파라미터를 사용하여 SageMaker AI 예측기 객체를 생성합니다SDK.
-
SageMaker AI 예측기 클래스에
compiler_config=TrainingCompilerConfig()
를 추가하여 SageMaker 훈련 컴파일러를 켭니다. -
하이퍼파라미터(
batch_size
및learning_rate
)를 조정하여 SageMaker 훈련 컴파일러가 제공하는 이점을 극대화합니다.SageMaker 훈련 컴파일러를 통한 컴파일은 모델의 메모리 공간을 변경합니다. 가장 일반적으로 이는 메모리 사용률이 감소하고 그에 따라에 적합할 수 있는 가장 큰 배치 크기가 증가한 것으로 나타납니다GPU. 경우에 따라 컴파일러는 캐싱을 지능적으로 촉진하여에 적합할 수 있는 가장 큰 배치 크기가 감소합니다GPU. 참고로 배치 크기를 변경하려면 학습률을 적절하게 조정해야 합니다.
batch_size
테스트를 거친 인기 모델에 대한 참조는 테스트 완료 모델을(를) 참조하세요.배치 크기를 조정할 때는
learning_rate
도 적절하게 조정해야 합니다. 배치 크기 변화에 따라 학습률을 조정하는 모범 사례는 SageMaker 훈련 컴파일러 모범 사례 및 고려 사항을(를) 참조하세요. -
estimator.fit()
클래스 메서드를 실행하면 SageMaker AI가 모델을 컴파일하고 훈련 작업을 시작합니다.
훈련 작업을 시작하는 방법에 대한 지침은 SageMaker 훈련 컴파일러 활성화을(를) 참조하세요.
-
SageMaker 훈련 컴파일러는 최종 훈련된 모델을 변경하지 않지만 GPU 메모리를 더 효율적으로 사용하고 반복당 더 큰 배치 크기를 맞춤으로써 훈련 작업을 가속화할 수 있습니다. 컴파일러 가속 훈련 작업의 최종 훈련 모델은 일반 훈련 작업에서 훈련된 모델과 동일합니다.
작은 정보
SageMaker 훈련 컴파일러는 SageMaker AI에서 관리하는 지원되는 GPU 인스턴스에 대한 훈련을 위해서만 DL 모델을 컴파일합니다. 추론을 위해 모델을 컴파일하고 클라우드 및 엣지에서 실행하도록 배포하려면 SageMaker Neo 컴파일러를 사용합니다.