

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

# Amazon SageMaker AI RL을 사용한 샘플 RL 워크플로
<a name="sagemaker-rl-workflow"></a>

다음 예시에서는 Amazon SageMaker AI RL을 사용한 RL 모델 개발 단계에 대해 설명합니다.

1. **RL 문제 공식화** - 먼저 비즈니스 문제를 RL 문제로 공식화합니다. 예를 들어, 자동 조정을 사용하면 정의한 조건에 따라 서비스가 용량을 동적으로 늘리거나 줄일 수 있습니다. 현재, 이렇게 하려면 경보, 크기 조정 정책, 임곗값 및 기타 수동 단계를 설정해야 합니다. RL을 사용하여 이러한 문제를 해결하기 위해 마코프 의사결정 과정의 다음 구성 요소를 정의합니다.

   1. **목표** - 원하는 로드 프로필과 일치하도록 인스턴스 용량을 조정합니다.

   1. **환경** - 로드 프로필이 포함된 사용자 지정 환경입니다. 일별 및 주별 변형 및 일시적 급증을 고려해 시뮬레이션된 로드를 생성합니다. 시뮬레이션된 시스템에는 새 리소스를 요청하는 경우와 새 리소스를 요청 제공에 사용할 수 있는 경우 간에 지연이 있습니다.

   1. **상태** - 현재 로드, 실패한 작업 수 및 활성 시스템 수

   1. **조치** - 동일한 수의 인스턴스를 제거, 추가 또는 유지합니다.

   1. **보상** - 성공적인 거래에 대해서는 긍정적인 보상을, 지정된 임곗값을 초과하는 거래에 대해서는 높은 벌금을 부과합니다.

1. **RL 환경 정의** - RL 환경은 RL 에이전트가 상호 작용하는 실제 세계일 수도 있고 실제 세계의 시뮬레이션일 수도 있습니다. 사용자는 Gym 인터페이스를 사용하여 개발된 오픈 소스 환경 및 사용자 지정 환경과 MATLAB 및 SimuLink와 같은 상업용 시뮬레이션 환경을 연결할 수 있습니다.

1. **프리셋 정의** - 프리셋은 RL 훈련 작업을 구성하고 RL 알고리즘의 하이퍼파라미터를 정의합니다.

1. **훈련 코드 작성** - 훈련 코드를 Python 스크립트로 작성해 SageMaker AI 훈련 작업에 전달합니다. 훈련 코드에서, 환경 파일과 사전 설정 파일을 가져온 후 `main()` 함수를 정의합니다.

1. **RL 모델 훈련** - [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)의 SageMaker AI `RLEstimator`를 사용하여 RL 훈련 작업을 시작합니다. 로컬 모드를 사용하는 경우에는 훈련 작업이 노트북 인스턴스에서 실행됩니다. 훈련에 SageMaker AI를 사용하는 경우 사용자는 GPU 또는 CPU 인스턴스를 선택할 수 있습니다. 훈련 작업의 결과는 로컬 모드에서 훈련하는 경우에는 로컬 디렉터리에, SageMaker AI 훈련을 사용하는 경우에는 Amazon S3에 저장합니다.

   `RLEstimator`에는 다음 정보가 파라미터로 필요합니다.

   1. 환경, 사전 설정 및 훈련 코드가 업로드되는 소스 디렉터리

   1. 훈련 스크립트 경로

   1. 사용하려는 RL 도구 키트 및 딥 러닝 프레임워크. RL 컨테이너에 대한 Amazon ECR 경로를 자동으로 확인합니다.

   1. 훈련 파라미터(예: 인스턴스 수, 작업 이름 및 출력을 위한 S3 경로)

   1. 로그에서 캡처하려는 지표 정의. 이러한 정의는 CloudWatch 및 SageMaker AI 노트북에서도 시각화할 수 있습니다.

1. **훈련 지표 및 결과 시각화** - RL 모델을 사용하는 훈련 작업이 완료된 후 사용자는 CloudWatch에서 훈련 작업에서 정의한 지표를 볼 수 있습니다. 또한 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) 분석 라이브러리를 사용하여 노트북에서 지표를 그래프로 작성할 수도 있습니다. 지표를 시각화하면 보상으로 측정되는 모델의 성능이 시간이 흐름에 따라 어떻게 개선되는지 확인할 수 있습니다.
**참고**  
로컬 모드에서 훈련하는 경우에는 CloudWatch에서 지표를 시각화할 수 없습니다.

1. **모델 평가** - 검사 채널에서 평가 및 추론을 위해 이전에 훈련된 모델의 체크포인트 데이터를 전달할 수 있습니다. 로컬 모드에서는 로컬 디렉터리를 사용합니다. SageMaker AI 훈련 모드에서는 먼저, 데이터를 S3로 업로드해야 합니다.

1. **RL 모델 배포** - 마지막으로를 사용하여 SageMaker AI 컨테이너 또는 엣지 디바이스에서 호스팅되는 엔드포인트에 훈련된 모델을 배포합니다 AWS IoT Greengrass.

SageMaker AI에서 RL을 사용하는 방법은 [SageMaker Python SDK에서 RL 사용](https://sagemaker.readthedocs.io/en/stable/using_rl.html)을 참조하세요.