생성 데이터 인텔리전스

AWS CDK를 사용하여 훈련 및 로그 분석을 위한 AWS DeepRacer 환경 구성

시간

이 게시물은 Accenture의 클라우드 설계자인 Zdenko Estok과 Accenture의 DeepRacer SME인 Sakar Selimcan이 공동 작성했습니다.

대다수의 산업(의료에서 보험, 제조에서 마케팅에 이르기까지)에서 인공 지능(AI) 및 기계 학습(ML)의 사용이 증가함에 따라 모델을 대규모로 구축하고 훈련할 때 주요 초점은 효율성으로 이동하고 있습니다. 확장 가능하고 번거롭지 않은 데이터 사이언스 환경을 만드는 것이 핵심입니다. 특정 사용 사례에 맞게 조정된 환경을 시작하고 구성하는 데 상당한 시간이 걸릴 수 있으며 온보딩 동료가 협업하기가 더 어려울 수 있습니다.

에 따르면 Accenture, AI 및 ML을 효율적으로 확장하는 기업은 투자 수익을 거의 XNUMX배로 달성할 수 있습니다. 그러나 모든 기업이 AI/ML 여정에서 기대 수익을 달성하는 것은 아닙니다. 인프라를 자동화하는 툴킷은 기업 내 AI/ML 노력의 수평적 확장에 필수적입니다.

AWS 딥레이서 에이전트가 주어진 환경에서 취할 최적의 조치를 발견하는 ML 기술인 강화 학습(RL)을 시작하는 간단하고 재미있는 방법입니다. 우리의 경우 트랙에서 빠르게 경주하려는 AWS DeepRacer 차량이 될 것입니다. RL 모델 학습의 기본 사항을 안내하고 흥미진진하고 자율주행 자동차 경주 체험.

이 게시물은 기업이 코드형 인프라(IaC)를 사용하는 방법을 보여줍니다. AWS 클라우드 개발 키트 (AWS CDK)를 사용하여 전송 가능성이 높은 인프라의 생성 및 복제를 가속화하고 AWS DeepRacer 이벤트를 대규모로 쉽게 경쟁할 수 있습니다.

"관리형 Jupyter 환경과 결합된 IaC는 우리에게 두 가지 장점을 모두 제공했습니다. 즉, 우리가 AWS DeepRacer 경쟁자를 온보딩하여 가장 잘하는 것, 즉 빠른 모델을 빠르게 훈련시키는 데 집중할 수 있도록 반복 가능하고 전송 가능한 데이터 과학 환경을 제공했습니다."

– Selimcan Sakar, Accenture의 AWS DeepRacer SME.

솔루션 개요

여러 사용 사례에 적용할 수 있는 확장 가능한 템플릿을 만들 때 필요한 모든 서비스를 오케스트레이션하는 데 상당한 시간이 걸립니다. 과거에, AWS 클라우드 포메이션 이러한 서비스 생성을 자동화하기 위해 템플릿이 생성되었습니다. IaC 도구로 다양한 환경을 설정하기 위해 추상화 수준이 높아지면서 자동화 및 구성이 발전함에 따라 AWS CDK는 다양한 기업에서 널리 채택되고 있습니다. AWS CDK는 클라우드 애플리케이션 리소스를 정의하는 오픈 소스 소프트웨어 개발 프레임워크입니다. 안전하고 반복 가능한 방식으로 리소스를 프로비저닝하면서 애플리케이션을 모델링하기 위해 프로그래밍 언어의 친숙함과 표현력을 사용합니다.

이 게시물에서는 다음을 사용하여 로그 분석을 수행하는 데 필요한 다양한 구성 요소의 프로비저닝을 활성화합니다. 아마존 세이지 메이커 AWS CDK를 통해 AWS DeepRacer에서 구성.

DeepRacer 콘솔에 제공되는 분석 그래프는 부여된 보상과 달성한 진행 상황에 대해 효과적이고 간단하지만 자동차가 웨이포인트를 통해 얼마나 빨리 이동하는지 또는 자동차가 트랙 주변에서 어떤 종류의 라인을 선호하는지에 대한 통찰력을 제공하지 않습니다. . 여기에서 고급 로그 분석이 시작됩니다. 우리의 고급 로그 분석은 여러 모델을 훈련할 때 어떤 보상 기능과 행동 공간이 다른 것보다 더 잘 작동하는지, 그리고 모델이 과적합되는지 여부를 이해하기 위해 소급적으로 훈련의 효율성을 가져오는 것을 목표로 합니다.

