GPUs 를 사용하여 모니터링 CloudWatch - AWS Deep Learning AMIs

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

GPUs 를 사용하여 모니터링 CloudWatch

와 DLAMI 함께 를 사용하면 훈련 또는 추론 중에 사용량을 추적할 방법을 찾고 있을 GPU 수 있습니다. 이는 데이터 파이프라인을 최적화하고 딥 러닝 네트워크를 튜닝할 때 유용할 수 있습니다.

를 사용하여 GPU 지표를 구성하는 방법은 두 가지가 있습니다 CloudWatch.

AWS CloudWatch 에이전트를 사용하여 지표 구성(권장)

통합 CloudWatch 에이전트DLAMI와 통합하여 GPU 지표를 구성하고 Amazon EC2 가속 인스턴스의 GPU 공동 프로세스 사용률을 모니터링합니다.

를 사용하여 GPU 지표를 구성하는 네 가지 방법이 있습니다DLAMI.

업데이트 및 보안 패치에 관한 자세한 내용은 AWS CloudWatch 에이전트에 대한 보안 패치를 참조하세요.

사전 조건

시작하려면 EC2 인스턴스가 지표를 로 푸시할 수 있도록 Amazon 인스턴스 IAM 권한을 구성해야 합니다 CloudWatch. 자세한 단계는 CloudWatch 에이전트 에 사용할 IAM 역할 및 사용자 생성을 참조하세요.

최소 GPU 지표 구성

dlami-cloudwatch-agent@minimal systemd 서비스를 사용하여 최소 GPU 지표를 구성합니다. 이 서비스의 지표 구성은 다음과 같습니다.

  • utilization_gpu

  • utilization_memory

다음 위치에서 사전 구성된 최소 GPU 지표에 대한 systemd 서비스를 찾을 수 있습니다.

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-minimal.json

다음 명령을 사용하여 systemd 서비스를 활성화하고 시작합니다.

sudo systemctl enable dlami-cloudwatch-agent@minimal sudo systemctl start dlami-cloudwatch-agent@minimal

부분 GPU 지표 구성

dlami-cloudwatch-agent@partial systemd 서비스를 사용하여 부분 GPU 지표를 구성합니다. 이 서비스의 지표 구성은 다음과 같습니다.

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

사전 구성된 부분 GPU 지표에 대한 systemd 서비스는 다음 위치에서 찾을 수 있습니다.

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-partial.json

다음 명령을 사용하여 systemd 서비스를 활성화하고 시작합니다.

sudo systemctl enable dlami-cloudwatch-agent@partial sudo systemctl start dlami-cloudwatch-agent@partial

사용 가능한 모든 GPU 지표 구성

dlami-cloudwatch-agent@all systemd 서비스를 사용하여 사용 가능한 모든 GPU 지표를 구성합니다. 이 서비스의 지표 구성은 다음과 같습니다.

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

  • temperature_gpu

  • power_draw

  • fan_speed

  • pcie_link_gen_current

  • pcie_link_width_current

  • encoder_stats_session_count

  • encoder_stats_average_fps

  • encoder_stats_average_latency

  • clocks_current_graphics

  • clocks_current_sm

  • clocks_current_memory

  • clocks_current_video

다음 위치에서 사용 가능한 모든 사전 구성된 GPU 지표에 대한 systemd 서비스를 찾을 수 있습니다.

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-all.json

다음 명령을 사용하여 systemd 서비스를 활성화하고 시작합니다.

sudo systemctl enable dlami-cloudwatch-agent@all sudo systemctl start dlami-cloudwatch-agent@all

사용자 지정 GPU 지표 구성

사전 구성된 지표가 요구 사항을 충족하지 않는 경우 사용자 지정 CloudWatch 에이전트 구성 파일을 생성할 수 있습니다.

사용자 지정 구성 파일 생성

사용자 지정 구성 파일을 생성하려면 CloudWatch 에이전트 구성 파일 수동 생성 또는 편집의 세부 단계를 참조하세요.

이 예제에서는 스키마 정의 위치를 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json이라고 가정합니다.

사용자 지정 파일로 지표 구성

다음 명령을 실행하여 사용자 지정 파일에 따라 CloudWatch 에이전트를 구성합니다.

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ -a fetch-config -m ec2 -s -c \ file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

AWS CloudWatch 에이전트에 대한 보안 패치

