Amazon SageMaker RL을 사용한 샘플 RL 워크플로 - 아마존 SageMaker

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

Amazon SageMaker RL을 사용한 샘플 RL 워크플로

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

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

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

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

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

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

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

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

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

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

  5. RL 모델 교육 - Amazon SageMaker Python SDK의 SageMaker RLEstimator를 사용하여 RL 훈련 작업을 시작합니다. 로컬 모드를 사용하는 경우에는 훈련 작업이 노트북 인스턴스에서 실행됩니다. 훈련에 SageMaker를 사용하는 경우 사용자는 GPU 또는 CPU 인스턴스를 선택할 수 있습니다. 훈련 작업의 결과는 로컬 모드에서 훈련하는 경우에는 로컬 디렉터리에, SageMaker 교육을 사용하는 경우에는 Amazon S3에 저장합니다.

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

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

    2. 훈련 스크립트 경로

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

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

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

  6. 훈련 지표 및 결과 시각화 - RL 모델을 사용하는 훈련 작업이 완료된 후 사용자는 CloudWatch에서 훈련 작업에서 정의한 지표를 볼 수 있습니다. 또한 Amazon SageMaker Python SDK 분석 라이브러리를 사용하여 노트북에서 지표를 그래프로 작성할 수도 있습니다. 지표를 시각화하면 보상으로 측정되는 모델의 성능이 시간이 흐름에 따라 어떻게 개선되는지 확인할 수 있습니다.

    참고

    로컬 모드에서 훈련하는 경우에는 CloudWatch에서 지표를 시각화할 수 없습니다.

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

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

SageMaker에서 RL을 사용하는 방법은 SageMaker Python SDK에서 RL 사용을 참조하세요.