Amazon SageMaker Training Compiler - Amazon SageMaker AI

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

Amazon SageMaker Training Compiler

중요

Amazon Web Services(AWS)는 SageMaker 훈련 컴파일러의 새 릴리스 또는 버전이 없을 것이라고 발표했습니다. SageMaker 훈련을 위한 기존 AWS 딥 러닝 컨테이너(DLCs)를 통해 SageMaker 훈련 컴파일러를 계속 활용할 수 있습니다. 기존 DLCs는 계속 액세스할 수 있지만 딥 러닝 컨테이너 프레임워크 지원 정책에 AWS따라 더 이상 패치 또는 업데이트를 받지 않는다는 점에 유의해야 합니다. AWS

Amazon SageMaker 훈련 컴파일러를 사용하여 SageMaker AI에서 관리하는 확장 가능한 GPU 인스턴스에서 딥 러닝(DL) 모델을 더 빠르게 훈련할 수 있습니다.

SageMaker 훈련 컴파일러란 무엇입니까?

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

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

SageMaker 훈련 컴파일러가 SageMaker AI와 작동하는 방식에 대한 개념 다이어그램입니다.

SageMaker 훈련 컴파일러는 AWS 딥 러닝 컨테이너(DLCs)에 통합됩니다. SageMaker 훈련 컴파일러 지원 AWS DLCs를 사용하면 코드 변경을 최소화하면서 GPU 인스턴스에서 훈련 작업을 컴파일하고 최적화할 수 있습니다. 딥 러닝 모델을 SageMaker AI로 가져오고 SageMaker 훈련 컴파일러가 가속 컴퓨팅을 위해 SageMaker AI ML 인스턴스에서 훈련 작업의 속도를 가속화할 수 있도록 합니다.

작동 방식

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

훈련 작업을 위해 SageMaker 훈련 컴파일러를 활성화하는 것은 2단계 프로세스입니다.

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

  2. SageMaker Python SDK를 사용하여 컴파일러 구성 파라미터를 사용하여 SageMaker AI 예측기 객체를 생성합니다.

    1. SageMaker AI 예측기 클래스에 compiler_config=TrainingCompilerConfig()를 추가하여 SageMaker 훈련 컴파일러를 켭니다.

    2. 하이퍼파라미터(batch_sizelearning_rate)를 조정하여 SageMaker 훈련 컴파일러가 제공하는 이점을 극대화하세요.

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

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

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

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

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

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

작은 정보

SageMaker 훈련 컴파일러는 SageMaker AI에서 관리하는 지원되는 GPU 인스턴스에 대한 훈련을 위해서만 DL 모델을 컴파일합니다. 추론을 위해 모델을 컴파일하고 클라우드와 엣지 어디서나 실행되도록 배포하려면 SageMaker Neo 컴파일러를 사용하세요.