당사의 솔루션은 AWS DeepRacer 이벤트에 대해 AWS에서 SageMaker 로그 분석 및 강화 학습을 실험하는 사용자의 여정을 가속화하기 위해 AWS CDK를 사용하는 AWS DeepRacer 환경 구성을 설명합니다.

관리자는 다음에서 제공되는 AWS CDK 스크립트를 실행할 수 있습니다. GitHub 레포 를 통해 AWS 관리 콘솔 또는 환경에서 코드를 로드한 후 터미널에서. 단계는 다음과 같습니다.

  1. 엽니다 AWS 클라우드9 콘솔에.
  2. GitHub에서 AWS CDK 모듈을 AWS Cloud9 환경으로 로드합니다.
  3. 이 게시물에 설명된 대로 AWS CDK 모듈을 구성합니다.
  4. cdk.context.json 파일을 열고 모든 매개변수를 검사합니다.
  5. 필요에 따라 파라미터를 수정하고 의도한 페르소나로 AWS CDK 명령을 실행하여 해당 페르소나에 맞게 구성된 환경을 시작합니다.

다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

cdk 아치

AWS CDK의 도움으로 프로비저닝된 리소스의 버전을 제어하고 엔터프라이즈 수준의 모범 사례를 준수하는 전송 가능성이 높은 환경을 가질 수 있습니다.

사전 조건

AWS CDK로 ML 환경을 프로비저닝하려면 다음 전제 조건을 완료하십시오.

  1. 다른 페르소나에 필요한 리소스를 배포하기 위해 리전 내에서 AWS 계정 및 권한에 액세스할 수 있습니다. 계정에 AWS CDK 스택을 배포할 수 있는 자격 증명과 권한이 있는지 확인하십시오.
  2. 다음 리소스에 자세히 설명된 개념을 통해 강조 표시된 특정 모범 사례를 따르는 것이 좋습니다.
  3. 클론 GitHub 레포 당신의 환경에.

계정에 포트폴리오 배포

이 배포에서는 AWS Cloud9을 사용하여 AWS CDK를 사용하는 데이터 과학 환경을 생성합니다.

  1. AWS Cloud9 콘솔로 이동합니다.
  2. 환경 유형, 인스턴스 유형 및 플랫폼을 지정합니다.

  1. 귀하의 AWS 자격 증명 및 액세스 관리 (IAM) 역할, VPC 및 서브넷.

  1. AWS Cloud9 환경에서 DeepRacer라는 새 폴더를 생성합니다.
  2. 다음 명령을 실행하여 AWS CDK를 설치하고 포트폴리오를 배포하기 위한 올바른 종속성이 있는지 확인합니다.
npm install -g aws-cdk

  1. AWS CDK가 설치되었는지 확인하고 문서에 액세스하려면 터미널에서 다음 명령을 실행하십시오(AWS CDK 문서로 리디렉션되어야 함).
  1. 이제 다음에서 AWS DeepRacer 리포지토리를 복제할 수 있습니다. GitHub의.
  2. AWS Cloud9에서 복제된 리포지토리를 엽니다.
cd DeepRacer_cdk

에서 내용을 검토한 후 DeepRacer_cdk 디렉토리에 다음과 같은 파일이 있을 것입니다. package.json 필요한 모든 모듈과 종속성이 정의되어 있습니다. 여기에서 모듈의 리소스를 정의할 수 있습니다.

  1. 다음으로 AWS CDK 앱에 필요한 모든 모듈과 종속성을 설치합니다.
npm install cdk synth

그러면 해당 CloudFormation 템플릿이 합성됩니다.

  1. 배포를 실행하려면 매개변수 이름으로 context.json 파일을 변경하거나 런타임 중에 이를 명시적으로 정의합니다.
cdk deploy

스크립트 실행을 기반으로 AWS DeepRacer 로그 분석을 위해 다음 구성 요소가 생성됩니다.

  • An IAM 역할 관리형 정책이 있는 SageMaker 노트북의 경우
  • A SageMaker 노트북 인스턴스 cdk 컨텍스트 매개변수로 명시적으로 추가된 인스턴스 유형 또는 context.json 파일에 저장된 기본값
  • 구성된 XNUMX개의 퍼블릭 서브넷과 함께 context.json 파일에 지정된 CIDR이 있는 VPC
  • VPC 내 통신을 허용하는 Sagemaker 노트북 인스턴스의 새로운 보안 그룹
  • 다른 콘텐츠를 미리 로드하는 bash 스크립트가 포함된 SageMaker 수명 주기 정책 GitHub 저장소, AWS DeepRacer 모델에서 로그 분석을 실행하는 데 사용하는 파일이 포함되어 있습니다.

  1. 다음과 같이 AWS CDK 스택을 실행할 수 있습니다.