새로 릴리스된 DLAMIs 는 사용 가능한 최신 AWS CloudWatch 에이전트 보안 패치로 구성됩니다. 선택한 운영 체제에 따라 최신 보안 패치DLAMI로 현재 를 업데이트하려면 다음 섹션을 참조하세요.

Amazon Linux 2

yum 를 사용하여 Amazon Linux 2 에 대한 최신 AWS CloudWatch 에이전트 보안 패치를 가져옵니다DLAMI.

sudo yum update

Ubuntu

Ubuntu가 DLAMI 포함된 에 대한 최신 AWS CloudWatch 보안 패치를 가져오려면 Amazon S3 다운로드 링크를 사용하여 AWS CloudWatch 에이전트를 다시 설치해야 합니다.

wget https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

Amazon S3 다운로드 링크를 사용하여 AWS CloudWatch 에이전트를 설치하는 방법에 대한 자세한 내용은 서버에서 CloudWatch 에이전트 설치 및 실행을 참조하세요.

사전 설치된 gpumon.py 스크립트로 지표를 구성합니다.

gpumon.py이라는 유틸리티는 에 사전 설치되어 있습니다DLAMI. 메모리GPU, GPU 온도 CloudWatch 및 GPU 전력 등 사용량별GPU 모니터링과 통합되고 이를 지원합니다. 스크립트는 모니터링된 데이터를 주기적으로 로 전송합니다 CloudWatch. 스크립트에서 몇 가지 설정을 변경 CloudWatch 하여 전송되는 데이터의 세분화 수준을 구성할 수 있습니다. 그러나 스크립트를 시작하기 전에 지표를 수신 CloudWatch 하도록 를 설정해야 합니다.

를 사용하여 GPU 모니터링을 설정하고 실행하는 방법 CloudWatch
  1. 지표를 에 게시하기 위한 정책이 있도록 IAM 사용자를 생성하거나 기존 사용자를 수정합니다 CloudWatch. 새로 사용자를 생성하는 경우에는 다음 단계에서 필요할 수 있기 때문에 자격 증명을 적어두십시오.

    검색할 IAM 정책은 “cloudwatch:PutMetricData”입니다. 추가된 정책은 다음과 같습니다.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
    작은 정보

    IAM 사용자 생성 및 에 대한 정책 추가에 대한 자세한 내용은 CloudWatch 설명서 섹션을 CloudWatch참조하세요.

  2. 에서 AWS 구성을 DLAMI실행하고 IAM 사용자 자격 증명을 지정합니다.

    $ aws configure
  3. 실행에 앞서 gpumon 유틸리티를 약간 수정해야 할 수 있습니다. 다음 코드 블록에 정의된 README 위치에서 Gpumon 유틸리티 및 를 찾을 수 있습니다. gpumon.py 스크립트에 대한 자세한 내용은 스크립트의 Amazon S3 위치를 참조하세요.

    Folder: ~/tools/GPUCloudWatchMonitor Files: ~/tools/GPUCloudWatchMonitor/gpumon.py ~/tools/GPUCloudWatchMonitor/README

    옵션:

    • 인스턴스가 us-east-1NOT에 있는 경우 gpumon.py 리전을 변경합니다.

    • namespace 또는 보고 기간과 같은 CloudWatch 다른 파라미터를 로 변경합니다store_reso.

  4. 현재, 스크립트는 Python 3만 지원합니다. 기본 프레임워크의 Python 3 환경을 활성화하거나 DLAMI 일반 Python 3 환경을 활성화합니다.

    $ source activate python3
  5. 배경에서 gpumon 유틸리티를 실행합니다.

    (python3)$ python gpumon.py &
  6. 브라우저를 로 연 https://console.aws.amazon.com/cloudwatch/ 다음 지표를 선택합니다. 네임스페이스가 'DeepLearningTrain'입니다.

    작은 정보

    gpumon.py를 수정하여 네임스페이스를 변경할 수 있습니다. 또한 store_reso을 조정하여 보고 간격을 수정할 수도 있습니다.

다음은 p2.8xlarge 인스턴스에서 훈련 작업을 모니터링하는 gpumon.py 실행에 대한 예제 CloudWatch 차트 보고입니다.

GPU 에서 모니터링 CloudWatch

GPU 모니터링 및 최적화에 대한 다음과 같은 다른 주제에 관심이 있을 수 있습니다.