

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

# SageMaker 훈련 컴파일러 FAQ
<a name="training-compiler-faq"></a>

**중요**  
Amazon Web Services(AWS)는 SageMaker 훈련 컴파일러의 새 릴리스 또는 버전이 없을 것이라고 발표했습니다. SageMaker 훈련을 위한 기존 AWS 딥 러닝 컨테이너(DLC)를 통해 SageMaker 훈련 컴파일러를 계속 활용할 수 있습니다. 기존 DLCs는 계속 액세스할 수 있지만 [AWS 딥 러닝 컨테이너 프레임워크 지원 정책에](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/support-policy.html) AWS따라 더 이상 패치 또는 업데이트를 받지 않습니다.

다음 FAQ 항목을 사용하여 SageMaker 훈련 컴파일러에 대해 자주 묻는 질문에 대한 답변을 찾을 수 있습니다.

**Q: SageMaker 훈련 컴파일러가 작동하는지 어떻게 알 수 있습니까?**

SageMaker 훈련 컴파일러로 훈련 작업을 성공적으로 시작한 경우 다음과 같은 로그 메시지를 받게 됩니다.
+ `TrainingCompilerConfig(debug=False)` 포함

  ```
  Found configuration for Training Compiler
  Configuring SM Training Compiler...
  ```
+ `TrainingCompilerConfig(debug=True)` 포함

  ```
  Found configuration for Training Compiler
  Configuring SM Training Compiler...
  Training Compiler set to debug mode
  ```

**Q: SageMaker 훈련 컴파일러는 어떤 모델을 가속화합니까?**

SageMaker 훈련 컴파일러는 Hugging Face 변환기 라이브러리에서 가장 많이 사용되는 딥 러닝 모델을 지원합니다. 컴파일러가 지원하는 대부분의 연산자를 사용하면 SageMaker 훈련 컴파일러를 통해 이러한 모델을 더 빠르게 훈련할 수 있습니다. 컴파일 가능한 모델에는 `bert-base-cased`, `bert-base-chinese`, `bert-base-uncased`, `distilbert-base-uncased`, `distilbert-base-uncased-finetuned-sst-2-english`, `gpt2`, `roberta-base`, `roberta-large`, `t5-base`, `xlm-roberta-base` 등이 포함되며 이에 국한되지 않습니다. 컴파일러는 대부분의 DL 연산자 및 데이터 구조에서 작동하며 테스트된 모델 이상으로 다른 많은 DL 모델을 가속화할 수 있습니다.

**Q. 테스트되지 않은 모델로 SageMaker 훈련 컴파일러를 활성화하면 어떻게 됩니까?**

테스트되지 않은 모델의 경우 먼저 SageMaker 훈련 컴파일러와 호환되도록 훈련 스크립트를 수정해야 할 수 있습니다. 자세한 내용은 [자체 딥 러닝 모델 사용](training-compiler-modify-scripts.md)에서 훈련 스크립트 준비 방법에 대한 지침을 참조하고 따르세요.

훈련 스크립트를 업데이트한 후에 훈련 작업을 시작할 수 있습니다. 컴파일러는 모델 컴파일을 진행합니다. 그러나 테스트되지 않은 모델의 경우 훈련 속도가 기준에 비해 증가하지 않을 수 있으며 오히려 감소할 수도 있습니다. 속도 향상의 이점을 얻으려면 `batch_size` 및 `learning_rate`와(과) 같은 훈련 파라미터를 다시 조정해야 할 수도 있습니다.

테스트되지 않은 모델의 컴파일이 실패하면 컴파일러에서 오류가 반환됩니다. 실패 유형 및 오류 메시지에 대한 자세한 내용은 [SageMaker 훈련 컴파일러 문제 해결](training-compiler-troubleshooting.md)을(를) 참조하세요.

**Q. SageMaker 훈련 컴파일러를 사용하면 항상 훈련 작업을 더 빠르게 수행할 수 있습니까?**

반드시 그렇지는 않습니다. 먼저 SageMaker 훈련 컴파일러는 진행 중인 훈련 프로세스를 가속화하기 전에 약간의 컴파일 오버헤드를 추가합니다. 최적화된 훈련 작업은 훈련 작업 초기에 증가한 컴파일 오버헤드를 상쇄하고 이를 보충할 수 있을 만큼 충분히 오래 실행되어야 합니다.