$ cdk deploy

  1. 스택이 배포된 리전의 AWS CloudFormation 콘솔로 이동하여 리소스를 확인합니다.

이제 사용자는 이러한 서비스를 사용하여 AWS DeepRacer용 SageMaker에서 로그 분석 및 심층 RL 모델 교육 작업을 시작할 수 있습니다.

모듈 테스트

스택을 배포하기 전에 몇 가지 단위 테스트를 실행하여 필요한 리소스를 실수로 제거하지 않았는지 확인할 수도 있습니다. 단위 테스트는 다음 위치에 있습니다. DeepRacer/test/deep_racer.test.ts 다음 코드로 실행할 수 있습니다.

npm run test

cdk-dia를 사용하여 다이어그램 생성

다이어그램을 생성하려면 다음 단계를 완료하십시오.

  1. 설치 graphviz 운영 체제 도구 사용:
npm -g cdk-dia

그러면 cdk-dia 애플리케이션이 설치됩니다.

  1. 이제 다음 코드를 실행합니다.

AWS CDK 스택의 그래픽 표현은 .png 형식으로 저장됩니다.

이전 단계를 실행한 후 상태가 있는 노트북 인스턴스의 생성 프로세스를 볼 수 있어야 합니다. 대기중. 노트북 인스턴스의 상태가 서비스 (다음 스크린샷과 같이), 다음 단계를 진행할 수 있습니다.

  1. 왼쪽 메뉴에서 주피터 열기 로그 분석을 수행하기 위한 Python 스크립트 실행을 시작합니다.

AWS DeepRacer 및 관련 시각화를 사용한 로그 분석에 대한 자세한 내용은 다음을 참조하십시오. 로그 분석을 사용하여 실험을 진행하고 AWS DeepRacer F1 ProAm Race에서 우승.

정리

지속적인 요금 청구를 피하려면 다음 단계를 완료하십시오.

  1. cdk destroy를 사용하여 AWS CDK를 통해 생성된 리소스를 삭제합니다.
  2. AWS CloudFormation 콘솔에서 CloudFormation 스택을 삭제합니다.

결론

AWS DeepRacer 이벤트는 조직의 모든 기둥과 수준에서 관심을 높이고 ML 지식을 향상시킬 수 있는 좋은 방법입니다. 이 게시물에서는 동적 AWS DeepRacer 환경을 구성하고 선택적 서비스를 설정하여 AWS 플랫폼에서 사용자의 여정을 가속화하는 방법을 공유했습니다. 서비스 Amazon SageMaker 노트북 인스턴스, IAM 역할, 모범 사례가 포함된 SageMaker 노트북 수명 주기 구성, VPC 및 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 인스턴스는 AWS CDK를 사용하여 컨텍스트를 식별하고 AWS DeepRacer를 사용하여 다양한 사용자에 맞게 조정합니다.

CDK 환경을 구성하고 고급 로그 분석 노트북을 실행하여 모듈 실행의 효율성을 가져옵니다. 레이서가 더 짧은 시간에 더 나은 결과를 달성하고 보상 기능 및 행동에 대한 세분화된 통찰력을 얻을 수 있도록 지원합니다.

참고자료

자세한 정보는 다음 리소스에서 확인할 수 있습니다.

  1. AWS CDK를 사용하여 Amazon SageMaker Studio 설정 자동화
  2. AWS SageMaker CDK API 참조

저자에 관하여

 즈덴코 에스토크 Accenture에서 클라우드 설계자 및 DevOps 엔지니어로 일하고 있습니다. 그는 AABG와 협력하여 혁신적인 클라우드 솔루션을 개발 및 구현하고 코드형 인프라 및 클라우드 보안을 전문으로 합니다. Zdenko는 자전거를 타고 사무실에 가는 것을 좋아하고 자연 속에서 즐거운 산책을 즐깁니다.

셀림칸 "Can" Sakar Accenture의 클라우드 퍼스트 개발자이자 솔루션 설계자로서 인공 지능에 중점을 두고 있으며 모델이 수렴되는 것을 보는 데 열정을 가지고 있습니다.

시카르 콰트라 Amazon Web Services의 AI/ML 전문 솔루션 아키텍트이며 선도적인 글로벌 시스템 통합업체와 협력하고 있습니다. Shikhar는 조직을 위한 비용 효율적이고 확장 가능한 클라우드 환경의 설계, 구축 및 유지를 돕고 GSI 파트너가 AWS에서 전략적 산업 솔루션을 구축하도록 지원합니다. Shikhar는 여가 시간에 기타 연주, 작곡, 마음챙김 연습을 즐깁니다.

spot_img

최신 인텔리전스

spot_img