다음을 사용하여 GPU를 모니터링하십시오. CloudWatch - 딥 러닝 AMI

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

다음을 사용하여 GPU를 모니터링하십시오. CloudWatch

GPU에서 DLAMI를 사용할 때는 교육 또는 추론 동안 사용량을 추적하는 방법을 찾고 있는 경우일 수 있습니다. 이는 데이터 파이프라인을 최적화하고 딥 러닝 네트워크를 튜닝할 때 유용할 수 있습니다.

다음과 같은 두 가지 방법으로 GPU 메트릭을 구성할 수 있습니다. CloudWatch

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

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

DLAMI를 사용하여 GPU 지표를 구성하는 방법은 네 가지입니다.

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

사전 조건

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

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 대한 보안 패치

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

Amazon Linux 2

Amazon Linux 2 DLAMI용 최신 AWS CloudWatch 에이전트 보안 패치를 다운로드하는 yum 데 사용합니다.

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 온도, GPU 전력과 CloudWatch 통합되고 GPU별 사용량 모니터링을 지원합니다. 스크립트는 모니터링된 데이터를 주기적으로 로 전송합니다. CloudWatch 스크립트에서 몇 가지 설정을 CloudWatch 변경하여 전송 대상 데이터의 세분화 수준을 구성할 수 있습니다. 하지만 스크립트를 시작하기 전에 메트릭을 CloudWatch 수신하도록 설정해야 합니다.

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

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

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
  2. DLAMI에서 AWS 구성을 실행하고 IAM 사용자 자격 증명을 지정합니다.

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

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

    옵션:

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

    • 를 사용하여 CloudWatch namespace 또는 보고 기간과 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을 조정하여 보고 간격을 수정할 수도 있습니다.

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

GPU 모니터링 켜짐 CloudWatch

GPU 모니터링 및 최적화에 대한 이러한 기타 주제들에 관심이 있을 수 있습니다.