또한 다른 모델 훈련 프로세스와 마찬가지로 최적이 아닌 파라미터를 사용하여 훈련하면 훈련 시간이 늘어날 수 있습니다. SageMaker 훈련 컴파일러는 예를 들어 작업의 메모리 사용량을 변경하는 등 훈련 작업의 특성을 변경할 수 있습니다. 이러한 차이로 인해 훈련 속도를 높이려면 훈련 작업 파라미터를 다시 조정해야 할 수 있습니다. 다양한 인스턴스 유형과 모델을 사용하는 훈련 작업에 가장 적합한 파라미터를 지정하는 참조 테이블은 [테스트 완료 모델](training-compiler-support.md#training-compiler-tested-models)에서 찾을 수 있습니다.

마지막으로, 훈련 스크립트의 일부 코드는 오버헤드를 증가시키거나 컴파일된 계산 그래프를 방해하여 훈련 속도를 늦출 수 있습니다. 사용자 지정된 모델이나 테스트되지 않은 모델로 작업하는 경우 [PyTorch/XLA로 SageMaker Training Compiler를 사용하는 모범 사례](training-compiler-pytorch-models.md#training-compiler-pytorch-models-best-practices)의 지침을 참조하세요.

**Q. SageMaker 훈련 컴파일러에서 항상 더 큰 배치 크기를 사용할 수 있습니까?**

항상은 아니지만 대부분의 경우 배치 크기가 증가합니다. SageMaker 훈련 컴파일러에서 수행한 최적화는 메모리 사용량과 같은 훈련 작업의 특성을 변경할 수 있습니다. 일반적으로 훈련 컴파일러 작업은 네이티브 프레임워크를 사용하는 컴파일되지 않은 훈련 작업보다 메모리를 적게 차지하므로 훈련 중에 배치 크기가 더 커질 수 있습니다. 배치 크기를 늘리고 이에 따라 학습률을 조정하면 훈련 처리량이 증가하고 총 훈련 시간이 줄어들 수 있습니다.

하지만 SageMaker 훈련 컴파일러가 최적화 체계에 따라 실제로 메모리 사용량을 늘리는 경우가 있을 수 있습니다. 컴파일러는 분석 비용 모델을 사용하여 컴퓨팅 집약적인 연산자의 실행 비용이 가장 낮은 실행 일정을 예측합니다. 이 모델은 메모리 사용을 늘리는 최적의 일정을 찾을 수 있습니다. 이 경우 배치 크기를 늘릴 수는 없겠지만 샘플 처리량은 여전히 더 높을 것입니다.

**Q. SageMaker Training Compiler는 SageMaker AI 분산 훈련 라이브러리 및 SageMaker 디버거와 같은 다른 SageMaker 훈련 기능과 함께 작동합니까?**

SageMaker Training Compiler는 현재 SageMaker AI의 분산 훈련 라이브러리와 호환되지 않습니다.

SageMaker 훈련 컴파일러와 SageMaker 디버거는 호환되지만 디버거가 오버헤드를 추가하여 계산 성능을 저하시킬 수 있습니다.

**Q. SageMaker 훈련 컴파일러는 사용자 지정 컨테이너(자체 컨테이너 사용)를 지원합니까?**

SageMaker 훈련 컴파일러는 AWS 딥 러닝 컨테이너를 통해 제공되며 컨테이너의 하위 집합을 확장하여 사용 사례에 맞게 사용자 지정할 수 있습니다. AWS DLCs에서 확장되는 컨테이너는 SageMaker 훈련 컴파일러에서 지원됩니다. 자세한 내용은 [지원되는 프레임워크](https://docs.aws.amazon.com/sagemaker/latest/dg/training-compiler-support.html#training-compiler-supported-frameworks) 및 [SageMaker AI Python SDK 사용 및 SageMaker AI 프레임워크 딥 러닝 컨테이너 확장](training-compiler-enable-tensorflow.md#training-compiler-enable-tensorflow-sdk-extend-container)을(를) 참조하세요. 추가 지원이 필요한 경우 [AWS 지원](https://console.aws.amazon.com/support/) 또는 [Amazon SageMaker AI AWS 개발자 포럼](https://forums.aws.amazon.com/forum.jspa?forumID=285)을 통해 SageMaker AI 팀에 문의하세요.