아마존 SageMaker 트레이닝 컴파일러 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 SageMaker 트레이닝 컴파일러

중요

Amazon Web Services (AWS) 는 SageMaker 트레이닝 컴파일러의 새 릴리스나 버전이 없을 것이라고 발표했습니다. 기존 AWS Deep Learning Containers (DLCs) 를 통해 계속해서 SageMaker 트레이닝용 SageMaker 컴파일러를 활용할 수 있습니다. AWS Deep Learning Containers Framework 지원 정책에 따라 기존 버전은 DLCs 계속 액세스할 수 있지만 더 이상 패치나 업데이트를 받을 수 없다는 점에 유의하십시오. AWS

Amazon SageMaker Training Compiler를 사용하면 에서 관리하는 확장 가능한 GPU 인스턴스에서 딥 러닝 (DL) 모델을 더 빠르게 학습할 수 있습니다. SageMaker

SageMaker 트레이닝 컴파일러란 무엇입니까?

tate-of-the-art 딥 러닝 (DL) 모델은 훈련하는 데 수천 시간이 걸릴 수 있는 수십억 개의 파라미터를 포함하는 복잡한 다중 계층 신경망으로 구성됩니다. GPU 훈련 인프라에서 이러한 모델을 최적화하려면 DL 및 시스템 엔지니어링에 대한 광범위한 지식이 필요합니다. 이는 사용 사례가 좁은 경우에도 어렵습니다. DL 교육 프로세스를 최적화하는 오픈 소스 컴파일러 구현이 있긴 하지만 DL 프레임워크를 인스턴스와 같은 일부 하드웨어와 통합할 수 있는 유연성이 부족할 수 있습니다. GPU

SageMaker 트레이닝 컴파일러는 이러한 hard-to-implement 최적화를 통해 인스턴스의 학습 시간을 줄이는 데 사용할 수 SageMaker 있는 기능입니다. GPU 컴파일러는 SageMaker 기계 학습 (ML) 인스턴스를 더 효율적으로 사용하여 학습을 가속화하도록 DL 모델을 최적화합니다. GPU SageMaker 트레이닝 컴파일러는 추가 비용 없이 사용할 수 SageMaker 있으며, 트레이닝을 가속화하므로 총 청구 가능 시간을 줄이는 데 도움이 됩니다.

트레이닝 컴파일러와 함께 작동하는 방식을 보여주는 개념도. SageMaker SageMaker

SageMaker 교육 컴파일러는 AWS Deep Learning Containers (DLCs) 에 통합되어 있습니다. SageMaker Training Compiler를 사용하면 코드를 AWS DLCs 최소한으로 변경하면서 GPU 인스턴스에서 훈련 작업을 컴파일하고 최적화할 수 있습니다. 딥 러닝 모델을 Training Compiler로 SageMaker 가져와서 SageMaker Training Compiler를 사용하면 컴퓨팅 가속화를 위한 SageMaker ML 인스턴스의 학습 작업 속도를 가속화할 수 있습니다.

작동 방식

SageMaker 트레이닝 컴파일러는 DL 모델을 고수준 언어 표현에서 하드웨어에 최적화된 명령어로 변환합니다. 특히 SageMaker Training Compiler는 그래프 수준 최적화, 데이터 흐름 수준 최적화 및 백엔드 최적화를 적용하여 하드웨어 리소스를 효율적으로 사용하는 최적화된 모델을 생성합니다. 따라서 컴파일하지 않고 훈련할 때보다 더 빠르게 모델을 훈련시킬 수 있습니다.

교육 작업에 맞게 트레이닝 컴파일러를 활성화하려면 다음 두 단계를 거쳐야 합니다. SageMaker

  1. 자체 DL 스크립트를 가져와 필요한 경우 트레이닝 컴파일러로 컴파일 및 학습에 맞게 조정하십시오 SageMaker . 자세한 내용은 자체 딥 러닝 모델 사용을 참조하십시오.

  2. SageMaker Python을 사용하여 컴파일러 구성 매개변수로 추정기 객체를 만듭니다. SageMaker SDK

    1. 에스티메이터 클래스에 추가하여 SageMaker 트레이닝 컴파일러를 켜십시오compiler_config=TrainingCompilerConfig(). SageMaker

    2. 하이퍼파라미터 (batch_sizelearning_rate) 를 조정하여 트레이닝 컴파일러가 제공하는 SageMaker 이점을 극대화하십시오.

      SageMaker 트레이닝 컴파일러를 통해 컴파일하면 모델의 메모리 사용량이 변경됩니다. 가장 일반적으로 이 문제는 메모리 사용률이 감소하고 그에 따라 최대 배치 크기가 증가하는 것으로 나타납니다. GPU 경우에 따라 컴파일러가 지능적으로 캐싱을 촉진하여 에 맞출 수 있는 최대 배치 크기가 줄어들기도 합니다. GPU 참고로 배치 크기를 변경하려면 학습률을 적절하게 조정해야 합니다.

      batch_size 테스트를 거친 인기 모델에 대한 참조는 테스트 완료 모델을(를) 참조하세요.

      배치 크기를 조정할 때는 learning_rate도 적절하게 조정해야 합니다. 배치 크기 변화에 따라 학습률을 조정하는 모범 사례는 SageMaker 교육 컴파일러 모범 사례 및 고려 사항을(를) 참조하세요.

    3. estimator.fit()클래스 메서드를 실행하여 모델을 SageMaker 컴파일하고 학습 작업을 시작합니다.

    훈련 작업을 시작하는 방법에 대한 지침은 트레이닝 컴파일러를 SageMaker 활성화하세요.을(를) 참조하세요.

SageMaker 훈련 컴파일러는 최종 학습된 모델을 변경하지 않으므로 GPU 메모리를 더 효율적으로 사용하고 반복당 더 큰 배치 크기를 조정하여 학습 작업을 가속화할 수 있습니다. 컴파일러 가속 훈련 작업의 최종 훈련 모델은 일반 훈련 작업에서 훈련된 모델과 동일합니다.