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 RLEstimator SageMaker Python에서 SDK 를 사용하여 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 모델 배포 - 마지막으로 를 사용하여 SageMaker 컨테이너에 호스팅된 엔드포인트 또는 에지 디바이스에 호스팅된 엔드포인트에 학습된 모델을 배포합니다. AWS IoT Greengrass

를 사용한 SageMaker RL에 대한 자세한 내용은 SageMaker Python에서 RL 사용을 참조하십시오. SDK