기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
-
지표를 에 게시하기 위한 정책이 있도록 IAM 사용자를 생성하거나 기존 사용자를 수정합니다 CloudWatch. 새로 사용자를 생성하는 경우에는 다음 단계에서 필요할 수 있기 때문에 자격 증명을 적어두십시오.
검색할 IAM 정책은 “cloudwatch:PutMetricData”입니다. 추가된 정책은 다음과 같습니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
작은 정보
IAM 사용자 생성 및 에 대한 정책 추가에 대한 자세한 내용은 CloudWatch 설명서 섹션을 CloudWatch참조하세요.
-
에서 AWS 구성을 DLAMI실행하고 IAM 사용자 자격 증명을 지정합니다.
$
aws configure -
실행에 앞서 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
.
-
-
현재, 스크립트는 Python 3만 지원합니다. 기본 프레임워크의 Python 3 환경을 활성화하거나 DLAMI 일반 Python 3 환경을 활성화합니다.
$
source activate python3 -
배경에서 gpumon 유틸리티를 실행합니다.
(python3)$
python gpumon.py & -
브라우저를 로 연 https://console.aws.amazon.com/cloudwatch/
다음 지표를 선택합니다. 네임스페이스가 'DeepLearningTrain'입니다. 작은 정보
gpumon.py를 수정하여 네임스페이스를 변경할 수 있습니다. 또한
store_reso
을 조정하여 보고 간격을 수정할 수도 있습니다.
다음은 p2.8xlarge 인스턴스에서 훈련 작업을 모니터링하는 gpumon.py 실행에 대한 예제 CloudWatch 차트 보고입니다.
GPU 모니터링 및 최적화에 대한 다음과 같은 다른 주제에 관심이 있을 수 있습니다.