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

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

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

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

전체 코드 예제는 https://github.com/awslabs/amazon-sagemaker-examples/tree/master/reinforcement-learning에서 샘플 노트북을 참조하십시오.

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

    1. 목표—원하는 로드 프로파일과 일치하도록 인스턴스 용량을 확장합니다.

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

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

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

    5. 보상—성공적인 거래에 대한 긍정적인 보상과 지정된 임계값을 초과한 실패한 거래에 대한 높은 페널티

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

  3. 사전 설정 정의사전 설정은 RL 교육 작업을 구성하고 RL 알고리즘에 대한 하이퍼파라미터를 정의합니다.

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

  5. RL 모델 훈련시키기—세이지메이커 사용RLEstimatorAmazon SageMaker Python SDKRL 교육 작업을 시작합니다. 로컬 모드를 사용하는 경우에는 훈련 작업이 노트북 인스턴스에서 실행됩니다. 훈련에 SageMaker를 사용하는 경우 GPU 또는 CPU 인스턴스를 선택할 수 있습니다. 훈련 작업의 결과는 로컬 모드에서 훈련하는 경우에는 로컬 디렉터리에, SageMaker 훈련을 사용하는 경우에는 Amazon S3 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 모델 배포—마지막으로, 를 사용하여 SageMaker 컨테이너에서 호스팅되는 엔드포인트 또는 엣지 디바이스에 훈련된 모델을 배포합니다.AWS IoT Greengrass.

SageMaker에서 RL을 사용하는 방법은 SageMaker Python SDK에서 RL 사용을 참조하십시오.